Zabbixサーバには、障害を検知した際に管理者へメール等でその内容を知らせる便利な機能がある。
監視画面を常に見ている必要がなくなるので大変楽になるのだが、仮にメールサーバを自前で用意する場合はメールサーバが外部からの攻撃に晒される事になりかねないためオススメはしたくない。
そこで、今回はGmailを利用して比較的安全にメール送信をする方法について説明する。
Zabbixサーバ側の設定
まずはZabbixサーバ側での設定だ。
- メディアタイプの作成
- Adminユーザーのメール設定
- アクションの定義
上記の順番で設定を行っていく。
メディアタイプの作成
ダッシュボードから「管理」-「メディアタイプ」を選択して「メディアタイプの作成」をクリック。
下図の画面が出てくるので設定を入力していく。
下記のように設定を入力できたら「追加」をクリック。
■設定項目
名前:Gmail
SMTPサーバー:smtp.gmail.com
ポート番号:465
SMTP helo:smtp.gmail.com
送信メールアドレス:******@gmail.com
接続セキュリティ:SSL/TLS
認証:ユーザー名とパスワード
ユーザー名:******(Gmailアドレスアカウント)
パスワード:******(上記用パスワード)
メディアタイプの一覧に「Gmail」が追加された。
Adminユーザーのメール設定
管理者用にAdminユーザーがデフォルトで存在している。「管理」-「ユーザー」からエイリアスの「Admin」をクリック。
更に「メディア」-「追加」をクリック。
下図のように設定するが「有効な時間帯」および「指定した深刻度のときに使用」は適宜設定すること。
■設定項目
タイプ:Gmail
送信先:******@******(送信先にしたいメールアドレス)
有効な時間帯:1-7,00:00-24:00(この場合は月~日の0時~24時)
指定した深刻度のときに使用:※チェックを入れた項目で送付
上記のように設定出来たら「追加」をクリック。前の画面に戻ったら下図のように追加されていることを確認したら画面を遷移させずそのまま「更新」をクリックする。
※「更新」クリックする前に画面遷移させると追加した内容が反映されない
これでAdminユーザー情報が更新された。
アクションの定義
「設定」-「アクション」から、すでにある「Report problems to Zabbix administrators」をクリック。
「有効」にチェックして「更新」をクリック。
これでZabbixサーバ側の設定は完了だ。ただ、これだけではGmailでメール送信ができるわけではない。続いてそれを説明していく。
Gmail側の設定
セキュリティ設定の変更
Zabbixサーバ側で設定が完了していても、Gmail側でセキュリティ設定をきちんとしていないと障害検知した時の報告メールがGmail側でブロックされてしまう。その時は下記のメールが届くだろう。
本来はセキュリティが有効になっている。そのためこのようにZabbixサーバ側でメール発信しようとするとブロックされてしまう。
そこでGoogleアカウントの「セキュリティ」(https://myaccount.google.com/security)にアクセスし「安全性の低いアプリのアクセス」にある「アクセスを有効にする(非推奨)」をクリックする。
すると、「安全性の低いアプリの許可:無効」となっている。右側にあるスイッチをオンにする。
すると「安全性の低いアプリの許可:有効」となり、これでZabbixサーバ側でGmailの送信ができるようになる。
※画面内の説明にあるように、Gmail側のセキュリティ面にリスクが生じる事は理解しておこう
設定確認メールの受信
先ほど行った設定が有効になると、以下のようなメールがGmailから届いているはずだ。
メールの送信テスト
メールを送信するテストだが、今回はZabbixサーバの再起動で試すこととした(root権限で行うこと)
デフォルトでは無効になっている、Zabbix Serverの監視状態を「有効」にする。
zabbix-serverを再起動させて障害を検知させる。
systemctl restart zabbix-server
設定が正しくされているなら、メールが送信されてくるはずだ。
メールが送信されていれば「レポート」-「アクションログ」でも確認することができる。
これでZabbixでの監視がグンと楽になった。その⑤に続く
コメント