您的位置:时时app平台注册网站 > 时时app平台注册网站 > ZABBIX 3.0 配置监察和控制MYSQL品质【OK】,zabbixm

ZABBIX 3.0 配置监察和控制MYSQL品质【OK】,zabbixm

2019-11-14 19:13

四、测试下看能否获取到值

zabbix_get -s 172.16.0.3 -k mysql.status[3306,Com_select]

添加图形:

ZABBIX 3.0 配置监控MYSQL性能【OK】,zabbixmysql

Zabbix3.0自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了。 参考:   主要是三点: 1.agent端添加/etc/zabbix/.my.cnf文件,添加帐号/密码 2.agent端执行grant all on *.*授权给帐号 3.agent端修改userparameter_mysql.conf文件里面的路径   登录agent端执行以下操作:   1.安装好zabbix服务端和agent端:(略)   2.登录zabbix客户端:   yum -y install zabbix22-agent systemctl enable zabbix-agent systemctl start zabbix-agent   cat > /etc/zabbix/.my.cnf << end [client] host=客户端IP //host语句可选。不填则默认为:host=localhost。则后面的grant这样写:grant all on *.* to [email protected]'localhost' //如果填了IP,则后面的grant这样写:grant all on *.* to [email protected]'客户端IP' socket=/var/lib/mysql.sock //可选 user=zabbix password=028TpeG2G057W4M841 end   登录agent端的MYSQL,添加帐号: grant all on *.* to [email protected]'localhost' identified by '028TpeG2G057W4M841'; flush privileges; exit   注:执行后在服务端执行以下命令测试:

zabbix_get -s agent端IP -p10050 -k "mysql.status[Uptime]" ,如果zbx抓不到数据或报错,则试试:

grant all on *.* to [email protected]'127.0.0.1' identified by 'zabbix'; //再不行,将127.0.0.1换成 agent端的IP 或 % 试试 

时时app平台注册网站 1     3.登录agent端修改配置:   vim /etc/zabbix/zabbix_agentd.conf Include=/etc/zabbix_agentd.conf.d/ //243行,取消注释。也可能是:/etc/zabbix/zabbix_agentd.d/,无所谓。 保存退出   mkdir -p /etc/zabbix_agentd.conf.d/ cp /usr/share/doc/zabbix22-agent-2.2.18/userparameter_mysql.conf /etc/zabbix_agentd.conf.d/   sed -i '[email protected]/var/lib/[email protected]/etc/[email protected]' /etc/zabbix_agentd.conf.d/userparameter_mysql.conf //修改路径为zabbix主配置目录:/etc/zabbix ,conf文件路径可能有不同。 注:最好将里面的 mysql和 mysqladmin 命令加上全路径,否则存在可能无法获取到数据的可能。 时时app平台注册网站 2   4.重启agent端服务:   systemctl restart zabbix-agent   在zabbix服务端测试: zabbix_get -s 192.168.1.25 -p 10050 -k "mysql.status[Uptime]" 12085434 //如果出现类似这一串key的数字,就说明配置ok,服务端能监控到agent端的mysql数据了!   5.给agent端主机添加MYSQL监控模板(模板是自带的):   时时app平台注册网站 3   时时app平台注册网站 4     给MYSQL监控绘图: 时时app平台注册网站 5   时时app平台注册网站 6   效果图: 时时app平台注册网站 7   时时app平台注册网站 8

 

3.0 配置监控MYSQL性能【OK】,zabbixmysql Zabbix3.0自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增...

二、zabbix监控mysql脚本(check_mysql.sh)

#!/bin/sh
while getopts "u:p:P:k:" opt
do
        case $opt in
                u ) user=$OPTARG;;
                p ) password=$OPTARG;;
                P ) port=$OPTARG;;
                k ) key=$OPTARG;;
                ? )
                echo 'parameter is wrong!'
                exit 1;;
        esac
done
if [ ! "${user}" ] || [ ! "${password}" ] || [ ! "${port}" ];then
        echo "parameter is null"        
        exit 1
