zabbix自动发现mysql端口并监控
2023-06-13 09:15:49 时间
一、需求:
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab3242b4.png)
2.创建应用
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab3cf0a7.png)
3.创建自动发现规则
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab485b7d.png)
4.创建监控项
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab553c98.png)
5.创建图形
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab6197d6.png)
6.主机链接模板
因为我们是游戏业务,要用到mysql,一个服务器上面跑多个mysql实例也是很正常。如果单独手动一台台修改agent.conf,添加web监控,太费时费力。所以就想的要用zabbix 的自动发现来监控
二、配置Agent1.编写自动发现端口脚本
[root@tiejiang ~]# cat /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh #!/bin/bash mysql() { port=($(sudo netstat -tpln | awk -F "[ :]+" /[m]ysql/ | awk -F: {print $4})) printf {/n printf /t"data":[/n for key in ${!port[@]} if [[ "${#port[@]}" -gt 1 "${key}" -ne "$((${#port[@]}-1))" ]];then socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F = {print $10}|cut -d -f 1` printf /t {/n printf "/t/t/t/"{#MYSQLPORT}/":/"${port[${key}]}/"},/n" else [[ "${key}" -eq "((${#port[@]}-1))" ]] socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F = {print $10}|cut -d -f 1` printf /t {/n printf "/t/t/t/"{#MYSQLPORT}/":/"${port[${key}]}/"}/n" done printf /t ]/n printf }/n
2.赋权
赋执行权限 chmod 755 /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh 修改属组 chown zabbix.zabbix /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh
3.测试脚本效果
[root@tiejiang ~]# /etc/zabbix/alertscripts/zabbix_discovery_mysql.sh mysql "data":[ "{#MYSQLPORT}":"3306"}
4.配置agent.conf
[root@tiejiang ~]# cat /etc/zabbix/zabbix_agentd.conf | grep Include ### Option: Include # Include= # Include=/usr/local/etc/zabbix_agentd.userparams.conf # Include=/usr/local/etc/zabbix_agentd.conf.d/ Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
[root@tiejiang zabbix_agentd.conf.d]# cat check_mysql.conf UserParameter=mysql.discovery[*],/etc/zabbix/alertscripts/zabbix_discovery_mysql.sh $1 UserParameter=mysql_stats[*],/usr/bin/mysql --defaults-file=/home/zabbix/.my.cnf -P $1 -e "show global status"|grep "/ $2/ "|cut -f2
5.sudo权限
#Defaults requiretty Defaults:zabbix !requiretty zabbix ALL=(root) NOPASSWD:/bin/netstat,/usr/bin/mysql
6.创建zabbix查询mysql用户
GRANT PROCESS ON *.* TO zabbix@localhost identified BY zabbix; Flush privileges;
注意:Warning: Using a password on the command line interface can be insecure.
因为mysql5.6不能使用明文密码登录,所以这里要创建一个文件用来指定用户名密码
7.创建mysql.cnf文件
[root@tiejiang zabbix]# cat /home/zabbix/.my.cnf [client] user=zabbix password=zabbix host=localhost
[root@tiejiang alertscripts]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql_stats[3306,Uptime] [root@tiejiang alertscripts]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k mysql.discovery[mysql] { "data":[ { "{#MYSQLPORT}":"3306"} ] }三、配置web 1.添加模板
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab3242b4.png)
2.创建应用
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab3cf0a7.png)
3.创建自动发现规则
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab485b7d.png)
4.创建监控项
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab553c98.png)
5.创建图形
![zabbix自动发现mysql端口并监控](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/08/07/20210807_610deab6197d6.png)
6.主机链接模板
7.查看监控数据
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55633.html
mysql相关文章
- MySQL Error number: MY-012773; Symbol: ER_IB_MSG_948; SQLSTATE: HY000 报错 故障修复 远程处理
- 自动生成MySQL激活码自动生成:轻松实现一键激活(mysql激活码)
- 查询MySQL实时查询:极速突破性能瓶颈(mysql不缓存)
- 主键MySQL:设置自动递增主键(mysql设置递增)
- MySQL进程监控:深入了解数据库性能(mysql进程监控)
- 策略MySQL自动分区策略:获取完美性能(mysql自动分区)
- 清除MySQL缓存:必要的优化步骤(清空mysql缓存)
- MySQL:权衡价格和功能的最佳选择(mysql商用价格)
- MySQL自动重启:一种轻松调整的方式(mysql自动重启)
- MySQL数据库引擎:窥探其中奥秘(mysql数据库引擎查看)
- MySQL自动启停服务管理(mysql自动停止服务)
- MySQL实体类自动生成技术与应用(mysql实体类生成工具)
- MySQL中实现自动任务的时间触发器(mysql时间触发器)
- 如何监控 MySQL 连接数?(监控mysql连接数)
- 如何实现MySQL数据库自动执行?(mysql数据库自动执行)
- MySQL的四舍五入规则及其自动处理方式(mysql自动四舍五入)
- MySQL实现自动索引优化策略(mysql自动索引)
- MySQL读写锁:实现细致的数据控制(mysql读锁 写锁)
- MySQL如何插入中文数据(mysql插入中文数据)
- MySQL数据库实现自动备份的简单方法(mysql数据库自动备份)
- MySQL路径池C语言拥抱互联网(c mysql路径池)
- ATM项目倚靠Mysql实现自动取款机智能化(atm项目mysql)
- 自动创建MYSQL数据库,节省时间和精力(mysql不存在就新建)
- MySQL自动插入新数据(mysql 不存在就插入)
- 如何设置MySQL使其不自动小写(mysql 不自动小写)
- 如何手动安装MySQL25字提示忘记MySQL自动安装,手动操作最好一个简单的指南(mysql不自动安装方法)