In this article we explain the basic terms and concepts in Checkmk, such as host, service, user, contact group, notification, time period, scheduled downtime.
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. |
この記事では、ホスト、サービス、ユーザー、連絡先グループ、通知、期間、スケジュールダウンタイムなど、Checkmk の基本的な用語と概念について説明します。
1. 状態とイベント
状態とイベントの基本的な違いを理解することは、非常に実用的な利点のために重要です。 ほとんどの従来の IT 監視システムは、イベントを中心に機能しています。 イベントとは、特定の時間に一回だけ発生するものです。 その良い例としては、ドライブ X へのアクセス時のエラーが挙げられます。 イベントの発生源としては、syslog メッセージ、SNMP トラップ、Windows イベントログ、ログファイルエントリなどが一般的です。 イベントは、ほぼ自発的に(自己生成、非同期的に)発生します。
これに対し、状態は、ドライブ X がオンラインであるなど、持続的な状況を記述します。 何かの状態を監視するには、監視システムが定期的にポーリングを行う必要があります。 この例が示すように、監視では、イベントと状態のどちらを使用するかを選択できる場合が多くあります。
Checkmk は状態とイベントの両方に対応していますが、選択可能な場合は、常に状態ベースの監視を優先します。 その理由は、この方法には多くの利点があるためです。 その一部を以下に示します。
監視自体にエラーが発生すると、状態クエリが機能しなくなるため、すぐに検出されます。 一方、メッセージが発生しない場合、監視がまだ機能しているかどうかは確定できません。
Checkmk 自体は、状態のポーリングの頻度を制御することができます。 グローバルなエラー状況において、イベントストームが発生するリスクはありません。
固定の時間枠で定期的にチェックを行うことにより、メトリックをキャプチャしてその時間のヒストリーを記録することができます。
データセンターでの停電など、混乱した状況でも、常に信頼性の高い全体的な状態を把握することができます。
Checkmk の状態ベースの監視は、まさに標準的であると言えます。 イベントの処理には、イベントコンソールも利用できます。 これは、多数のイベントの相関と評価に特化しており、Checkmk プラットフォームにシームレスに統合されています。
2. ホストおよびサービス
2.1. ホスト
Checkmk のすべては、ホストと サービスを中心に展開しています。 ホストには、次のようなさまざまなものがあります。
サーバー
ネットワーク機器 (スイッチ、ルーター、ロードバランサー)
IP 接続を備えた測定デバイス(温度計、湿度計)
IP アドレスを持つその他すべてのもの
複数のホストのクラスタ
仮想マシン
Docker コンテナ
監視では、ホストは常に次のいずれかの状態になります。
| 状態 | 色 | 意味 |
|---|---|---|
UP |
緑 |
ホストはネットワーク経由でアクセス可能です (通常、ping に応答します)。 |
DOWN |
赤 |
ホストはネットワークの問い合わせに応答せず、アクセスできません。 |
UNREACH |
オレンジ |
パス上のルーターまたはスイッチに障害があるため、ホストへのパスは現在監視できません。 |
PEND |
灰色 |
ホストは監視に新しく追加されましたが、これまでポーリングされたことはありません。厳密に言えば、これは実際には状態ではありません。 |
状態に加えて、ホストには、ユーザーが設定できるその他の属性がいくつかあります。
一意の名前
IP アドレス
オプション - 一意でないエイリアス
オプション - 1つ以上の親
2.2. 親
監視がUNREACH の状態を判断するには、各ホストに連絡するために使用するパスを知っている必要があります。 この目的のために、各ホストに対して 1 つ以上のいわゆる親ホストを指定することができます。 たとえば、監視から見たサーバーAがルーター B 経由でしか到達できない場合、B は A の親ホストとなります。 Checkmk では、直接の親 のみ設定されます。 これにより、Checkmk サイトが中央にあるツリー状の構造になります (ここでは として表示されています)。

