zabbix 监控 MySQL 服务

使用mysql自定义模板,监控mysql性能,可以监控如下内容:OPS(增删改查)、mysql请求流量带宽,mysql响应流量带宽。

[root@zabbix-agent ~]# mysql -uroot -p123456 -e 'create user zabbix@"localhost" identified by "123456"'

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agent2.d/mysql.sh
#!/bin/bash

MYSQL_USER='zabbix'
MYSQL_PWD='123456'
MYSQL_HOST='127.0.0.1'
MYSQL_PORT='3306'
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"

if [ $# -ne "1" ];then
    echo "arg error!"
fi

case $1 in
    Threads)
        result=`${MYSQL_CONN} status |awk '{print $4}'`
        ;;
    Uptime)
        result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`
        ;;
    Com_update)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_update"|cut -d"|" -f3`
        ;;
    Slow_queries)
        result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`
        ;;
    Com_select)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3`
        ;;
    Com_rollback)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
        ;;
    Questions)
        result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`
        ;;
    Com_insert)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`
        ;;
    Com_delete)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`
        ;;
    Com_commit)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`
        ;;
    Bytes_sent)
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
        ;;
    Bytes_received)
        result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
        ;;
    Com_begin)
        result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`
        ;;
    *)
        echo "Usage:$0(Threads|Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
        ;;
esac
echo $result

[root@zabbix-agent ~]# chmod +x /etc/zabbix/zabbix_agent2.d/mysql.sh

[root@zabbix-agent ~]# vim /etc/zabbix/zabbix_agent2.d/mysql.conf
UserParameter=mysql_version,mysql -V
UserParameter=mysql_status[*],/etc/zabbix/zabbix_agent2.d/mysql.sh $1 2>/dev/null
UserParameter=mysql_ping,mysqladmin -uzabbix -p123456 -P3306 -h127.0.0.1  ping 2>/dev/null | grep -c alive

[root@zabbix-agent ~]# systemctl restart zabbix-agent2.service

root@zabbix-server:~# zabbix_get -s 192.168.1.122 -p 10050 -k "mysql_version"
mysql  Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
root@zabbix-server:~# zabbix_get -s 192.168.1.122 -p 10050 -k "mysql_ping"
1
root@zabbix-server:~# zabbix_get -s 192.168.1.122 -p 10050 -k "mysql_status[Uptime]"
1484
root@zabbix-server:~# zabbix_get -s 192.168.1.122 -p 10050 -k "mysql_status[Threads]"
2

创建模板

图片[1]-zabbix 监控 MySQL 服务-李佳程的个人主页

创建监控项

图片[2]-zabbix 监控 MySQL 服务-李佳程的个人主页
图片[3]-zabbix 监控 MySQL 服务-李佳程的个人主页
图片[4]-zabbix 监控 MySQL 服务-李佳程的个人主页
图片[5]-zabbix 监控 MySQL 服务-李佳程的个人主页

创建触发器

图片[6]-zabbix 监控 MySQL 服务-李佳程的个人主页
图片[7]-zabbix 监控 MySQL 服务-李佳程的个人主页

模板链接到主机

图片[8]-zabbix 监控 MySQL 服务-李佳程的个人主页
图片[9]-zabbix 监控 MySQL 服务-李佳程的个人主页
图片[10]-zabbix 监控 MySQL 服务-李佳程的个人主页

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享