基于percona-monitoring-plugins实现Zabbix的MySQL多端口自动发现监控

r囧r小猫 2022-07-29 09:03 232阅读 0赞

步骤:

  1. 一.zabbix监控机导入模板 导入模板Mysql_Multiport_Monitor.xml,导入后,模版默认名为Percona MySQL Server Multiport Template
  2. 二.被监控端
  3. cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep '^Include'
  4. Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
  5. 复制脚本文件并执行权限 mkdir -p /var/lib/zabbix/percona/scripts/
  6. cp userparameter_percona_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d
  7. cp get_mysql_stats_wrapper.sh /var/lib/zabbix/percona/scripts/
  8. cp mysql_low_discovery.sh /var/lib/zabbix/percona/scripts/
  9. cp ss_get_mysql_stats.php /var/lib/zabbix/percona/scripts/
  10. chmod 755 /var/lib/zabbix/percona/scripts/*</span>

配置注意事项:

  1. 一、默认的mysql发现间隔为1小时.因此刚配置好,可能短时间内不能发现监听的端口,请耐心等待
  2. 二、关于被监控端脚本
  3. 1、脚本mysql_low_discovery.sh中,默认zabbix用户不能执行netstat命令,因此mysql_low_discovery.sh可能没有结果
  4. 解决办法:
  5. --chmod +s /bin/netstat
  6. --sudo
  7. --修改脚本,手动添加端口
  8. 2、脚本ss_get_mysql_stats.php中的用户名和密码根据实际情况进行修改
  9. $mysql_user = 'MYSQL_USER';
  10. $mysql_pass = 'MYSQL_PASSWORD';
  11. 3、脚本中get_mysql_stats_wrapper.sh包含了监控的地址,默认是127.0.0.1
  12. 因此,命令行之行 mysql -u'MYSQL_USER' -p'MYSQL_PASSWORD' -h127.0.0.1 -P'MYSQL_PORT' 必须成功。否则监控采集不到任何数据.
  13. 监控slave IO/SQL进程部分,5.6有的版本明文密码会有警告,可以写在my.cnf-[client]下
  14. if [ "$ITEM" = "running-slave" ]; then
  15. # Check for running slave
  16. RES=`/usr/local/mysql/bin/mysql -h$HOST -P$PORT -e 'SHOW SLAVE STATUS\G' |egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ',
  17. '`
  18. if [[ $RES = *No* ]]; then
  19. echo 1
  20. else
  21. echo 0
  22. fi
  23. exit

模板及脚本下载地址:

  1. http://download.csdn.net/detail/u013820054/9467154

发表评论

表情:
评论列表 (有 0 条评论,232人围观)

还没有评论,来说两句吧...

相关阅读