上記のネットワークトポロジの例で、ホストmyhostおよびmyhost4にアクセスできなくなったと仮定します。 myhost4の障害は、myhost が故障していることで説明できます。 したがって、myhost4は監視で「UNREACH 」と分類されます。 Checkmk がmyhost4 に到達できなくなった理由を明確に判断することは不可能であるため、DOWN 状態は状況によっては誤解を招くおそれがあります。 その代わりに、UNREACH はデフォルトで通知を抑制する効果があります。 これは、親概念の最も重要な役割、つまり、単一のポイントで中断が発生して依存するネットワークセグメント全体が監視に到達できなくなった場合に、大量の通知が発生することを回避する役割です。
偽アラームの防止には、商業版で使用されている Checkmk マイクロコア (CMC)の機能も役立ちます。 この機能では、障害が発生したホストの状態変化はしばらく保留され、親に確実に到達できることが確認された場合にのみ進行します。 一方、親が確実に「DOWN 」の場合、ホストは「UNREACH」に切り替わります。この場合、通知は発生しません。
ルーターがクラスタで高可用性を実現している場合など、ホストに複数の親が存在する場合があります。 Checkmk では、これらの親のうち 1 つに到達できる場合、ホストの状態を明確に判断できれば十分です。 したがって、ホストに複数の親が存在し、そのうちの少なくとも 1 つがUP の場合、そのホストは監視上、到達可能とみなされます。 つまり、このような状況では、ホストは自動的にUNREACH 状態には切り替わりません。
2.3. サービス
ホストには複数のサービスがあります。 サービスは、Windows のサービスと混同しないでください。 サービスは、OK または OK 以外の状態になる、ホストのあらゆる部分または側面です。 当然、状態は、ホストがUP 状態の場合にのみ決定できます。
監視対象のサービスは、次の状態になります。
| 状態 | 色 | 意味 |
|---|---|---|
OK |
緑 |
サービスは完全に正常です。すべての値は許容範囲内にあります。 |
WARN |
黄色 |
サービスは正常に機能していますが、そのパラメータは最適範囲外です。 |
CRIT |
赤 |
サービスが失敗しました。 |
UNKNOWN |
オレンジ |
サービスの状態を正しく判断できません。監視エージェントが欠陥のあるデータを送信したか、監視対象のエレメントが消失しました。 |
PEND |
灰色 |
サービスが新たに追加され、まだ監視データを提供していません。 |
どの条件が「悪い」かを判断する場合、Checkmk は以下の順序で利用率を決定します。
OK WARN →UNKNOWN→CRIT
2.4. チェック
チェックは、ホストまたはサービスに状態を割り当てることができることを確認します。 これらの状態については、前のセクションで説明しています。 サービスとチェックは密接に関連しています。 そのため、実際には異なるものですが、このユーザーガイドでも、これらの用語が同じ意味で使用される場合があります。
セットアップでは、各サービスを担当するチェックプラグインを表示することができます。Setup > Hosts でホストのプロパティを開き、Host > Run service discovery メニューでこのホストのサービスのリストを表示します。 次に、Display > Show plugin names を使用して、各サービスを担当するチェックプラグインを表示する新しい列を表示します。

df チェックプラグインの例からわかるように、1 つのチェックプラグインは複数のサービスに対応することができます。 ちなみに、列にリストされているチェックプラグインの名前は、チェックプラグインの説明を表示するリンクでもあります。
サービスとチェックの接続および依存関係は、監視でも確認できます。 監視中のホストのサービスリストでは、Reschedule エントリのアクションメニューに、一部のサービスには黄色の矢印 ()、その他のほとんどのサービスには灰色の矢印 () が表示されています。 黄色の矢印が付いているサービスは、アクティブチェックに基づいています。

