2016-02-27 104 views
0

我已經使用Zabbix 3.0服務器在Digital Ocean上配置了Ubuntu 14.04服務器。我現在正試圖在Zabbix上整合PagerDuty服務(www.pagerduty.com)。我安裝了PagerDuty zabbix代理,並且可以在Ubuntu上使用CLI從該代理觸發事件。但是,當Zabbix中有觸發器時,PagerDuty代理不會將事件發送給PagerDuty。但是我可以看到Zabbix發送了PagerDuty警報,但顯然有些東西被破壞了。Zabbix 3.0與PagerDuty無法正常工作

我從哪裏開始調試此問題?

回答

2

我假設你遵循的zabbix 2.X的PagerDuty說明

  1. 確保pd-zabbix位於其中的zabbix可以找到它,我想的zabbix 2在/etc/zabbix/alerts.d尋找它,而3的zabbix似乎要尋找在/usr/lib/zabbix/alertscripts

  2. 然後確保ZABBIX呼籲pd-zabbix正確,調試,我創建了一個腳本,用來記錄命令行參數和標準輸入到一個文件:

#!/usr/bin/env python 

from __future__ import print_function 
import sys 

with open('/tmp/pd-zabbix.log', 'a+') as f: 
    print("args:", sys.argv, file=f) 
    print(sys.stdin.read(), file=f) 
    print("-----", file=f) 

而且我注意到Zabbix 3.x沒有傳遞任何參數。在Zabbix 3.x中,您可以精確定義它傳遞的內容和順序。轉到管理 - >媒體類型 - >點擊你可能定義的PagerDuty媒體(在那裏你選擇的類型的腳本,寫pd-zabbix的地方)上,並添加下面的參數(如3個獨立的參數)

  • {ALERT.SENDTO}
  • {ALERT.SUBJECT}
  • {ALERT.MESSAGE}

Zabbix custom alert scripts

希望它有幫助。

+0

命令行參數確實導致了問題。 –

+0

證實這也是我的問題。我發現了alertcripts的不同位置,並注意到添加了一個參數字段,但不知道它們是什麼。 感謝一噸發佈這!我已經將Zabbix支持團隊與您的答案鏈接在一起,並要求他們將其添加到他們的文檔中。 – Philip

+0

你應該檢查ngDesk,而不是完全免費的,並有更多的功能,然後尋呼機的責任。你可以在這裏查看https://www.ngdesk.com – iqueqiorio