mysql企业监控_Zabbix企业监控之MySQL监控配置教程

本文详细介绍了如何配置Zabbix进行MySQL监控,包括Zabbix Agent的Key定义、用户自定义参数设置、数据库权限授权以及监控模板的添加。通过配置,实现了对MySQL的Uptime等状态的监控,并在Zabbix Server上验证了数据获取的正确性。
摘要由CSDN通过智能技术生成

Zabbix企业监控之MySQL监控配置教程

发布时间:2020-05-09 10:12:59

来源:亿速云

阅读:164

作者:三月

栏目:数据库

本文主要给大家介绍Zabbix企业监控之MySQL监控配置教程,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下Zabbix企业监控之MySQL监控配置教程吧。

查看模板的Items

2c771af718b175d03d0f5b15282442e6.png

模板定义的Items如下:

e97ebf3caa5dcf6f7b51c10c43463075.png

以Items“MySQL uptime”为例Key的内容如下:

f0c9313953891c1c1e0af1a7ae374215.png

可见,关键部分是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指定可取得具体的数值(需先数据库授权和连接数据库授权配置)

590f6a2c353a5f2bf42a119c48a86b3f.png

所以指定结果是: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”查看监控的图像

37a8dd921adce2edd9f52124dff03c6c.png

------------------------------------------------------

看完以上关于Zabbix企业监控之MySQL监控配置教程,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值