Zabbix Alert Notification Script for Slack. by pure python.
Can use by "Remote command". But can't use by "Media type".
if use by python2.6 (like CentOS6.x), install
argparse
module. ex,$ sudo yum install python-argparse
Notification example.
In your zabbix server,
$ pip install zbx2slack
or you can download directly using wget
, curl
.
$ wget https://raw.githubusercontent.com/laughk/zbx2slack/master/zbx2slack.py
$ chmod +x zbx2slack.py
(if necessary, use sudo
. )
put file and add mode to execute.
get incoming-webhook url for your slack. from incoming webhook integration.
[Configureation]
[Action]
Choose 'Trigger' at Event source and Create Action.
if "Recovery message" checked, Uncheck the checkbox.
- At [Conditions] tab, add
Trigger value = OK
to Conditions. Trigger value = OK
andTrigger value = PROBLEM
are in Conditions.
- At [Conditions] tab, add
- At [Operations] tab, add
Remote Command
Operation type : Remote Command
Targeta list : any host (ex. Current host)
Type : Custom script
Execute on : Zabbix server
Commands:
(if directly download, replace
zbx2slack
tozbx2slack.py
.)zbx2slack \ --zabbix-server-url "http://zabbix.example.com/zabbix" \ --slack-botname "Zabbix Alert" \ --slack-incoming-webhook-url "https://hooks.slack.com/services/xxxxxxxxx/xxxxxxxxx/...." \ --trigger-id "{TRIGGER.ID}" \ --trigger-name "{TRIGGER.NAME}" \ --trigger-status "{TRIGGER.STATUS}" \ --trigger-severity "{TRIGGER.SEVERITY}" \ --event-id "{EVENT.ID}" \ --item "{HOST.NAME1}|{ITEM.NAME1}|{ITEM.KEY1}|{ITEM.VALUE1}|{ITEM.ID1}" \ --item "{HOST.NAME2}|{ITEM.NAME2}|{ITEM.KEY2}|{ITEM.VALUE2}|{ITEM.ID2}" \ --item "{HOST.NAME3}|{ITEM.NAME3}|{ITEM.KEY3}|{ITEM.VALUE3}|{ITEM.ID3}"
- At [Operations] tab, add
MIT
Kei Iwasaki <me@laughk.org>