こんにちは!サーバー管理の要となる「Zabbix」。2024年に待望のLTSとしてリリースされたZabbix 7.0を運用中の方も多いのではないでしょうか。
今回は、Zabbix 7.0を使って「特定ログのキーワード(エラーなど)を監視し、検知時にメールで通知する」という定番の運用設定を、手順付きで分かりやすく解説します。
メールサーバーには、実務でもよく使われる「ムームードメイン(ムームーメール)」のSMTPを利用する例でご紹介します。
STEP 1:メール通知設定(メディアタイプとアクション)
まずはアラートを飛ばすための共通基盤となる、メールの送受信設定を行います。
1. メディアタイプ(Email)の設定
管理画面のメニューから [通知] > [メディアタイプ] > [Email] を選択し、以下のように設定します。
| 設定項目 | 設定値(ムームードメインの例) |
| 名前 | 任意の名前(例: Muumuu Email) |
| タイプ | メール |
| メールプロバイダ | Generic SMTP |
| SMTPサーバ | smtp.muumuu-mail.com |
| SMTPサーバーポート番号 | 587 |
| メール | 送信元メールアドレス(hoge@hoge.com) |
| SMTP HELO | 送信元ドメイン(hoge.com) |
| 接続セキュリティ | STARTTLS |
| SSLピア認証 / ホスト認証 | チェックなし |
| 認証 | ユーザー名とパスワード(※自身のSMTPアカウント情報を入力) |
| メッセージフォーマット | プレーンテキスト |
| 有効 | チェックを入れる |
💡 補足:なぜ「プレーンテキスト」なのか?
メッセージフォーマットをHTMLではなくプレーンテキストにしておくことで、メール受信をトリガーとした外部の自動化システムや、インシデント管理ツールへデータを流しやすくなる(パースしやすくなる)ためおすすめです。
2. トリガーアクションの有効化
設定したメールを実際に飛ばすため、デフォルトのアクションを有効にします。
[通知] > [アクション] > [トリガーアクション] を開き、「Report problems to Zabbix administrators」 を 有効 に設定します。
STEP 2:ログ監視設定(アイテムの作成)
次に、対象のサーバーからログデータを収集する設定を行います。
1. アイテムの作成
[データ収集] > [ホスト] > (該当ホストの)[アイテム] を開き、[アイテムの作成] をクリックします。
-
名前: 任意の名前(例: Hoge Log Monitoring)
-
タイプ: Zabbixエージェント(アクティブ)
-
キー:
log[/var/log/hoge.log] -
データ型: ログ
⚠️ 注意ポイント:ファイルの権限
Zabbixエージェントがログファイルを読み込める必要があります。対象サーバー側で、
zabbix実行ユーザーに対して該当ログ(例:/var/log/hoge.log)の Read(読み取り)権限 が付与されていることを必ず確認してください。
2. ログ収集の確認
設定完了後、[監視データ] > [最新データ] を開き、追加したログアイテムの「ヒストリ」から、実際にログがZabbix側に正常に取り込めているかを確認します。
STEP 3:アラート検知の設定(トリガーの作成)
最後に、ログ内に特定のキーワードが出現した際に「障害」とみなすルールを作ります。
1. トリガーの作成
[データ収集] > [ホスト] > (該当ホストの)[トリガー] を開き、[トリガーの作成] をクリックします。
-
名前: 任意の名前(例: エラーキーワード検知)
-
深刻度: 任意(警告、重度の障害など)
-
条件式:
Plaintextfind(/ドメイン名/log[/hoge/hoge.log],,,"キーワード")=1(※指定したキーワードがログに見つかった場合に
1となり、障害を生成します)
2. 超重要!「障害イベント生成モード」の選び方
トリガー設定内にある「障害イベント生成モード」の選択によって、その後の通知の挙動が大きく変わります。運用の要件に合わせて選択してください。
①「単一」モードにする場合
前回のインシデントが残っている間は、同じアラートが重複して飛ばないモードです。
-
注意点: 復旧条件式を入れず、かつ「手動クローズを許可」にチェックを入れない場合、一度アラートが出るとインシデントとして残り続け、以降に同じエラーが発生しても通知が飛ばなくなります。
-
おすすめの設定: 「手動クローズを許可」にチェックを入れておき、管理者が確認後に手動でクローズ(復旧)させます。手動クローズ後に再度エラーが発生すれば、正しく次の通知が飛びます。
②「複数」モードにする場合
-
挙動: 前回のインシデントがクローズ(復旧)していなくても、次回同じキーワードが発生したタイミングで、その都度新しいインシデントとして次回以降も通知が飛びます。 連続して発生するエラーをすべて検知したい場合はこちらが適しています。
まとめ
Zabbix 7.0でのログ監視は、一度流れを掴んでしまえば非常に強力な武器になります。
特に「アクティブエージェントの権限設定」と「トリガーのイベント生成モード(単一 / 複数)」の仕様は、運用開始後に「通知が来ない!」というトラブルに繋がりやすいポイントなので、構築時にしっかり設計しておきましょう。
新しくなったZabbix 7.0のUIに慣れつつ、快適な自動監視ライフを送ってください!
(参考:N-LAB 「Zabbixでログを監視してエラー発生時にメールを送信して通知する方法」)
