ZABBIXでのホスト設定や監視項目をセットしたら障害発生時にアラートをメールで受け取れるように設定したいのですが、今回のサーバー構成はZABBIXとメールサーバーは別で、どちらもAWSのEC2です。加えてメールサーバーはSMTP認証を設定したPostfix どちらのOSもCentOS ZABBIXサーバーが直接メールを送信する場合はサンプルとして用意されているメディアタイプに設定を加えればメールが送信されてくるけど 今回の構成だとメールサーバーはZABBIXサーバーとは別で既に運用している物でメールの送信の際はSMTP認証が必要です。どうすればいいのか? お決まりのGoogle検索。 https://sites.google.com/site/learningoss/home/zabbixkaramerude-tong-zhi こちらの記事を参考にさせていただきました。
1.ZABBIXサーバーへPostfixをインストール
yum install postfix vi /etc/postfix/main.cfを編集する relayhost = [mail.xxx.xxx.jp]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth_conf smtp_sasl_mechanism_filter = CRAM-MD5 smtp_sasl_security_options = noanonymous
※リレー先ホストを設定してSMTP-Authの設定とパスワードファイルのパスなどを入れてみる
2.SMTP認証用ファイルを作成
メールサーバーのアカウントとパスワードをファイルに設定
vi /etc/postfix/smtp_auth_conf mail.xxx-xxxxxx.jp アカウント名:パスワード
パスワードファイルをhashでDB化
postmaphash:/etc/postfix/smtp_auth_conf
postfixを再起動
/etc/init.d/postfix restart
3.コマンドでメール送信テスト
mailx で送信してみる きちんとメールサーバー経由でメールが届くか確認する
また、きちんとリレーされてメールが送信されているかを確認してください。
4.ZABBIXのメディアタイプを修正
名前:Email(デフォルト)
タイプ:メール
SMTPサーバー:localhost4.localdomain4
SMTPHelo:ドメイン名(送信ドメイン)
送信元メールアドレス:メールアドレス
5.動作検証
すでにトリガーなどがホストに設定されている前提ですが、擬似的にアラートを発生させる。私の場合はホスト設定しているIPアドレスを変更した
6.メールが配送されたらメールヘッダーを確認
きちんとリレーしているかなぁ?