*

ZabbixからsSMTPを利用してエラー通知メール送信

公開日: : 投稿者:raru Linux, Raspbian, サーバ, メール

今回はsSMTPを利用してRaspbian上のZabbix Serverからアラートメールの送信を行います。
また、合わせてサーバ監視の設定も行いたいと思います。

ただしzabbix agentは利用していません。
今のところはhttp, httpsの監視だけで充分だと考えています。

監視対象ホストの追加

まずは監視対象ホストを追加します。
ホスト設定とメール設定の順番は前後しても問題ないのであまり気になさらず。

まずはzabbixのウェブ管理画面へアクセスして[Configuration] -> [Hosts]と選択してください。
その後create hostを選択して、ホストを追加していきます。

ホスト追加設定1

今回はこのブログサーバを対象に監視しているので、ホストにはドメインを指定。
表示用の名前も同じで充分なので同様に。
グループはデフォルトで用意されていたlinux serverを指定しました。
新しく作成しても、他を指定しても構いません。自分が管理するためのグルーピングですので監視動作自体に影響はないはずです。

またzabbix-gentを利用しなくても Agent interfaces設定は必要になってしまうのでDNSにしつつそれっぽく指定しています。指定しているだけで実際には利用されていません。

ここまで設定ができたら、テンプレートタブを選択して監視する内容を設定します。

ホスト追加設定2

Link new templateのフォーム右にあるselectを押すと、テンプレート一覧が開くのでそこからhttp, httpsを選択して、Addボタンを押した後の画面です。
あとはSaveを選択して保存すれば完了です。

ホスト追加設定3

これで監視対象のホスト設定が追加されました。

sSMTPアラートメール設定

続いてメール送信の設定を行います。
Zabbixのメール送信では送信用のsmtpを設定するものがあります。
しかしsSMTPでは通信の受付を行う用のsmtpを自分自身に持っていないため、この設定が使えません。

仕方がないので他に用意されているスクリプトの設定を行い、そのスクリプトからsSMTPを利用したいと思います。

まずは[Administration] -> [Media Type] -> Create media typeを選択と画面を遷移していきます。
そうすると以下のような画面が表示されるのでタイプがscriptとなる、メディアタイプを追加します。

メール用設定1

次はメールの宛先の設定を行います。
[Administration] -> [Users]と画面を移動して、以下の画面にある Admin (Zabbix Administrator)を選択していきます。

メール用設定2

そうすると画面が遷移しますので、その画面の中からメディアタブを選択して[追加]リンクを選択して設定を行います。

ホスト追加設定3

この設定ではhogehoge@gmail.com宛に、24時間、毎日時間関係なしでメールを送信するようになります。
曜日や時間を設定したい方は時間の設定を編集してください。
個人的には24時間365日しないのであれば、なんのための監視なんだと思いますが。

以上でzabbix上の設定は完了です。

shellスクリプト作成

先ほど設定したシェルを作成します。
また、合わせてもろもろ設定の確認や権限設定をしましょう。

root@raspberrypi:~# cat /etc/zabbix/zabbix_server.conf | grep AlertScriptsPath
### Option: AlertScriptsPath
# AlertScriptsPath=${datadir}/zabbix/alertscripts
// 設定したシェル配置用directory
AlertScriptsPath=/etc/zabbix/alert.d/

root@raspberrypi:~# vi /etc/zabbix/alert.d/zabbix-alert-mail.sh
root@raspberrypi:~# chown zabbix:zabbix /etc/zabbix/alert.d/zabbix-alert-mail.sh 
root@raspberrypi:~# chmod 744 /etc/zabbix/alert.d/zabbix-alert-mail.sh 
root@raspberrypi:~# ls -l /etc/zabbix/alert.d/zabbix-alert-mail.sh 
-rwxr--r-- 1 zabbix zabbix 240 11月  1 00:57 /etc/zabbix/alert.d/zabbix-alert-mail.sh
root@raspberrypi:~# cat /etc/zabbix/alert.d/zabbix-alert-mail.sh 
#!/bin/sh

export MAIL_TO="$1"
export SUBJECT="$2"
export CONTENT="$3"

echo "$CONTENT" > /tmp/mymailinput_$$

mail -E -s "$SUBJECT" $MAIL_TO < /tmp/mymailinput_$$
rm /tmp/mymailinput_$$

まずはシェルを配置する場所を確認します。
次にシェルを作成して、権限の設定です。

シェルの中身自体は、先ほど設定していた値がzabbixから渡されるのでそれを利用してmailコマンドを叩いているだけです。
mailコマンドを叩けばsSMTPが利用されるので無事メールが送信されるということですね。

また動作検証を行うときにはhttp通信を落とすためfirewallを閉じるかアプリケーションサーバのデーモンを停止するなどがあります。
私はそもそも起動させてないぜんぜん関係ないサービスを監視対象にして動作検証を行いました。
そもそもhttp, httpsを止めたくはありませんので。

以上で基本的な監視設定は完了かと思います。

あとがき

基本的な設定は完了したとか言いつつ、アラート通知後何分間状態に変化がないと再通知が来るのか気になっています。
そもそもzabbixがどんなことができて、どういう設定があるのか理解していないのであとは随時使いながら覚えていこうと思います。

参考サイト

今回ウェブの管理コンソールからの設定は以下の方のものが非常に参考になりました。
Zabbixを使ってエージェント無しで単純な Webサイト監視だけを行う最短の方法

関連記事

no image

RaspbianにRedmine3を導入

普段Zabbixを入れて運用しいてるRaspbianにRedmineも入れてみました。 ややスペッ

記事を読む

no image

CentOSにSSH鍵認証で接続するGitリポジトリを作成

今回友人と共同開発を行なうと思い、ざっくりとGitサーバを建ててみました。 私はSVNの方が好きな

記事を読む

no image

CentOS 7 で ruby on rails 環境構築

気づいたらCentOS7が出てから時間が立っていました。 そろそろ新しく建てるサーバはCentOS

記事を読む

no image

RedmineからsSMTPでメールを送信

Redmineの管理画面にアクセスしたところメール通知設定は所定のファイルを編集しないとできないよう

記事を読む

no image

CentOS7にウイルスソフト(Clamd)を導入

今回はLinuxのウイルス対策ツールのClamdの導入を行いたいと思います。 Windowsマシン

記事を読む

no image

Raspberry Pi 2(Raspbian) 初期設定

性懲りもせずにRaspberry pi2を購入しました。 初代に比べて相当スペックが向上しており、

記事を読む

no image

rsyncでsshの鍵を指定してデータ転送

今回は旧サーバから新サーバへいろいろ移設するために便利なrsyncの設定です。 設定というほどのも

記事を読む

no image

Raspberry Pi2/ラズベリーパイ2にFedoraをインストール

Raspberry pi2にFedoraがインストールできるという情報を入手したので2台目を購入して

記事を読む

no image

CentOS7 初期設定

しばらく振りになりますが、ひっそりとWordpressの移設を行っていました。 お仕事が多忙を極め

記事を読む

no image

apache2.4でBOTからのアクセスを排除

私は何か数字が動くものを見るのが好きでgoogle analyticsのリアルタイム情報をよく見てい

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