このようなアクティブチェックは、Checkmk によって直接実行されます。 灰色の矢印が付いているサービスは、別のサービスであるCheck_MK サービスからデータを取得するパッシブチェックに基づいています。 これはパフォーマンス上の理由によるもので、Checkmk の特別な機能です。
3. ホストおよびサービスグループ
概要をわかりやすくするために、ホストをホストグループに、サービスをサービスグループに整理することができます。
ホスト/サービスは、複数のグループに属することができます。
これらのグループの作成はオプションであり、設定には必要ありません。
ただし、たとえば、地理的な場所に 応じてフォルダ構造を設定している場合、すべての Linux サーバーをその場所に関係なくグループ化するホストグループ「Linux servers 」を作成すると便利です。
4. 連絡先および連絡先グループ
連絡先および連絡先グループを使用すると、ホストおよびサービスに人を割り当てることができます。 連絡先は、ユーザー名または web インターフェイスに関連付けられています。 ただし、ホストおよびサービスとの関連付けは直接行われず、連絡先グループを介して行われます。
まず、連絡先 (harri など) が連絡先グループ (linux-admins など) に割り当てられます。
次に、ホスト、または必要に応じて個々のサービスを連絡先グループに割り当てることができます。
このようにして、ユーザー、およびホストとサービスを複数の連絡先グループに割り当てることができます。
これらの割り当ては、以下の理由から有用です:
誰が何かをビューできるのですか?
どのホストおよびサービスを設定および制御する権限があるか?
誰が、どのような問題について通知を受け取るのですか?
ちなみに、サイトの作成時に自動的に定義されるユーザーcmkadmin は、このユーザーが連絡先ではない場合でも、常にすべてのホストおよびサービスをビューすることができます。
これは、このユーザーの管理者としての役割によって決定されます。
5. ユーザーと役割
連絡先および連絡先グループは、特定のホストまたはサービスの責任者を制御しますが、許可は役割によって制御されます。 Checkmk には、後で必要に応じてさらに役割を派生できる、あらかじめ定義された役割が数多く用意されています。 各役割は、後でカスタマイズできる一連の許可を定義します。 標準的な役割の意味は次のとおりです。
| ロール名 | 別名 | 説明 |
|---|---|---|
|
管理者 |
すべてを表示および実行でき、すべての許可を持っています。 |
|
通常の監視ユーザー |
自分の連絡先として登録されているもののみ表示できます。 自分に割り当てられたフォルダ内のホストを管理できます。 グローバル設定はできません。 |
|
エージェント登録ユーザー |
ホストのCheckmk エージェントをCheckmk サーバーに登録することのみできます。 |
|
ゲストユーザー |
すべてを見ることができますが、設定の変更や監視への介入はできません。 |
|
no_permissions |
何もできません。 |
6. 問題、イベント、および通知
6.1. 処理済みおよび未処理の問題
Checkmk は、UP でないすべてのホスト、およびOK でないすべてのサービスを問題として識別します。 問題には、未処理と 処理済みの 2 つの状態があります。 手順としては、新しい問題はまず未処理として扱われます。 誰かが問題を確認すると、その問題は処理済みとしてフラグが付けられます。当然のことながら、未処理の問題は、まだ対処されていない問題です。 そのため、サイドバーの「概要」では、この 2 種類の問題が区別されています。

