天天看點

zabbix監控mysql(perl)

1.

yum install perl-libwww-perl

yum install perl-File-Which 

yum install perl-DBD-MySQL

yum install perl-Digest-SHA1

yum install perl-Time-HiRes

yum install perl-Crypt-SSLeay

2.測試

#!/usr/bin/perl -w

use DBI;

my $database = "mysql";

my $hostname = "localhost";

my $data_source = "DBI:mysql:$database:$hostname";

my $username = "root";

my $password = "123";

my $dbh = DBI->connect( $data_source,$username,$password)

or die "Cant connect to $data_source";

perl test  測試成功

3.在zabbix server端導入監控模闆 (13個模版)

Template_FromDual.MySQL.mpm.xml –>(必須)

Template_FromDual.MySQL.server.xml –>監控與資料庫相關的Linux伺服器性能模闆

Template_FromDual.MySQL.process.xml –>監控各種Linux程序

Template_FromDual.MySQL.mysql.xml –>監控Mysql的常用狀态變量

Template_FromDual.MySQL.myisam.xml –>監控Myisam存儲引擎狀态變量

Template_FromDual.MySQL.innodb.xml –>監控Innodb存儲引擎狀态變量

Template_FromDual.MySQL.master.xml –>監控Mysql Master狀态

Template_FromDual.MySQL.slave.xml –>監控Mysql Slave狀态

4.agentd

mkdir -p /usr/local/mpm

mv mysql_performance_monitor_agent-0.9 /usr/local/mpm/

cp /usr/local/mpm/etc/FromDualMySQLagent.conf.template /etc/zabbix_mpm.conf

chown zabbix /etc/zabbix_mpm.conf

#mkdir /var/log/zabbix

#touch /var/log/zabbix/FromDualMySQLagent.log

#chown -R zabbix:zabbix /var/log/zabbix

vim  /usr/local/etc/zabbix_agentd.conf

UserParameter=FromDual.MySQL.check,/usr/local/mpm/FromDualMySQLagent.pl /etc/zabbix_mpm.conf

5.配置

mpm支援監控多個執行個體

設定三個級别defaut-->host-->instanc

vim /etc/zabbix_mpm.conf

[default]

Type = mysqld

Debug = 2

LogFile = /tmp/FromDualMySQLagent.log

# Information for MySQL connections:

Username = root

Password = 123

MysqlHost = localhost

MysqlPort = 3306

Modules = process mysql myisam innodb

# Zabbix Server IP address

ZabbixServer = X.X.X.X

#下面的主機名需要跟Zabbix Server裡面定義的主機名一緻

[X.X.X.X]

Modules = mpm server process mysql myisam innodb

[mysql01-5.5.21] # This MUST match Hostname in Zabbix!

Modules = process mysql myisam slave innodb master mpm server

PidFile = /data/mysql/log/mysql.pid

修改FromDualMySQLagent.pl腳本裡面的zabbix_sender路徑:

# This is needed to find zabbix_sender!

$ENV{PATH} .= $ENV{PATH} . ‘:/usr/local/bin’; #将/usr/local/bin修改為zabbix_sender路徑

chmod 755  chown zabbix:zabbix  /usr/local/bin/zabbix_sender

繼續閱讀