Zabbix之监控Mysql

1.  zabbix监控mysql基本性能

    1.  在被监控的服务器上,编写脚本

UserParameter=mysql.status[*],/server/mysql/bin/mysql -uzabbix_monitor -e "show global status where Variable_name='$1';" | grep "$1" |awk '{print $$2}'
UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema='$1'")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name='$2'");" | HOME=/usr/local/zabbix/ /server/mysql/bin/mysql -uzabbix_monitor -N
UserParameter=mysql.ping,HOME=/usr/local/zabbix/ /server/mysql/bin/mysqladmin -uzabbix_monitor ping | grep -c alive
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -V

    2.  在zabbix_agentd.conf文件中,添加内容:

        Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

    3.  创建模板,监控项,触发器,图形等,最后的效果如下

           

2.  zabbix监控mysql主从复制

    1.  在被监控的服务器上,编写脚本

        UserParameter=db_delay,mysql -uroot -p'123' -e "show slave status\G" 2>/dev/null|egrep 'Seconds_Behind_Master'|awk '{print $2}'  检查是否延迟

        UserParameter=db_status,mysql -uroot -p'123' -e "show slave status\G" 2>/dev/null|egrep 'Slave_IO_Running|Slave_SQL_Running'|grep -v 'Slave_SQL_Running_State'|awk '{print $NF}'|grep -c Yes  检查主从复制是否正常

    2.  在zabbix_agentd.conf文件中,添加内容:

        Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/db_status.conf

        Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/db_delay.conf

    3.  创建模板,监控项,触发器,图形等,最后的效果如下

                   

 

posted @ 2022-10-21 14:28  奋斗史  阅读(333)  评论(0)    收藏  举报