ちなみに、現在UP ではないホストからのサービス問題は、問題として認識されません。
承認の詳細については、別の記事をご覧ください。
6.2. 通知
ホストの状態が変化した場合 (OK からCRIT へ変化した場合など)、Checkmk は監視イベントを登録します。 これらのイベントは、通知を生成する場合と生成しない場合があります。 Checkmk は、ホストまたはサービスに問題が発生すると、そのオブジェクトの連絡先に電子メールが送信されるように設計されています (デフォルトでは、新しく作成されたユーザーはどのオブジェクトの連絡先にも登録されていません)。 ただし、これらは非常に柔軟にカスタマイズすることができます。 通知は、いくつかのパラメータにも依存します。 通知が送信されない場合を見てみると、最もわかりやすいでしょう。 通知は、以下の場合に抑制されます。
…マスターコントロールで通知がグローバルに無効になっている場合
…ホスト/サービスで通知が無効になっている場合
…ホスト/サービスの特定の状態で通知が無効になっている場合 (例:WARN に対する通知なし)
…問題が、ホストがDOWN またはUNREACH であるサービスに影響している場合
…問題が、親がすべてDOWN またはUNREACH であるホストに影響する場合
…ホスト/サービスに対して、現在有効ではない通知期間が設定されている場合、
…ホスト/サービスが現在フラッピングしている場合、
…ホスト/サービスが現在スケジュールダウンタイム中である場合
通知を抑制するためのこれらの前提条件のいずれも満たされない場合、監視コアは通知を作成し 、次のステップで一連のルールを通過します。 これらのルールでは、さらに除外基準を定義し、通知の対象者と通知のフォーム(電子メール、SMS など)を決定することができます。
通知に関する詳細は、通知の記事をご覧ください。
6.3. フラッピングホストおよびサービス
サービスが継続的に、かつ迅速に条件を変更する場合があります。 継続的な通知を回避するため、Checkmk はそのようなサービスをフラッピング状態に切り替えます。 これは、アイコンで表示されます。
サービスがフラッピング状態になると、ユーザーに状況を知らせる通知が生成され、それ以降の通知は停止されます。 適切な時間が経過しても、それ以上の急激な変化がなく、最終的な(良好または不良)状態が明らかになった場合、フラッピング状態は解除され、通常の通知が再開されます。
6.4. スケジュールダウンタイム
サーバー、デバイス、またはソフトウェアのメンテナンス作業を行う場合、通常はその間、問題通知は避けたいでしょう。 さらに、その間に監視で問題が発生しても、一時的に無視してよいことを同僚に知らせておきたいでしょう。
この目的のために、ホストまたはサービスにスケジュールダウンタイムの条件を入力することができます。 これは、作業を開始する前に直接、または事前に実行することができます。 スケジュールダウンタイムは、次のアイコンで表示されます。
ホストまたはサービスはスケジュールダウンタイム中です。 |
|
ホストがダウンタイム中のサービスは、このアイコンで表示されます。 |
ホストまたはサービスがスケジュールダウンタイム中である間:
通知は送信されません。
Overview スナップインには問題が表示されません。
さらに、後でホストおよびサービスの可用性に関する統計情報を文書化したい場合 スケジュールダウンタイムを含めることをお勧めします。 これらは、後の可用性評価に考慮することができます。
6.5. 面白くないホストおよびサービス
Checkmk をしばらく使用していると、ホストおよびサービスのビューに蜘蛛の巣が表示される場合があります。 たとえば、サービスの場合、次のように表示されます。

これらの蜘蛛の巣は、面白くない状態を表しています。 面白くないホストまたはサービスがある場合、これは Overviewスナップインにも表示され、列Stale
しかし、この「古い」状態とは一体どういう意味なのでしょうか? 一般的に、ホストまたはサービスは、Checkmk がその状態に関する最新情報を長期間受信しなくなった場合に「古い」とマークされます。
サービスが古くなる場合 何らかの理由で、エージェントまたはエージェントプラグインが長期間にわたって失敗すると、エージェントは評価用の最新データを提供しなくなります。 パッシブチェックによって状態が判断されるサービスは、エージェントのデータに依存しているため、更新できません。 サービスは最後の状態のままですが、一定時間が経過すると「古くなった」とマークされます。
ホストが古くなる ホストの接続をチェックするHost check command が最新情報の応答を提供しない場合、ホストは最後に決定された状態を維持しますが、古くなったものとしてマークされます。
ホストおよびサービスが古いとみなされるまでの時間制限は、チェック間隔のセクションで調整できます。
7. 期間

