首页 > 代码库 > zabbix监控mysql(perl)

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]

Type = mysqld

Modules = mpm server process mysql myisam innodb


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

Type = mysqld

MysqlPort = 3306

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

本文出自 “muzinan的技术博客” 博客,请务必保留此出处http://muzinan110.blog.51cto.com/684213/1559785

zabbix监控mysql(perl)