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

目前部署了zabbix3.0做爲生產的監控系統,最近發現一個有趣的問題,就是套用percona公司的percona moinitor plugins中MySQL的監控模板的時候,有些agent的機器在取MySQL.running-slave這個item值的時候,agent側取值同server側取值是不一致的,以下:mysql

agent:sql

[root@mysql03 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slaveapp

1
ide

server:server

[root@zabbix zabbix]# zabbix_get -s 192.168.1.81 -k "MySQL.running-slave"blog

0ip

排查過程:
部署

wKiom1jCU0XCl6agAACnQhHsOTM811.png-wh_50

我經過在腳本中echo $RES和狀態碼到/tmp目錄下的RES.TXT和xxx.txt裏,觀察echo出來的值,發現狀態碼確實是0,而非1。get

wKiom1jCVVKQuXkMAAAfrPo4WHg427.png-wh_50

那爲何會出現手工跑腳本和經過應用自主調用腳本,結果會不一致呢? 這通常是環境變量致使的狀況,由於$RES這個變量在程序調度echo出來就是空值,而其實這就是一個sql查詢而已。因此直接將原mysql替換成/usr/local/mysql/bin/mysql 這個絕對路徑,而後再次檢驗後,agent端和server端取值終於一致,問題解決。
it

相關文章
相關標籤/搜索