Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【Zabbix 7.0】ログ監視の構築手順とメール通知設定(ムームードメインSMTP連携)

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

こんにちは!サーバー管理の要となる「Zabbix」。2024年に待望のLTSとしてリリースされたZabbix 7.0を運用中の方も多いのではないでしょうか。

今回は、Zabbix 7.0を使って「特定ログのキーワード(エラーなど)を監視し、検知時にメールで通知する」という定番の運用設定を、手順付きで分かりやすく解説します。

メールサーバーには、実務でもよく使われる「ムームードメイン(ムームーメール)」のSMTPを利用する例でご紹介します。

スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

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. トリガーの作成

[データ収集] > [ホスト] > (該当ホストの)[トリガー] を開き、[トリガーの作成] をクリックします。

  • 名前: 任意の名前(例: エラーキーワード検知)

  • 深刻度: 任意(警告、重度の障害など)

  • 条件式:

    Plaintext

    find(/ドメイン名/log[/hoge/hoge.log],,,"キーワード")=1
    

    (※指定したキーワードがログに見つかった場合に 1 となり、障害を生成します)

2. 超重要!「障害イベント生成モード」の選び方

トリガー設定内にある「障害イベント生成モード」の選択によって、その後の通知の挙動が大きく変わります。運用の要件に合わせて選択してください。

①「単一」モードにする場合

前回のインシデントが残っている間は、同じアラートが重複して飛ばないモードです。

  • 注意点: 復旧条件式を入れず、かつ「手動クローズを許可」にチェックを入れない場合、一度アラートが出るとインシデントとして残り続け、以降に同じエラーが発生しても通知が飛ばなくなります。

  • おすすめの設定: 「手動クローズを許可」にチェックを入れておき、管理者が確認後に手動でクローズ(復旧)させます。手動クローズ後に再度エラーが発生すれば、正しく次の通知が飛びます。

②「複数」モードにする場合

  • 挙動: 前回のインシデントがクローズ(復旧)していなくても、次回同じキーワードが発生したタイミングで、その都度新しいインシデントとして次回以降も通知が飛びます。 連続して発生するエラーをすべて検知したい場合はこちらが適しています。

まとめ

Zabbix 7.0でのログ監視は、一度流れを掴んでしまえば非常に強力な武器になります。

特に「アクティブエージェントの権限設定」「トリガーのイベント生成モード(単一 / 複数)」の仕様は、運用開始後に「通知が来ない!」というトラブルに繋がりやすいポイントなので、構築時にしっかり設計しておきましょう。

新しくなったZabbix 7.0のUIに慣れつつ、快適な自動監視ライフを送ってください!

(参考:N-LAB 「Zabbixでログを監視してエラー発生時にメールを送信して通知する方法」)

タイトルとURLをコピーしました