十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本文主要给大家介绍Zabbix企业监控之MySQL监控配置教程,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下Zabbix企业监控之MySQL监控配置教程吧。
创新互联建站专注于包头网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供包头营销型网站建设,包头网站制作、包头网页设计、包头网站官网定制、微信平台小程序开发服务,打造包头网络公司原创品牌,更为您提供包头网站排名全网营销落地服务。
查看模板的Items
模板定义的Items如下:
以Items“MySQL uptime”为例Key的内容如下:
可见,关键部分是Key值mysql.status[Uptime]相当于变量名称
2.1.2 Zabbix Agens部分的Key传参定义
1)传参数的定义文件
less /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
2)传参的定义格式
可发现如下行:
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
定义以逗号分隔,可简化如下:
用户自定义参数名称,用户自定义参数取值(shell命令)
注意:
用户自定义参数名称:“*”代表Zabbix Server可传入任何具体的变量参数
用户自定义参数取值:“$1”代表Zabbix Server可传入的变量参数
3)如传入参数为“Uptime”则变为
UserParameter=mysql.status[Uptime],echo "show global status where Variable_name='Uptime';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
4)用户自定义参数取值部分Shell指定可取得具体的数值(需先数据库授权和连接数据库授权配置)
所以指定结果是:
UserParameter=mysql.status[Uptime],165538
就这样,MySQL的值被送到Zabbix Server
3 实践部分
3.1 环境描述
Zabbix Server:
ipaddress=10.168.0.160
hostname=zabbix
Zabbix Agens:
ipaddress=10.168.0.99
hostname=mysqlSer
app=mysqld
Zabbix Server&Agens端的配置请参阅:
http://cmdschool.blog.51cto.com/2420395/1723530
3.2 使用户自定义参数生效
In Zabbix Agens:
vim编辑/etc/zabbix/zabbix_agentd.conf开启以下两个参数
Include=/etc/zabbix/zabbix_agentd.d/ UnsafeUserParameters=0
注:完成以上配置“userparameter_mysql.conf”里面的定义才生效
3.3 授予Zabbix Agens数据访问权限
In Zabbix Server:
MySQL权限配置
mysql -uroot -p GRANT SELECT ON mysql.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix'; flush privileges; show grants for zabbix@localhost;
3.4 配置Zabbix Agens数据库访问权限
In Zabbix Agens:
3.4.1 确定数据库连接文件的目录
用如下命令查看"HOME"目录所定义路径
cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf | egrep -v "(^#|^$)" | grep HOME
显示如下:
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | 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=/var/lib/zabbix mysql -N UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
注:以上表明数据库连接文件应当配置在“/var/lib/zabbix”
3.4.2 确定MySQL的PID文件路径
用如下命令查看MySQL的PID文件的路径
grep pid-file /etc/my.cnf
显示如下:
pid-file=/var/run/mysqld/mysqld.pid
3.4.3 配置数据库连接文件
根据前面获取到的路径创建数据库连接文件
vim编辑/var/lib/zabbix/.my.cnf输入如下内容:
[mysql] host = localhost user = zabbix password = zabbix socket = /var/lib/mysql/mysql.sock [mysqladmin] host = localhost user = zabbix password = zabbix socket = /var/lib/mysql/mysql.sock
3.5 重启并使配置生效
In Zabbix Agens:
重启Agent服务
/etc/init.d/zabbix-agent restart
3.6 命令行确认自定义KEY
In Zabbix Agens:
echo "show global status where Variable_name='Uptime';" | HOME=/var/lib/zabbix mysql -N | awk '{print $2}'
In Zabbix Server:
zabbix_get -s 10.168.0.99 -k mysql.status[Uptime] zabbix_get -s 10.168.0.99 -k mysql.version
3.7 添加主机的监控模板
In Zabbix的web控制台
Configuration->Hosts->单击“主机名称”->Templates->Select->Template App MySQL->Add->Update
3.8 确认监控结果
Monitoring->Graphs
Host选择具体的“主机名称”
Graph选择“MySQL bandwidth”或“MySQL operations”查看监控的图像
------------------------------------------------------
看完以上关于Zabbix企业监控之MySQL监控配置教程,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。