zabbix监控Mysql并接入Grafana

 本文转载于个人博客:https://docs.wziqi.vip/

前言:

1. zabbix默认监控模板中有监控Mysql的一些监控项,但是感觉不是太符合自己的情况使用,所以想着做一套自定义监控项来监控Mysql的各项数据。

2. 安装zabbix跟Mysql的步骤就略过了,可以看前面几篇帖子自行安装。

3. 这边我先监控了Mysql的以下一些数据,后边会根据需要在不断补充:

当前连接数 历史连接数 配置连接数 Mysql状态 线程正在运行 每秒创建的线程数 线程连接 缓存线程 Mysql CPU,内存利用率

第一步 创建自定义监控项

这边在我之前测试的agent2主机上已经使用Docker安装了Mysql8.0

在Mysql创建一个监控用户

# 在Mysql中创建一个zabbix监控用户
​
CREATE USER 'zabbix'@'%'IDENTIFIED BY 'zabbix';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zabbix'@'%';
flush privileges;
​
# 修改一下mysql的配置文件,把用户添加进去,要不收集信息的时候mysql会警告命令行中输入密码是不安全的行为
vim /etc/mysql/my.cnf        # 打开Mysql的配置文件底部添加以下几行
[client]
user=zabbix
password=zabbix
[mysqladmin]
host=localhost
user=zabbix
password=zabbix


docker restart mysql8.0   # 重启一下服务重载配置文件

创建自定义监控项配置文件

因为我的Mysql是用Docker搭建的,所以每个命令前面我都加了一个docker exec -it mysql8.0,如果自己有想法可以更改,不是必须的,只要能获取到想要的值就行
因为第一步已经把监控用户放到配置文件中了,所以这边就不需要mysql -u -p 的这两个参数了
​
自定义监控项参数为:
UserParameter=    # 固定格式
mysql.Cpu         # 键值,添加监控项就是用它等于标识符
,docker stats.... # 逗号以后的就是收集指标的命令了
创建一个自定义监控项的配置文件
vim /etc/zabbix/zabbix_agent2.d/mysql.conf
# Mysql CPU 内存利用率
UserParameter=mysql.Cpu,docker stats --no-stream | grep mysql8.0 | awk '{print $3}' | sed s'/%//'
UserParameter=mysql.Mem,docker stats --no-stream | grep mysql8.0 | awk '{print $4}' | sed s'/MiB//'
# 当前连接数 历史连接数 配置连接数
UserParameter=mysqld.Threads_connected,docker exec mysql8.0 bash -c "mysql -e \"SHOW GLOBAL STATUS LIKE 'Threads_connected';\"" | awk 'NR==2{print $2}'
UserParameter=mysql.Max_used_connections,docker exec mysql8.0 bash -c "mysql -e \"SHOW GLOBAL STATUS LIKE 'Max_used_connections';\"" | awk 'NR==2{print $2}'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值