micromax 发表于 2019-1-21 09:03:05

使用zabbix自带MySQL监控模板监控MySQL

  目前使用的zabbix版本是2.2.3,自带MySQL监控模板Template App MySQL,只是监控项目比较少。如果只是想对MySQL进行基本的监控,可以使用这个模板,如果要详细监控MySQL的各种信息,例如数据库的各种状态,主从复制状态,InnoDB状态等信息需要另外编写模板。后续再讨论。
  

  参考文章
  http://os.运维网.com/art/201404/435139.htm
  https://zabbix.org/mw/images/d/d4/Template_App_MySQL-2.2.0.xml
  http://blog.themilkyway.org/2013/11/how-to-monitor-mysql-using-the-new-zabbix-template-app-mysql/
  

http://s3.运维网.com/wyfs02/M00/54/82/wKioL1SFSP6jYuo5AALwCOC0hus975.bmp
http://s3.运维网.com/wyfs02/M01/54/82/wKioL1SFSQKh52grAAGE1KfbeiU355.bmp
http://s3.运维网.com/wyfs02/M01/54/84/wKiom1SFSHGD7QE6ABpw9PGA6NY524.bmp
  

  


[*]  监控原理
  建立MySQL账号
  GRANT USAGE ON *.* TO 'zabbixagent'@'localhost' IDENTIFIED BY 'zabbixagent';
  flush privileges;
  

  

  mysql和mysqladmin默认会读取连接参数的文件顺序是
  /etc/my.cnf
  /etc/mysql/my.cnf
  /usr/local/mysql/etc/my.cnf
  ~/.my.cnf
  --defaults-file=   只在指定的文件中读取默认参数
  --defaults-extra-file=    全局文件读取完后再读取指定的文件
  
    在/usr/local/zabbix/etc/目录下创建一个 .my.cnf 文件

user=zabbixagent
password=zabbixagent

user=zabbixagent
password=zabbixagent  

  例如
  mysql --defaults-extra-file=.my.cnf-v                   详细模式登陆MySQL
  mysqladmin--defaults-extra-file=.my.cnfstatus         查看MySQL Server状态
  mysqladmin--defaults-extra-file=.my.cnfping         查看MySQL Server是否存活
  

  echo "show global status where Variable_name='Uptime';"|mysql --defaults-file=.my.cnf-N
  

  2.添加zabbix子配置文件
  userparameter_mysql.conf
UserParameter=mysql.status
[*],echo "show global status where Variable_name='$1';"|mysql --defaults-file=/usr/local/zabbix/etc/.my.cnf -N|awk '{print $$2}'
UserParameter=mysql.ping,mysqladmin --defaults-file=/usr/local/zabbix/etc/.my.cnf ping|grep -calive
UserParameter=mysql.version,echo "select version();"|mysql --defaults-file=/usr/local/zabbix/etc/.my.cnf -N  

  这里要特别注意一下,awk后面的print $$2. 如果写成print $2 那么通过zabbix_get将获取不到第二列,二是直接显示正行数据。

  

  添加后重新启动zabbix-agent
  service zabbix-agent restart
  

  3.在zabbix server端或zabbix proxy利用zabbix_get命令进行取值测试
  

  $ /usr/local/zabbix/bin/zabbix_get -s 10.10.41.25 -k mysql.version
  5.5.21-log
  $ /usr/local/zabbix/bin/zabbix_get -s 10.10.41.25 -k mysql.ping
  1
  

  $ /usr/local/zabbix/bin/zabbix_get -s 10.10.41.25 -k mysql.status
  0
  

  




页: [1]
查看完整版本: 使用zabbix自带MySQL监控模板监控MySQL