解決zabbix_get 獲取不到自定義key一例

解決zabbix_get 獲取不到自定義key一例 

最近發現線上一個機器A無法ping通,***另一端機器B。請公司網絡組的兄弟確認路由後(同一段的其他機器均正常),懷疑可能是的系統問題。之間決定讓值班的同事在零晨重啓網絡服務。之後,杯具發生了......

零晨重啓網絡服務後,死都連不上這臺機器A;接到夜晚值班同事的電話後,進行簡單判斷懷疑是系統問題;該機上所運行的應用對業務系統相當重要,立即連接到公司網絡。考慮到對業務系統的影響,便立即在另外一臺機器上快速恢復應用。之後,決定天亮上班後,再請管服務器的兄弟看看。

具體情況如下:

A機器應用: 1、業務系統   2、zabbix_proxy (接收線上其他業務系統監控數據)

具體操作如下:

找到C機器,設置雙IP後重新安裝業務系統與zabbix_proxy,發現監控正常後,回家睡覺。

關於zabbix 獲取不到自定義key

下午上班看了一下監控,發現線上系統所有關於自定義key的數據都在A機器故障前。其他zabbix_proxy監控的節點,卻沒有這種情況。

 分析:

1、其他節點相同的自定義key是有數據的,表明我的自定義不存在問題,畢竟已經跑了很久了。

2、被C機器監控的節點,系統自帶的key數據都是正常的,排除網絡問題。

3、在C機器上使用zabbix_get 無法獲取到節點的自定義key的值,基本上是返回一個空值。

經過多次驗證,發現問題的根源其實很簡單。

C機器  eth0  a.a.a.a (該機器本身的IP)  eth0:0 b.b.b.b (B機器的IP地址) 

原因: 被監控節點,發數據發送給b.b.b.b,在zabbix_proxy上執行zabbix_get時,使用的源地址是a.a.a.a,這就導致了使用zabbix_get返回空值。

解決方法:

方法1:使用腳本批量修改了被監控節點的Server地址爲a.a.a.a 

方法2:修改zabbix_proxy的配置文件選項# SourceIP=b.b.b.b <已進行測試確認OK>

方法3: 把eth0 eth0:1 的IP互換一下<這個最簡單,但是系統在跑,沒法搞>

使用方法2時,使用zabbix_get時,返回的仍然是空值。但是zabbix_server/zabbix_proxy是能夠正常接收的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章