Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. 通知の基本

Checkmkの通知とは、ホストまたはサービスの状態が変化した場合に、ユーザーに積極的に通知することです。 ある時点で、ホストmywebsrv17 のサービスHTTP foo.barOK からCRIT に変化したとします。 Checkmk はこれを検出し、デフォルトでは、このイベントに関する最も重要なデータを含む電子メールを、このサービスのすべての連絡先に送信します。 その後、状態がCRIT からOK に再び変化すると、連絡先には別の電子メールが送信され、今回はリカバリがレポートされます。

しかし、これは最も単純な通知方法にすぎません。 これをさらに改良する方法は数多くあります。

  • SMS、ポケットベル、Slack、その他のインターネットサービスで送信することができます。

  • オンコールの勤務表を考慮して、通知を特定の期間に制限することもできます。

  • 担当者が迅速に対応しない場合のエスカレーションを定義することもできます。

  • ユーザーに許可する場合、ユーザーは通知を独自に「購読」または「購読解除」することができます。

  • 誰に、何を、いつ通知するかを、一般的にルールとして定義することができます。

ただし、通知の使用を開始する前に、次の点に注意してください。

  • 通知はオプション機能です。 一部のユーザーは、24 時間体制のコントロールセンターがあり、ステータスインターフェイスでのみ操作を行っているため、通知を使用していません。

  • 最初は、自分だけに通知を有効にし、すべての責任を自分だけで負うようにしてください。 少なくとも数日間は、通知の数がどれくらいになるかを観察してください。

  • 偽アラーム (偽陽性) を最小限に減らすまで、他のユーザーに対する通知は有効にしないでください。 その方法については、監視の微調整に関する章で説明しています。

2. 電子メールによる通知の準備

最も簡単で、最も一般的な方法は、電子メールで通知を送信することです。 電子メールには、メトリックのグラフも記載するのに十分なスペースがあります。

電子メールで通知を行うには、Checkmk サーバーが電子メール送信用に設定されている必要があります。 サポートされているすべての Linux ディストリビューションでは、これは基本的に以下の手順で完了します。

  1. SMTP サーバーサービスをインストールします。 これは通常、ディストリビューションのインストール時に自動的に行われます。

  2. スマートホストを指定します。 通常、SMTP サーバーのインストール時にこの設定を求められます。 スマートホストは、Checkmk の電子メールの配信を引き継ぐ、社内のメールサーバーです。 非常に小規模な企業では、通常、独自のスマートホストは持っていません。 その場合は、電子メールプロバイダが提供する SMTP サーバーを使用します。

メール送信が正しく設定されている場合、コマンドラインから、たとえば次のコマンドを使用して電子メールを送信できるはずです。

OMD[mysite]:~$ echo "test-content" | mail -s test-subject bill.martin@example.com

電子メールは遅滞なく配信されるはずです。 これが機能しない場合は、/var/log/ ディレクトリにある SMTP サーバーのログファイルで問題の原因に関する手がかりを見つけることができます。 Linux でのメール配信の設定の詳細については、通知ルールに関する記事をご覧ください。

3. 電子メール通知の有効化

電子メールの送信が基本的に機能したら、通知の有効化は非常に簡単です。 ユーザーが電子メールで通知を受信するには、以下の条件を満たしている必要があります。

  • ユーザーにメールアドレスが割り当てられている。

  • ユーザーは、連絡先グループの割り当てを通じて、ホストまたはサービスの責任者です。

  • 連絡先グループのメンバーに電子メールで通知されるようにする通知ルールが設定されている。

メールアドレスと連絡先グループの割り当ては、この章の前のユーザー管理で説明したように、ユーザーのプロパティで行います。 たとえば、cmkadmin というユーザーアカウントに、自分のメールアドレスと連絡先グループEverything を追加します。Checkmk には、ホストおよびサービスの重要なステータス変更を HTML メールで各連絡先に通知する通知ルールがすでに設定されています。

「重要」の意味については、次のセクションで説明します。

4. 通知のテスト

実際の問題が発生するのを待ったり、テストのために問題を引き起こしたりするのは少し面倒です。Test notifications を使用すると、ホストまたはサービスの通知をシミュレートし、通知をすぐに送信することができるため、この作業が簡単になります。

まず、Setup > Events > Notifications で通知センターを開きます。

Entry page in the setup for the notifications.

このページを初めて呼び出すと、上のスクリーンショットのように、まだ設定されていない「フォールバックメールアドレス」について通知されます。 この情報は、ここでは無視してかまいません。 このトピックについては、通知ルールに関する記事で説明します。 このセクションを読むまでは、この情報をリマインダーとして残しておき、Do not show again をクリックして削除しないことをお勧めします。

そうしないと、このページには、送信された通知や失敗した通知の数などのステータス情報が表示され、通知のトピックに関連するアクション(通知ルールの作成、通知に影響を与えるホストおよびサービスルールの呼び出しなど)を呼び出すために使用されます。

Notifications ページの下部、Global notification rules ボックスには、Checkmk が提供するグローバル通知ルールが表示されます。 「グローバル」とは、すべてのユーザーが、ユーザー定義の通知ルールを作成できることを意味します。

提供されている通知ルールにより、ホストおよびサービスの重要なステータス変更に関する通知が、すべての担当者に HTML 形式の電子メールで送信されます。DOWN およびUP へのホストのステータス変更、およびCRITWARNOK へのサービスのステータス変更は、すべて「重要」として分類されます。

通知テストでは、表示されている通知ルールが評価されます。 通知テストには、Setup > Events > Notifications およびTest notifications ボタンからアクセスできます。

