lishenghan 发表于 2019-1-20 10:31:32

zabbix web前端取值同后端取值不一致

  目前部署了zabbix3.0作为生产的监控系统,最近发现一个有趣的问题,就是套用percona公司的percona moinitor plugins中MySQL的监控模板的时候,有些agent的机器在取MySQL.running-slave这个item值的时候,agent侧取值同server侧取值是不一致的,如下:
  agent:
  # /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
  1

  server:
  # zabbix_get -s 192.168.1.81 -k "MySQL.running-slave"
  0
  排查过程:

https://s5.运维网.com/wyfs02/M01/8E/81/wKiom1jCU0XCl6agAACnQhHsOTM811.png-wh_500x0-wm_3-wmp_4-s_1395712211.png

  我通过在脚本中echo $RES和状态码到/tmp目录下的RES.TXT和xxx.txt里,观察echo出来的值,发现状态码确实是0,而非1。
https://s1.运维网.com/wyfs02/M00/8E/81/wKiom1jCVVKQuXkMAAAfrPo4WHg427.png-wh_500x0-wm_3-wmp_4-s_899079449.png
  那为什么会出现手工跑脚本和通过应用自主调用脚本,结果会不一致呢? 这一般是环境变量导致的情况,因为$RES这个变量在程序调度echo出来就是空值,而其实这就是一个sql查询而已。所以直接将原mysql替换成/usr/local/mysql/bin/mysql 这个绝对路径,然后再次检验后,agent端和server端取值终于一致,问题解决。




页: [1]
查看完整版本: zabbix web前端取值同后端取值不一致