要件定義
今回はZabbixでログ監視をしながら不穏を検知した際にメールを飛ばすということをやっていきたいと思います。
今回は特定の文字列をトリガーにして、自身のGmailアカウントにメールを送信する設定をします。
Zabbix設定
監視アイテム作成
「設定>ホスト>アイテム>アイテムの作成」を押下。
名前 | LogCheck |
タイプ | Zabbixエージェント(アクティブ) |
キー | log[/var/log/hoge.txt,hoge] |
データ型 | ログ |
監視間隔 | 任意 |
ヒストリの保存期間 | 任意 |
トリガー作成
「設定>ホスト>トリガー>トリガーの作成」を押下。
名前 | Detct_hoge |
深刻度 | 警告 |
条件式 | {Zabbix server:log[/var/log/hoge.txt,hoge].str(hoge)}=1 |
障害イベント生成モード | 複数 |
手動クローズを許可 | 許可 |
条件式は追加を押下し、上で作成したアイテムを選択し、関数でstr()を選択すれば簡単に作成できる。もちろんコピペでもおけ。
メディアタイプ作成
「管理>メディアタイプ>メディアタイプの作成」を押下。
名前 | 任意 |
タイプ | メール |
SMTPサーバ | smtp.gmail.com |
SMTPサーバポート番号 | 465 |
SMTP helo | smtp.gmail.com |
送信元メールアドレス | 任意 |
認証 | ユーザ名とパスワード |
ユーザ名 | Googleアカウント |
パスワード | Googleアカウントパスワード |
ユーザ設定
「管理>ユーザ>ユーザ名>メディア」を押下。
タイプ | 上で作成したメディアタイプ |
送信先 | 送信先メールアドレス |
有効な時間帯 | 任意 |
深刻度 | 任意 |
有効/無効 | 有効 |
アクション作成
「設定>アクション>アクションの作成」を押下。
アクションタブ
名前 | 任意 |
実行条件 | トリガ 等しい 上で作成したトリガ |
有効/無効 | 有効 |
実行内容タブ
ステップ間隔 | 任意 |
ユーザに送信 | 上で設定したユーザ |
次のメディアのみ使用 | 上で作成したメディアタイプ |
これで設定は完了です。
実験
それでは試しに不穏ログを流してみたいと思います。
$ echo "hoge" >> /var/log/hoge.txt
Gmailにメールが送信されていれば設定完了です。エラーが出ている場合はGoogleアカウントの設定から安全性の低いアプリへのアクセスを許可して下さい。それでも駄目な場合はGoogleアカウントのパスワードを再設定すると治ることがあります。