
- 环境
CentOS 7.6
zabbix-agent 4.0.14
MySQL 5.7 - 创建监控MySQL用户
用root用户登录MySQL,创建授权用户信息。#grantusageon . to ‘jiankong’@’mysql服务器ip’ identified by ‘xxxxxx’; #flushprivileges;
这里直接使用root用户测试。
- agent端配置
zabbix-agent没有安装,使用yum install -y zabbix-agent命令安装。
修改zabbix配置默认的userparameter_mysql.conf文件
目录:/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
注释掉默认的mysql status配置项,增加监控脚本文件。
grep -Ev ‘^$|^#’ /etc/zabbix/zabbix_agentd.d/userparameter_mysql.confUserParameter=mysql.status[*],/etc/zabbix/scripts/chk_mysql.sh $1UserParameter=mysql.ping,mysqladmin -uroot -pxxxxxx -h '127.0.0.1' ping 2> /dev/null | grep -c alive UserParameter=mysql.version,mysql -V
/etc/zabbix/scripts/chk_mysql.sh 数据库监控脚本。
#!/bin/bash# -------------------------------------------------------------------------------# FileName: check_mysql.sh# Revision: 1.0# Date: 2020/04/12# Author: Joey King# Email:# Website:# Description: Zabbix Mysql# Notes: None# -------------------------------------------------------------------------------# User MYSQL_USER='root'# PASSWD MYSQL_PWD='xxxxxx'# HOST IP MYSQL_HOST='127.0.0.1'#MYSQL_HOST='10.10.10.10'# PORT MYSQL_PORT='3306'# CONN MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"# CHK PARAMETERSif [ $#-ne"1" ];thenecho"arg error!"fi# COLLECTION DATAcase$1in Uptime) result=`${MYSQL_CONN} status 2> /dev/null|cut -f2 -d":"|cut -f1 -d"T"` echo$result ;; Com_update) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_update"|cut -d"|"-f3` echo$result ;; Slow_queries) result=`${MYSQL_CONN} status 2> /dev/null|cut -f5 -d":"|cut -f1 -d"O"` echo$result ;; Com_select) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_select"|cut -d"|"-f3` echo$result ;; Com_rollback) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_rollback"|cut -d"|"-f3` echo$result ;; Questions) result=`${MYSQL_CONN} status 2> /dev/null|cut -f4 -d":"|cut -f1 -d"S"` echo$result ;; Com_insert) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_insert"|cut -d"|"-f3` echo$result ;; Com_delete) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_delete"|cut -d"|"-f3` echo$result ;; Com_commit) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_commit"|cut -d"|"-f3` echo$result ;; Bytes_sent) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Bytes_sent" |cut -d"|"-f3` echo$result ;; Bytes_received) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Bytes_received" |cut -d"|"-f3` echo$result ;; Com_begin) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Com_begin"|cut -d"|"-f3` echo$result ;; Threads_connected) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Threads_connected"|cut -d"|"-f3` echo$result ;; Threads_running) result=`${MYSQL_CONN} extended-status 2> /dev/null|grep -w "Threads_running"|cut -d"|"-f3` echo$result ;; *) echo"Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" ;; esac
- zabbix自定义Mysql监控项
以上监控脚本中关于Mysql的连接数和并发数情况,即监控脚本中Threads_connected 和 Threads_running 的信息。在 zabbix Mysql 监控模板中是没有这两块的监控信息。
脚本中增加 Threads_connected 和 Threads_running 的信息,详见上面监控脚本。接下就是在 zabbix 数据库监控默认模板 Template DB MySQL 上创建配置监控项、创建图形、创建触发器。
4.1 创建监控项4.2 创建图形
4.3 创建触发器
给Threads_connected连接数创建触发器。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/214219.html<