お世話になっております。 zabbix 2.2.3を利用しています。 (OSはcent OS 6.4です)
アクションにて、複数ユーザが所属しているユーザグループに対して トリガー条件合致時にメールを送る設定にしていますが、メールが ユーザひとりひとりに対して1通づつ送信されます。 (ユーザ1人ごとにToが設定されたメールが複数送信される)
これを、ユーザグループに所属しているユーザすべてにToを 設定したメールを1通だけ送ることは可能でしょうか?
以上、宜しくお願いいたします。
Zabbixの標準の機能では、設定だけでそのようなことを実現することは不可能です。
そのぞれのアカウントに対して個別の通知方法を汎用的に選択できるようになって いますので、1ユーザごとに処理されます。
工夫次第で、なんとかすることは可能です
メール通知用の「メディア」を2種類定義します
・メディア1(通知キッカケ用) ・アクションから発動する通知動作のキッカケとするためのメディア ・ユーザグループ内の代表ユーザ(1アカウント)のみに、 「ユーザグループ名」や「自ユーザ名」などを「値」として、設定を付与 ・メディア2(アドレス情報登録用) ・アクションからは直接参照しない、「ダミー」のメディア情報 ・各ユーザアカウントに結びつける実際のアドレス(xxx@xxx.com)等を 「値」として設定
トリガー発報時に動作するスクリプトの引数には 1.メールアドレス値(メディアの「値」の情報) 2.タイトル 3.本文 が渡されることを利用して、1の部分から「ユーザグループ名」や「自ユーザ名」を受け取ります
スクリプトの中で、ZabbixAPIを呼び出すスクリプトを記述して、 得た「ユーザグループ名」や「自ユーザ名」の値から、 当該アカウントの「ユーザグループ名」情報などを取得して 当該グループに所属している「ユーザアカウント」をすべて列挙して さらに個々のユーザアカウントに結び付けられている「メディア2」の設定値から 送信対象となるメールアドレス値を取得します
得られた複数のアドレス情報をすべて利用して、「To」の項目に設定したうえで 実際の送信処理を行えば‥全員宛てに1通送信で済みます
・メディアの設定が複数絡むこと → 少しややこしい、という欠点 ・アクションからはダミー側のメディアが呼び出されること → スクリプト内で列挙しているのを知らなければ、ナニやってるか解りにくい、という欠点 ・各ユーザアカウントは、ZabbixのUIからメールアドレス設定・変更ができること → 各ユーザの使い勝手は、普段と同じままにできる、という利点
設定組み合わせ次第ですね‥
take9flさん
要望と違いますが…
ユーザグループに所属しているユーザすべてを登録したMLを作成して、 メール送信用のユーザを作り、MLを割り当てては?
ZabbixのアカウントとMLリストの2重管理になってしまいますが… この方法だとZabbix GUI使わないけどメール見たい人にもメール飛ばせます。
皆様> コメントありがとうございます。 Zabbix標準機能では、実現できない旨了解いたしました。
まずは、fripper様にご提示いただきました方法を試してみようと考えます。 ありがとうございました。
アカウント名 take9fl
Zabbix関連
TNK - 投稿数: 4743
Zabbixの標準の機能では、設定だけでそのようなことを実現することは不可能です。
そのぞれのアカウントに対して個別の通知方法を汎用的に選択できるようになって
いますので、1ユーザごとに処理されます。
fripper - 投稿数: 495
工夫次第で、なんとかすることは可能です
メール通知用の「メディア」を2種類定義します
・メディア1(通知キッカケ用)
・アクションから発動する通知動作のキッカケとするためのメディア
・ユーザグループ内の代表ユーザ(1アカウント)のみに、
「ユーザグループ名」や「自ユーザ名」などを「値」として、設定を付与
・メディア2(アドレス情報登録用)
・アクションからは直接参照しない、「ダミー」のメディア情報
・各ユーザアカウントに結びつける実際のアドレス(xxx@xxx.com)等を
「値」として設定
トリガー発報時に動作するスクリプトの引数には
1.メールアドレス値(メディアの「値」の情報)
2.タイトル
3.本文
が渡されることを利用して、1の部分から「ユーザグループ名」や「自ユーザ名」を受け取ります
スクリプトの中で、ZabbixAPIを呼び出すスクリプトを記述して、
得た「ユーザグループ名」や「自ユーザ名」の値から、
当該アカウントの「ユーザグループ名」情報などを取得して
当該グループに所属している「ユーザアカウント」をすべて列挙して
さらに個々のユーザアカウントに結び付けられている「メディア2」の設定値から
送信対象となるメールアドレス値を取得します
得られた複数のアドレス情報をすべて利用して、「To」の項目に設定したうえで
実際の送信処理を行えば‥全員宛てに1通送信で済みます
・メディアの設定が複数絡むこと
→ 少しややこしい、という欠点
・アクションからはダミー側のメディアが呼び出されること
→ スクリプト内で列挙しているのを知らなければ、ナニやってるか解りにくい、という欠点
・各ユーザアカウントは、ZabbixのUIからメールアドレス設定・変更ができること
→ 各ユーザの使い勝手は、普段と同じままにできる、という利点
設定組み合わせ次第ですね‥
KAZ - 投稿数: 1085
take9flさん
要望と違いますが…
ユーザグループに所属しているユーザすべてを登録したMLを作成して、
メール送信用のユーザを作り、MLを割り当てては?
ZabbixのアカウントとMLリストの2重管理になってしまいますが…
この方法だとZabbix GUI使わないけどメール見たい人にもメール飛ばせます。
take9fl - 投稿数: 8
皆様>
コメントありがとうございます。
Zabbix標準機能では、実現できない旨了解いたしました。
まずは、fripper様にご提示いただきました方法を試してみようと考えます。
ありがとうございました。