Zabbix监控MySQL

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.sql
1

 

11

12

设置触发器

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

13

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

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

  

posted @ 2019-10-11 19:02  情浅凉心  阅读(936)  评论(0编辑  收藏  举报