毎週繰り返される期間は、設定のさまざまな場所で使用されます。
一般的な期間としては、working hours (月曜日から金曜日まで)があり、これは土曜日と日曜日を除く、毎日 8:00 から 17:00 までの時間を含みます。24X7 (毎日)は、単に毎日を含む、あらかじめ定義された期間です。
期間には、特定の暦日(例えば、バイエルン州の祝日)を例外として含めることもできます。
期間が使用される重要なポイントとしては、次のようなものがあります。
期間の設定方法については、「期間」の記事をご覧ください。
8. チェック期間、チェック間隔、およびチェックの試行回数
8.1. チェック期間の指定
チェックを実行する期間を制限することができます。 この目的には、ルールセット「Check period for hosts 」、「Check period for active services 」、「Check period for passive Checkmk services 」を使用します。 これらのルールを使用して、利用可能な期間の中からチェック期間として 1 つを選択してください。
8.2. チェック間隔の設定
チェックは、状態ベースの監視において、固定の間隔で実行されます。 Checkmk は、サービスチェックには 1 分、Smart Ping によるホストチェックには 6 秒をデフォルトとして使用します。
これらのデフォルトは、Normal check interval for service checks およびNormal check interval for host checks ルールセットを使用して上書きできます。
Checkmk サーバーおよびターゲットシステムの CPU リソースを節約するには、間隔を長くしてください。
通知の受信を高速化し、測定データをより高い解像度で収集するには、間隔を短くします。
チェック期間とチェック間隔を組み合わせると、1 日に 1 回、特定の時間にアクティブチェックが確実に実行されます。 たとえば、チェック間隔を 24 時間に、チェック期間を毎日 2:00 から 2:01(つまり 1 日 1 分)に設定した場合、Checkmk はチェックが実際にこの短い時間枠に移動されるようにします。
この定義されたチェック期間外では、サービスの状態は更新されなくなり、サービスは アイコンで「面白くない」とマークされます。 グローバル設定の「Staleness value to mark hosts / services stale 」では、ホスト/サービスが「面白くない」とマークされるまでの時間を定義できます。 この設定は、Setup > General > Global settings > User interface:

この係数は、チェック間隔のn 倍を表します。 したがって、チェック間隔が 1 分(60 秒)に設定されている場合、新しいチェック結果がないサービスは、その 1.5 倍の時間、つまり 90 秒後に「面白くない」状態になります。
8.3. チェックの試行回数の変更
チェックの試行回数オプションを使用すると、散発的なエラーが発生した場合に通知を回避することができます。 これにより、チェックの感度が低下します。 この目的には、Maximum number of check attempts for host およびMaximum number of check attempts for service というルールセットを使用できます。
たとえば、チェックの試行回数が 3 に設定されており、対応するサービスがCRIT になった場合、最初は通知はトリガーされません。 次の 2 回のチェックでもOK 以外の結果になった場合にのみ、現在の試行回数が 3 に増え、通知が送信されます。
この中間状態、つまりOK ではないものの、チェックの試行回数が最大回数に達していないサービスは、ソフトステートになります。 ハードステートになった場合にのみ、通知が実際にトリガーされます。
9. 最も重要なホストおよびサービスのアイコンの概要
次の表は、ホストおよびサービスの横に表示される最も重要なアイコンの概要です。
ホストまたはサービスがスケジュールダウンタイム中です。 |
|
ホストがダウンタイム中のサービスは、このアイコンで表示されます。 |
|
このホスト/サービスは現在、通知期間外です。 |
|
このホスト/サービスの通知は現在使用できません。 |
|
このサービスのチェックは現在使用できません。 |
|
ホスト/サービスの状態が面白くないです。 |
|
このホスト/サービスの状態はフラッピングです。 |
|
このホスト/サービスには承認済みの問題があります。 |
|
このホスト/サービスにはコメントがあります。 |
|
このホスト/サービスは BI アグリゲーションの一部です。 |
|
ここでは、チェックパラメータの設定に直接アクセスできます。 |
|
ログウォッチサービスのみ:保存されているログファイルにアクセスできます。 |
|
ここで、測定値の時系列グラフにアクセスできます。 |
|
このホスト/サービスにはインベントリデータがあります。クリックすると、関連ビューが表示されます。 |
|
このチェックはクラッシュしました。クリックしてクラッシュレポートを表示および送信してください。 |
