zabbix 监控 mysql

只愿长相守 提交于 2020-03-10 11:53:04

1.mysql主从复制监控

在从库上创建脚本文件夹
[root@mysql-1 zabbix]# mkdir /etc/zabbix/scripts
[root@mysql-1 zabbix]# cd /etc/zabbix/scripts

在从库上创建脚本,此处注意/app/mysql5.7/.config的权限和双主为600 和 zabbix.zabbix
[root@mysql-1 scripts]# cat mysql_slave_status.sh
/usr/bin/mysql --defaults-extra-file=/app/mysql5.7/.config -P2297 -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes

在从库上修改权限和双主
[root@mysql-1 scripts]# chmod +x mysql_slave_status.sh
[root@mysql-1 scripts]# chown zabbix.zabbix mysql_slave_status.sh
[root@mysql-1 scripts]# ll
total 4
rwxr-xr-x 1 zabbix zabbix 166 Oct 15 09:23 mysql_slave_status.sh

在从库上创建监控配置文件及键值
[root@mysql-1 scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@mysql-1 zabbix_agentd.d]# cat mysql_slave_status.conf 
UserParameter=mysql.slavestatus,/etc/zabbix/scripts/mysql_slave_status.sh

在zabbix-server上进行拉取测试
[root@zabbix mysql5.7]#  zabbix_get -s 192.168.9.102 -k "mysql.slavestatus" -p 10050
2

创建新模板,因为我刚刚创建过所以新的群组那才是×××的提醒
zabbix 监控 mysql
有了,第一个那个就是
zabbix 监控 mysql
进入我们刚刚创建的模板点击右上角的创建应用集
zabbix 监控 mysql
zabbix 监控 mysql
zabbix 监控 mysql
配置监控项(点击监控项---创建监控项) #此处很重要,我们定义的变量就是从这的键值那里导入的
zabbix 监控 mysql
zabbix 监控 mysql
添加触发器(触发器---创建触发器)
zabbix 监控 mysql
zabbix 监控 mysql
添加图形(图形---创建图形)
zabbix 监控 mysql
添加mysql从主机并未主机添加次监控项
zabbix 监控 mysql
点击当前界面的模板去给他配置模板
zabbix 监控 mysql

zabbix 监控 mysql
zabbix 监控 mysql

2.mysql监测

创建脚本文件夹
[root@za-my ~]# mkdir /etc/zabbix/scripts
[root@za-my zabbix]# cd /etc/zabbix/scripts
创建config,此处注意/app/mysql5.7/.config的权限和双主为600 和 zabbix.zabbix
[root@za-my ~]# cat /app/mysql5.7/.config 
[client]                                       #此处必须为[client]
user=root
password=000000

创建脚本
[root@za-my ~]# cd /etc/zabbix/scripts/
[root@za-my scripts]# vim check_mysql.sh

#!/bin/bash
# author:pan

MySQL_HOST="localhost"
MySQL_PORT="2297"

MySQL_CONN="/usr/bin/mysqladmin --defaults-extra-file=/app/mysql5.7/.config -h${MySQL_HOST} -P${MySQL_PORT}"

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

case $1 in
    Uptime)
        result=`${MySQL_CONN} status | cut -f2 -d":" | cut -f1 -d "T"`
        echo $result
        ;;
    Com_update)
        result=`${MySQL_CONN} extended-status | grep -w "Com_update" | cut -d"|" -f3`
        echo $result
        ;;
    Slow_querles)
        result=`${MySQL_CONN} status | cut -f5 -d":" | cut -f1 -d"O"`
        echo $result
        ;;
    Com_select)
        result=`${MySQL_CONN} extended-status | grep -w "Com_select" | cut -d "|" -f3`
        echo $result
        ;;
    Com_rollback)
        result=`${MySQL_CONN} extended-status | grep -w "Com_rollback" | cut -d"|" -f3`
        echo $result
        ;;
    Questions)
        result=`${MySQL_CONN} status | cut -f4 -d":" | cut -f1 -d"S"`
        echo $result
        ;;
    Com_insert)
        result=`${MySQL_CONN} extended-status | grep -w "Com_insert" | cut -d"|" -f3`
        echo $result
        ;;
    Com_delete)
        result=`${MySQL_CONN} extended-status | grep -w "Com_delete" | cut -d"|" -f3`
        echo $result
        ;;
    Com_commit)
        result=`${MySQL_CONN} extended-status | grep -w "Com_commit" | cut -d"|" -f3`
        echo $result
        ;;
    Bytes_sent)
        result=`${MySQL_CONN} extended-status | grep -w "Bytes_sent" | cut -d"|" -f3`
        echo $result
        ;;
    Bytes_received)
        result=`${MySQL_CONN} extended-status | grep -w "Bytes_received" | cut -d"|" -f3`
        echo $result
        ;;
    Com_begin)
        result=`${MySQL_CONN} extended-status | grep -w "Com_begin" | cut -d"|" -f3`
        echo $result
        ;;
    *)
        echo "Usage:$0(Uptime|Com_update|Slow_querles|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
        ;;
esac
修改权限和双主
[root@za-my scripts]# chmod +x check_mysql.sh 
[root@za-my scripts]# chown zabbix.zabbix check_mysql.sh 
[root@za-my scripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 1982 Oct 21 23:06 check_mysql.sh
在从库上创建监控配置文件及键值
[root@za-my scripts]#  cd /etc/zabbix/zabbix_agentd.d/
[root@za-my zabbix_agentd.d]# cat mysql_status.conf 
UserParameter=mysql.status[*],/etc/zabbix/scripts/check_mysql.sh $1
UserParameter=mysql.ping,/usr/bin/mysqladmin --defaults-extra-file=/app/mysql5.7/.config -hlocalhost -P2297 ping | grep -c alive
UserParameter=mysql.version,/usr/bin/mysql -V

删除旧键值模版,要不然启动会出现问题,冲突
[root@za-my zabbix_agentd.d]#  rm -f userparameter_mysql.conf 

重启agent
[root@za-my zabbix_agentd.d]# systemctl restart zabbix-agent

在zabbix-server上进行拉取测试
[root@zabbix ~]# zabbix_get -s 192.168.9.113 -p 10050 -k "mysql.status[Uptime]"
1556

导入模板,并添加mysql监控

模板---导入
zabbix 监控 mysql
选择mysql主机---模板---添加Template App MySQL(此为我们刚刚添加的模板)
zabbix 监控 mysql

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