【問題解決サマリ】
bageljp/zabbix-slack
https://github.com/bageljp/zabbix-slack/blob/master/slack.sh
を使ってzabbixのアラートをslackに飛ばそうとしたところ、shは叩かれているがタイムアウトした。
自分自身にhttp(s)アクセス許可したら解決した
【問題詳細】
Zabbixがalertを飛ばすタイミングで以下のようにプロセス自体はできているが、最終的にメッセージが飛んでいない状態だった
zabbix 8952 0.0 0.0 115224 3092 ? S 17:18 0:00 /bin/bash -x /usr/lib/zabbix/alertscripts/slack.sh #alerttest ** alerttest_NG: Too many processes running on...
zabbixserverが自分自身にhttpsリクエストできないのが問題だった。
AWS EC2インスタンスで動作させていたため、セキュリティグループで自身のIPからの接続を許可したところ問題なくslackへのalertが届いた
【インストールメモ】
【参考手順】
https://qiita.com/wapa5pow/items/2327561493015a833c97
https://github.com/bageljp/zabbix-slack
https://qiita.com/tdkaoru/items/7ad9e28cf592f10849df
# アラートスクリプトの置き場所を確認する
grep AlertScripts /etc/zabbix/zabbix_server.conf →AlertScriptsPath=/usr/lib/zabbix/alertscripts
# インストール
cd /usr/local/share/zabbix/alertscripts wget https://raw.githubusercontent.com/bageljp/zabbix-slack/master/slack.sh chmod a+x slack.sh
# slackのwebhookURLを用意
slackのアカウント、チャンネルをご用意いただいた上で
https://my.slack.com/services/new/incoming-webhook
でwebhookURLを取得しておきます。
# slack.shを編集
slack_url='https://hooks.slack.com/services/XXX/XXXX/XXXXX'
zabbix_baseurl="http://zabbix.example.com" zabbix_username="yourzabbixusername" zabbix_password="zabbixpassword"
# Zabbixがスクリプトを利用してアラートを通知するように設定する
(以下省略、上記参考手順をご確認下さい)