fi

mysql -u ${user} -p${password} -h 127.0.0.1 -P${port} -e "show global status"|grep "${key}[[:space:]]"|awk '{print $2}'

3、在/usr/local/etc/zabbix_agentd.conf.d/目录下添加监控项配置文件get_mysql_status.conf,内容如下:

六、创建图形进行查看

UserParameter=get_mysql_status[*],/usr/local/zabbix/zabbix-script/get_mysql_status.sh $1 $2 $3

一、数据库给只读权限

1.1  grant usage on *.* to 'zabbix'@'127.0.0.1' identified by 'zabbix';
flush privileges;
1.2  mysql -uzabbix -pzabbix -h 127.0.0.1 -e "show global status"
Com_select从mysql启动以来接收的select语句的数量,它是一直往上增的。
Threads_connected获取的是一种当前的状态
1.3  mysql -uzabbix -pzabbix -h 127.0.0.1 -e "show global status"|grep 'Threads_connected'

原文来自:

八、可设置成模板

 

脚本说明,脚本需要输入三个参数分别是:mysql用户、mysql用户密码、mysql状态各项指标如下: uptime:运行时长单位s、 threads:开启的会话数、 question(questions):服务器启动以来客户的问题(查询)数目 sq(Slow queries): 慢查询数量 open(opens):服务器已经打开的数据库表的数量 ftable(Flush tables):服务器已经执行的flush ...、refresh和reload命令的数量 opent(open tables):通过命令是用的数据库的表的数量,以服务器启动开始 qps(Queries per second avg):select语句平均查询时间

七、触发器的增加

实现步骤:

五、网页上添加监控

net.tcp.service.perf[tcp,,3306]
mysql.status[3306,Threads_connected]
mysql.status[3306,Com_select]
mysql.status[3306,Com_update]
mysql.status[3306,Com_insert]
mysql.status[3306,Com_delete]

时时app平台注册网站 9

三、zabbix自定义监控mysql的agent配置(vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf)

UserParameter=mysql.status[*],sh /usr/local/zabbix/check_mysql.sh -u zabbix -p zabbix -P $1 -k $2 2>/dev/null
配置完需要重启zabbix_agentd(pkill zabbix_agentd; sleep 3; /usr/local/zabbix/sbin/zabbix_agentd)

图形预览:

添加完成后可以看到新增监控项如下:

将此行注释去掉后,zabbix_agentd启动后会自动扫描/usr/local/etc/zabbix_agentd.conf.d/目录下所有的.conf文件,并加载。

时时app平台注册网站 10

背景:

#!/bin/sh

case $3 in
uptime)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $2}'
;;
threads)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $4}'
;;
question)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $6}'
;;
sq)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $9}'
;;
open)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $11}'
;;
ftable)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $14}'
;;
opent)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $17}'
;;
qps)
mysqladmin -u$1 -p$2 status 2>/dev/nul | awk -F '[:| ]'  '{print $22}'
;;
*)

zabbix本身提供了很多可选的监控项,可以满足绝大部分的监控需求。有时候由于业务需求,需要自定义监控项。 下面以创建mysql自定义监控项为例,分享如何创建zabbix自定义监控项。

2、编写监控脚本/usr/local/zabbix/zabbix-script/get_mysql_status.sh,脚本如下(脚本存放目录可以自定义):

1、修改 zabbix_agentd.conf,添加zabbix_agent 配置目录,以下是我本机的zabbix的配置: 将以下行的注释去掉

Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
#zabbix_get -s 127.0.0.1 -k get_mysql_status[root,weiming,open]
   679

变成:

zabbix版本:3.0.3 操作系统:CentOS 7 mysql版本:5.7.1

时时app平台注册网站 11

5、web端添加监控项: 在主机上添加监控项:
时时app平台注册网站 12

#Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

4、重启zabbix_agent和zabbix_server,使用zabbix_get测试,如下:

环境说明:

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:ZABBIX 3.0 配置监察和控制MYSQL品质【OK】,zabbixm

关键词: