Zabbix监控MySQL

半世苍凉 提交于 2019-12-01 04:56:06

Zabbix监控MySQL

  • agent

    $ vim /usr/local/zabbix/etc/zabbix_agentd.conf  # 添加自定义的目录  Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf    $ cp /usr/local/src/zabbix-3.4.15/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/  $ cd /usr/local/zabbix/etc/  # mysql会去读取里面的配置,这样可以不用在配置中写上用户名和密码  $ vim .my.cnf      [mysql]      host=localhost      user=zabbix      password=123456789      socket=/var/lib/mysql/mysql.sock      [mysqladmin]      host=localhost      user=zabbix      password=123456789      socket=/var/lib/mysql/mysql.sock  

      

socket可以通过find / -name mysql.sock去找 账号密码需要数据库授权

$ sed -i 's@/var/lib/zabbix@/usr/local/zabbix/etc@g' zabbix_agentd.conf.d/userparameter_mysql.conf 

HOME目录为刚才.mf.cnf的路径

$ vim zabbix_agentd.conf      Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf  $ service zabbix_agentd restart
  • server端测试

$ /usr/local/zabbix/bin/zabbix_get -s IP -p 10050 -k mysql.ping  1

MySQL监控项的含义解释

Namekeycomment
MySQL bytes sent per second mysql.status[Bytes_sent] 每间隔时间发给所有客户端的字节数
MySQL delete operations per second mysql.status[Com_delete] 执行delete操作的数量
MySQL bytes received per second mysql.status[Bytes_received] 每间隔从所有客户端接收到的字节数
MySQL queries per second mysql.status[Questions] 已经发送给服务器的查询
MySQL slow queries mysql.status[Slow_queries] 查询时间操作 long_query_time 秒的查询个数
MySQL begin operations per second mysql.status[Com_begin] 开启事务的次数
MySQL commit operations per second mysql.status[Com_commit] 提交事务的次数
MySQL insert operations per second mysql.status[Com_insert] 执行insert操作的数量
MySQL uptime mysql.status[Uptime] 服务器已经运行的时间
MySQL status mysql.ping mysql状态
MySQL select operations per second mysql.status[Com_select] 执行select操作的数量
MySQL update operations per second mysql.status[Com_update] 执行update操作的数量
MySQL rollback operations per second mysql.status[Com_rollback] 回滚事务的次数
MySQL version mysql.version mysql版本

 

自定义监控主从状态

在自带的监控MySQL的配置文件中,是没有监控MySQL主从状态的,所以需要自己去修改配置。

 

自定义监控项目

$ vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_status.conf  # Format: UserParameter=<key>,<shell command>  UserParameter=mysql.status.sql,,mysql -uzabbix -p'12345678' -e "show slave status\G" 2>/dev/null | grep Slave_IO_Running | awk -F":" '{print $NF}' | grep Yes | wc -l  UserParameter=mysql.status.io,mysql -uzabbix -p'12345678' -e "show slave status\G" 2>/dev/null | grep Slave_SQL_Running: | awk -F":" '{print $NF}' | grep Yes | wc -l     $ service zabbix_agentd restart  

  

检测效果(server端操作)

$ /usr/local/zabbix/bin/zabbix_get -s 172.16.142.141 -k mysql.status.sql1

 

设置触发器

多个表达式之间关系,如果是或 or 如果是和 and

根据上述的,我们可以更改我们的自定义,不在我们的配置中写上密码,增加安全性

HOME=/usr/local/zabbix/etc mysql -e "show slave status\G" 2>/dev/null | grep Slave_SQL_Running: | awk -F":" '{print $NF}' | grep Yes | wc -l  HOME=/usr/local/zabbix/etc mysql -e "show slave status\G" 2>/dev/null | grep Slave_SQL_Running: | awk -F":" '{print $NF}' | grep Yes | wc -l  

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!