Dialog for defining the properties of the simulated notification.

ホストを選択し、イベントとして任意の状態変更を選択してください。Trigger notification for a specific method チェックボックスをアクティブにすると、通知がシミュレーションされるだけでなく、実際に送信されるようになります。

Test notifications 」をクリックします。 結果はページの最下部に表示されます。 最も重要なのは、上部の「Test results 」の要約です:

The summary for testing the simulated notification.

テストが成功するには、少なくとも 1 つの通知ルールが一致している必要があります。notification has been triggered を含むメッセージは、通知が実際に送信されたことを示しています。

Predicted notifications (通知が送信されました)の下に、通知が送信された宛先とチャンネルが表示されます。

The resulting notification for the simulation.

最後に、下部のフィールドの最初の列には、どの通知ルールが有効になり、どのルールが無効になったかが表示されます。

For each notification rule, it is displayed whether it has taken effect.

これにより、このシミュレーションの問題に関する電子メールがすぐに送信されます。 通知テストのオプションと結果の詳細については、通知ルールに関する記事をご覧ください。

実際の監視、つまりシミュレーション以外で通知を受け取らなかった場合でも、必ずしもエラーであるとは限りません。 Checkmk からの通知が意図的に抑制される場合があります。

  • 通知が使用不能になっている場合 Master controlスナップイン;

  • ホストまたはサービスがスケジュールダウンタイム中である場合

  • ホストがDOWN であり、そのサービスによって通知がトリガーされない場合

  • 最近ステータスが頻繁に変化し、サービスがフラッピングとしてマークされた場合

5. 通知の微調整

Checkmk の通知は、複雑なルールを用いて、お客様やお客様の組織のニーズに合わせてさまざまな方法で調整することができます。 詳細については、通知に関する記事をご覧ください。

6. トラブルシューティング

Checkmk の通知モジュールは非常に複雑です。これは、長年の実務経験で重要であることが証明された、さまざまな要件を網羅しているためです。 そのため、「なぜ Checkmk はここで通知しなかったのか」という質問は、特に初期段階では予想以上に頻繁に聞かれるでしょう。 そのため、ここではトラブルシューティングのヒントをいくつかご紹介します。

通知に関する問題については、まず、通知の失敗がないかどうかを確認してください。 これらは、Monitor > System > Failed notifications ページにリストされています。Summary 列には、エラーの原因、または少なくとも考えられる原因が示されています。

Checkmk では、システムが最近生成し、通知ルールを通過した最新の通知を分析することで、別の可能性も確認できます。Setup > Events > Analyze recent notifications.で、分析する通知のテーブルを開きます。 ここでは、通知を再送信したり、そのコンテキストを表示したり、関連する通知ルールを分析したりすることができます。 詳細については、通知に関する記事をご覧ください。

特定のサービスによって通知がトリガーされていない場合、まずそのサービスの通知のヒストリーをチェックします。 これを行うには、監視でサービスをクリックして、そのサービスの詳細ページを開きます。 メニューから「Service > Service notifications 」を選択します。 そこでは、このサービスに関するすべての通知イベントが、新しいものから古いものの順にリスト表示されます。

以下は、通知が試みられたものの、SMTP サーバーがインストールされていないため電子メールの送信に失敗したサービスの例です。

List of notification events for a service.

詳細情報は、~/var/log/notifiy.log ファイルで確認できます。 これは、サイトユーザーとして、たとえば「less 」コマンドで表示できます。

OMD[mysite]:~$ less var/log/notify.log

lessの使い方にまだ慣れていない場合は、Shift+G キーの組み合わせでファイルの最後にジャンプし (ログファイルの場合に便利です)、Q キーでless を終了することができます。

tail -f コマンドを使用すると、実行中のファイルの内容を「ライブ」で確認することもできます。 これは、tail を入力した後にのみ表示される新しいメッセージのみに関心がある場合に便利です。

以下は、通知が正常にトリガーされた場合のnotify.log の抜粋です。

~/var/log/notify.log
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Analysing notification (localhost) context with 14 variables
2024-04-15 16:21:47,912 [20] [cmk.base.notify] Global rule 'Notify all contacts of a host/service via HTML email'...
2024-04-15 16:21:47,913 [20] [cmk.base.notify]  -> matches!
2024-04-15 16:21:47,913 [20] [cmk.base.notify]    - adding notification of martin via mail
2024-04-15 16:21:47,913 [20] [cmk.base.notify] Executing 1 notifications:
2024-04-15 16:21:47,913 [20] [cmk.base.notify]   * notifying martin via mail, parameters: graphs_per_notification, notifications_with_graphs, bulk: no
2024-04-15 16:21:47,913 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION: martin;localhost;DOWN;mail;
2024-04-15 16:21:47,913 [20] [cmk.base.notify]      executing /omd/sites/mysite/share/check_mk/notifications/mail
2024-04-15 16:21:48,458 [20] [cmk.base.notify]      Output: Spooled mail to local mail transmission agent
2024-04-15 16:21:48,501 [20] [cmk.utils.notify] sending command LOG;HOST NOTIFICATION RESULT: martin;localhost;OK;mail;Spooled mail to local mail transmission agent;Spooled mail to local mail transmission agent
Tip

通知がいつ生成されるか、また生成されないかを正確に知りたい場合は、通知に関する記事で詳細をご確認ください。

通知の設定が完了しました。これで、Checkmk システムの最終調整は完了です。 もちろん、Checkmk の全機能が完全に活用できるようになったわけではありません。

このページでは