5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Zabbix AlertをHangouts Chatへ送る[Zabbix 4.0]

Last updated at Posted at 2019-09-02

TL;DR

Zabbixの障害通知を、Google Hangouts Chatのチャットルームで受け取れます
Zabbix側、Hangouts側両方での設定が必要です

前提

・Ubuntu 16.04 LTS
・Zabbix 4.0

●Hangouts Chat の設定

  1. 通知を受け取りたいチャットルームを開きます
  2. チャットルームメニュー(画面上部のメンバー数を出している所の▼)より、「Webhookを設定」を選びます
  3. 「別のWebhookを追加」をクリックし、適当な名前を入力して、「保存」をクリックします
  4. 作成されたWebhookのURLを、URLコピー用ボタンで取得します

●Zabbixアラート用のスクリプト作成

Zabbixアラート用のスクリプトの配置場所を以下で特定します

$ sudo grep AlertScriptsPath /etc/zabbix/zabbix_server.conf
※Zabbixのインストール手順によって異なります

特定できたAlertScriptsPathに、Webhook用のスクリプトを配置します
以下のようなスクリプトを用意します。
$1、$2には、Zabbixのアラート内容が入ります。

sample.sh
# !/bin/bash
export PATH="/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin"
export LANG=C

access_token=XXXXXXXXXXXXXXXXXXXXXXXXXX # 「Hangouts Chatの設定」で取得したアクセストークン
proxy=XXXXXXXXXXXXXXXXXX # (Optional) プロキシが必要な場合

subject=$1
body=$2

# Webhook 
curl -X POST ${access_token} -x ${proxy} \
--header "Content-Type: application/json; charset=UTF-8" \
--data "{'text': '
件名:
$subject

メッセージ:
$body
'}"

exit 0

スクリプトが実行ユーザ:Zabbixによって実行可能となるように権限変更しましょう。

$ sudo chown zabbix <スクリプトのパス>
$ sudo chmod 700 <スクリプトのパス>

●Zabbix設定(アクション作成)

ZabbixのWebUIより、設定→アクションを開き、「アクションの作成」を行います。
名前に任意の名前をつけ、実行条件でアラート通知の条件を指定します。
実行内容で、障害発生時のアラート内容を定義します。
復旧時の実行内容で、障害解決時のアラート内容を定義します。
更新時の実行内容で、障害更新時(未検証)のアラート内容を定義します。

定義例
件名:*障害発生: {EVENT.NAME}*
メッセージ:障害発生日時: {EVENT.DATE} {EVENT.TIME}
障害名: {EVENT.NAME}
ホスト名: {HOST.NAME}
深刻度: {EVENT.SEVERITY}

イベントID: {EVENT.ID}
{TRIGGER.URL}

●Zabbix設定(メディアタイプ作成)

ZabbixのWebUIより、管理→メディアタイプを開き、「メディアタイプの作成」を行います。
名前に任意の名前をつけ、スクリプト名に作成したスクリプトのファイル名を指定します。
スクリプトパラメータとして、{ALERT.SUBJECT}と{ALERT.MESSAGE}を追加します。
このパラメータには、先程定義したアクションの内容がそれぞれ代入されます。
スクリプトに渡される引数にもなります。

●動作確認

スクリプトのテスト等の機能はZabbixでは提供されていないため、
監視対象の負荷をかけるなどで障害を発生させる必要があります。

参考リンク

5 Custom alertscripts [Zabbix Documentation 4.0]

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?