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. 基本原則

1.1. 過去の振り返り

Checkmk は、すべてのホストおよびサービスを定期的に継続的に監視 するため、それらの可用性を後で評価するための優れた基盤を提供します。 それだけでなく、オブジェクトが指定された時間範囲の何パーセントで指定された状態または複数の状態にあったか、 その状態がどのくらいの頻度で発生したか、最長の停止時間など、さまざまな情報を計算することもできます。 すべての計算は、選択したオブジェクトと、過去における指定した時間範囲に基づいて行われます。

すべての計算は、選択したオブジェクトと指定した 過去の時間範囲に基づいて行われます。Checkmk は、この時間範囲内で 、選択したすべてのオブジェクトの状態を時系列で再構築します。 各状態について、その時間が合計され、表に表示されます。 この表では、たとえば、特定のサービスが、定義された時間範囲内で 99.95 % のOK 、および 0.005 % のWARN の状態であったことを示すことができます。

このような計算を行う場合、Checkmk は、スケジュールダウンタイム、サービスダウンタイム、監視対象外の時間範囲、 その他の特別な要因も正しくアカウントに考慮し、 状態の要約、および「一時的な中断」の無視を可能にします。 また、数多くのカスタマイズオプションも利用可能です。BI アグリゲーションも利用可能です。 1.2. 可能な状態

1.2. 可能な状態

スケジュールダウンタイムや同様の特別な状態を含めることで 理論的には、状態の組み合わせは膨大な数になります。 例えば、「CRIT + In Planned Downtime + In Service Time + Flapping」などです。 このような組み合わせのほとんどはあまり有用ではないため、Checkmk はこれらを 少数の組み合わせに絞り込み、優先順位に従って処理します。 上記の例では、サービスはスケジュールダウンタイム中でしたのでin scheduled downtime 状態が適用され、実際の状態は無視されます。 これにより、可能な状態のリストは次のように削減されます。

Illustration of the possible states.

この図は、状態が優先される順序を示しています。後で、一部の状態を無視したり組み合わせたりする方法も説明します。 以下に、状態を詳細に示します:

状態 略語 説明

unmonitored

N/A

オブジェクトが監視されていなかった時間範囲。これには 2 つの理由が考えられます。オブジェクトが監視の設定に含まれていなかったか、指定した時間範囲中に監視自体が実行されていなかったかです。

out of service period

オブジェクトはサービス期間外でした。つまり、その可用性は「無関係」でした。サービス期間の詳細については、以下をご覧ください。

in scheduled downtime

Downtime

オブジェクトはスケジュールダウンタイム期間中でした。 この状態は、ホストがスケジュールダウンタイム中のサービスにも適用されます。

on down host

H.Down

この状態は、サービスのホストが (down) の場合にのみ、サービスに対して使用できます。この時点では、サービスの監視は不可能です。ほとんどのサービスでは、これはサービスがCRITである場合と同じ意味ですが、すべてではありません。たとえば、(File system-Check) の状態は、ホストのアクセス可能性とはまったく無関係です。

flapping

状態がフラッピングしている段階、つまり、短期間に多くの状態変化が発生した段階。

UP DOWN UNREACH

ホストの監視状態

OK WARN CRIT UNKNOWN

サービスおよび BI アグリゲーションの監視状態

2. 可用性の取得

2.1. ビューから分析へ

可用性分析の生成は非常に簡単です。まず、ホスト、サービス、またはBI アグリゲーションのビューを取得します。 そこで、メニューのServices (可用性)またはHosts (アグリゲーション)にAvailability (可用性分析)項目があり、選択したオブジェクトの可用性の計算に直接移動できます。 データは表形式で表示されます。

View of the availabilities of all services.

この表には、前のビューで表示されたのと同じオブジェクトが表示されます。 各列には、要求された時間範囲のうち、オブジェクトが クエリの対象となった状態であった割合が表示されます。 値は、デフォルトでは小数点以下 2 桁のパーセンテージで表示されますが 、これは簡単にカスタマイズすることもできます

時間範囲のクエリは、 Availability > Change display options > Time Rangeメニュー項目でカスタマイズできます。 これについては後で詳しく説明します。

このテーブルを PDF 形式で受け取ることもできます (商業版のみ)。 CSV 形式でデータをダウンロードすることも可能です。(Export as CSV) 上記の例では、次のように表示されます。

Checkmk-Availability-2021-10-19_11-01-15.csv
Host;Service;OK;WARN;CRIT;UNKNOWN;Flapping;H.Down;Downtime;N/A
mail.mydomain.test;Check_MK;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;Check_MK Discovery;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;Filesystem /;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;Filesystem /var/spool;0.00%;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;HTTP https://mail.mydomain.test/;99.85%;0.15%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;HTTPS https://mail.mydomain.test/;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;MTA performance check;99.23%;0.30%;0.46%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;Postfix Queue;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;Postfix status;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
mail.mydomain.test;Uptime;100.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%;0.00%
Summary;;89.91%;10.05%;0.05%;0.00%;0.00%;0.00%;0.00%;0.00%

URL 経由で自身を認証できるオートメーションユーザーを使用すると 、データを取得することもできます(例:wget またはcurl )。そして、スクリプト制御でデータを自動的にプロセス処理することができます 。

2.2. タイムライン表示

この記号は、テーブルのすべての行にあります。 このボタンをクリックすると、関連するオブジェクトのタイムライン表示に移動し 、指定した時間範囲(ここでは省略)に発生した状態の変化が正確に項目別に表示されます 。

View with timeline of state changes.

役立つヒント:

  • 表示のオブジェクトの行にあるタイムライン記号にマウスカーソルを置くと、テーブル表示でそれが強調表示されます。

  • また、タイムラインでは、Availability > Change display options (詳細表示)またはAvailability > Change computation options (詳細評価)メニュー項目を使用して、表示および評価のオプションをカスタマイズすることができます。

  • シンボルを使用すると、選択した項目にAnnotation を追加できます。ここでは、ダウンタイムを遡って投稿することもできます(詳細については、次のセクションで説明します)。

  • BI アグリゲーションの可用性では、魔法の杖の記号を使用して、該当するタイムスライスのアグリゲートの状態にタイムトラベルすることができます。詳細については、以下をご覧ください

  • メインビューの「Availability > Timeline 」メニュー項目を使用すると、選択したすべてのオブジェクトのタイムラインを 1 つの長いページで表示できます。

2.3. 注釈とそれに続くダウンタイム

前述のように、 記号を使用すると、タイムライン に期間に注釈を追加することができます。 コメントを入力するための事前入力済みのフォーム(「プロパティ」)が用意されています。

Properties of an annotation.

これにより、必要に応じて、さまざまな値で時間範囲を定義および拡張することができます 。これは、たとえば、繰り返し状態変化が発生した より大きな時間スライスに注釈を付けたい場合に便利です。 サービスの入力を省略すると、注釈はホストに対して作成されます。 これにより、その注釈はホストのすべてのサービスに自動的に関連付けられます。

すべての可用性ビューでは、時間範囲および 表示されているオブジェクトに適用されるすべての注釈が自動的に表示されます。

しかし、注釈には追加機能があります。 ダウンタイムを遡って入力したり、逆に削除したりすることができます。 可用性分析では、これらの修正は「通常の」ダウンタイムとまったく同じように アカウントに反映されます。これには、少なくとも 2 つの正当な理由があります。 運用中に、計画されたダウンタイムが誤って入力される場合があります。

  • 運用中に、プランされたダウンタイムが誤って入力される場合があります。これは、もちろん、可用性統計の正確性に悪影響を及ぼします。これらの時間を遡って入力することで、レポートを修正することができます。

  • 通知を抑制するためにダウンタイムを誤用するユーザーもいます。これにより、後の分析が事実上無効になります。これは、誤ったダウンタイムを削除することで事後的に修正できます。

ダウンタイムを再分類するには、[Reclassify downtime of this period ] チェックボックスを選択してください。

The 'Reclassify downtime of this period' option in the annotation properties.

2.4. 監視ヒストリーの表示

可用性テーブルでは、タイムラインの記号の横に、さらに別の 記号があります。これをクリックすると、 関連するオブジェクトとクエリの時間範囲が事前に設定されたフィルタが適用された監視履歴のビューが表示されます。 ここでは、可用性分析の基礎となったイベント(状態の変化)だけでなく、 関連する通知や類似のイベントも表示されます。 ここで表示されないのは、クエリの開始時点におけるオブジェクトの状態です。

The monitoring history.

ここで表示されないのは、クエリの期間開始時のオブジェクトの状態です。 可用性計算は、開始状態を確実に決定するために、さらに過去までさかのぼって 確認します。

3. 計算オプション

Menu with options for customizing the evaluation.

計算自体だけでなく、利用可能数の表示も さまざまなオプションを使用して制御することができます。 これらのオプションは、Availability > Change display options およびAvailability > Change computation options のメニュー項目にあります。

オプションを変更し、[Apply] で確定すると、利用可能状況が再計算され、表示されます。 変更したオプションはすべて ユーザーのプロフィールにデフォルト設定として保存されるため、その後のクエリでも 同じ設定が使用されます。

同時に、オプションは現在のページの URL にコード化されます。 ここで、このページにブックマークを保存すると(例えば、便利なBookmarks エレメントを使用)、オプションもブックマークの一部となり、後で クリックすると、まったく同じ方法で生成されます。

3.1. 時間範囲の選択

Options for the time range.

利用可能時間の計算において、まず最初に、そして最も重要なオプションは、もちろん 調査する時間範囲です。Date range では、正確な開始 および終了日を指定して時間範囲を指定することができます。 最終日は 24:00 まで含まれます。

Option for a relative time range.

より実用的なのは、たとえばLast week のような相対的な時間指定です。どの時間範囲が 表示されるかは、意図的に、計算を行う時点によって異なります。 注:ここで「1 週間」とは、常に月曜日 00:00 から日曜日 24:00 までの範囲を指します。

3.2. 表示に影響を与えるオプション

表示のフォーマットに影響を与えるオプションは数多くありますが、その中には 計算方法に影響を与えるものもあります。まず、表示について見てみましょう。

100 % の可用性を持つ行を非表示にする

Options for hiding rows with 100 % availability.

Only show objects with outages オプションは、実際に停止しているオブジェクト 、つまり、状態がOK またはUP ではないオブジェクトのみを表示します。 これは、サービス数が多く、実際に問題のある 少数のサービスのみに関心がある場合に便利です。

ラベルオプション

Labelling options.

Labelling options では、さまざまなラベルフィールドを有効または無効にすることができます。 一部のオプションは、主にレポート機能で有用です。たとえば、単一のホストのレポートを作成する場合、ホスト名の列は実際には必要ありません。 この列を非表示にすることができます。

サービスのalternative display names は、ルールを使用して定義できます。 これを使用すると、たとえば 重要なサービスの表示に、レポートの読者にとって明確で意味のある名前を付けることができます。 しきい値のあるSLAを表示する際に色を使用する

閾値のある SLA を表示する際に色を使用する

Options for colored display when falling below threshold values.

Visual levels を使用すると、照会した時間範囲内で指定した可用性を維持していないオブジェクトを強調表示することができます。 これは、OK-state の列にのみ適用されます。 通常、この列は常に緑色です。定義した閾値に達しなかった場合、このセルの色は緑色から黄色、または赤色に変化します。 これは、非常にシンプルな SLA 概要と言えます。 個々の障害の表示 個々の障害の表示

個々の障害の件数と継続時間を表示する

Options for displaying the number and duration of outages.

Outage statistics オプションを使用すると、可用性テーブルに追加の情報列が表示されます。 以下のスクリーンショットでは、max. duration およびcount の追加情報が、Crit/Down ステータス列に対して有効になっていることがわかります。 これは、CRIT/DOWN ステータスを持つ停止について、インシデントの数、および最長のインシデントの継続時間がそれぞれ表示されることを意味します。

View with the additional columns for displaying outages.

テーブルに以下の追加列が作成されます。

時間指定の表示

Options for formatting time ranges.

可用性(または非可用性)をパーセンテージで指定することが必ずしも適切であるとは限りません。Format time ranges オプションを使用すると、時間範囲を絶対値で表示する表示に切り替えることができます。 これにより、障害の合計継続時間を分単位で正確に確認することができます。 表示には秒も表示されますが、これは監視が1秒間隔で行われている場合にのみ意味があります。 通常、監視は1分ごとに1回のチェックで行われます。 同様に、仕様の精度(パーセンテージ値の小数点以下の桁数)も定義できます。

Option for formatting time stamps.

タイムスタンプのフォーマットは、Timeline の設定に適用されます。 Unix Epoch(1970年1月1日からの経過秒数)に変更すると、 監視ヒストリーのログデータ内の適切な位置に時間範囲を関連付ける ことが簡単になります。

要約行のカスタマイズ

Option for customizing the summary.

テーブルの最終行の要約を有効/無効にできるだけでなく、 合計値と平均値のどちらを表示するかを選択できます。 パーセンテージ値を含む列では、Sum 設定を使用すると、 パーセンテージ値の合計は意味がないため、平均値が表示されます。

小さなタイムラインの表示

Option for showing the small timeline.

このオプションを選択すると、可用性タイムラインのミニチュア版が 結果テーブルに直接追加されます。これは、詳細タイムラインのグラフィックバーに対応していますが 、サイズが小さく、テーブルに直接統合されています。 また、縮尺も正確であるため、同じテーブルで複数のオブジェクトを比較することができます 。

ホスト、ホストグループ、またはサービスグループによるグループ化

Option for grouping by host, host group or service group.

表示元に関係なく、可用性は常に すべてのオブジェクトを共通のテーブルに表示します。このオプションを使用すると、ホスト、ホストグループ、またはサービスグループでグループ化 を選択できます。各グループには 独自の「Summary 」行が表示されます。

サービスグループでグループ化すると、サービスは複数のグループに同時に割り当てられるため、サービスが複数表示される場合があります

利用可能性のみを表示

Option for restricting the display to availability.

Availability Avail. オプションを使用すると、 または の状態の列のみが表示されます。 このオプションを使用すると、 の可用性のみが表示されます。 このオプションは、以下で説明するその他のオプション、 その他の状態( など)と組み合わせることができ、OK状態も含めることができるため、 利用可能として評価することができます。OK UP actual WARN

3.3. 状態のグループ化

導入部で説明した状態は、さまざまな方法でカスタマイズ および凝縮することができます。これにより、非常に多様な評価フォームを 柔軟に生成することができます。このためには、さまざまなオプションがあります。

WARN、UNKNOWN、およびホストダウン状態の処理

Options for grouping service states.

Service status grouping WARN オプションを使用すると、さまざまな「中間状態」を表示することができます。 一般的な状況としては、 を として扱うように強制します。 こWARN OKれは、サービスの実際の可用性に関心がある場合に非常に便利です。 多くの場合、 は、まだ実際の問題が存在していることを意味するものではなく、 すぐに問題が発生する可能性があることを意味します。 したがって、この観点から、 は利用可能とみなす必要があります。 HTTPサーバーなどのネットワークサービスでは、ホストが である時間は、サービスが HTTP サーバーなどのネットワークサービスでは、ホストが の時間は、サービスが の場合と同じように扱うことが確かに理にかなっています。 再グループ化によって省略された状態は、もちろん結果テーブルからも省略されます。WARN DOWN CRIT

再グループ化により省略された状態は、当然ながら結果テーブルからも省略され、 列の数が少なくなります。

Option for grouping host states.

Host status grouping オプションも非常によく似ていますが、これは ホストの可用性に関連しています。UNREACH 状態は、ネットワークの問題により、ホストが Checkmkによって監視できないことを意味します。 このような状況では、可用性の計算のためにUNREACH 状態をUP またはDOWN として扱うかを決定することができます。デフォルトでは、UNREACH は独自の状態として扱われます。

監視対象外の期間およびフラッピングの処理

Options for handling additional states.

Status classification オプションでは、さらに要約が行われます。Consider periods of flapping states チェックボックスは デフォルトでオンになっています。このオプションをオンにすると、状態が頻繁に変化するフェーズは独自の 状態、「フラッピング」として扱われます。このオプションの考え方は 、このような場合、影響を受けたサービスは常にOK 状態に戻るものの、頻繁な停止によりサービスは 事実上使用できない状態にあるとみなすというものです。 このオプションを無効にすると、「フラッピング」の概念は完全に 無視され、それぞれの実際の状態が再び表示されます。また、flapping列もテーブルから削除されます。

Consider times where the host is down オプションを削除すると、同様の動作になります 。Host down の概念は無効になります。 このオプションは、サービスの可用性についてのみ意味があります。 ホストがUP ではない段階では、サービスの実際の状態 が可用性の基準となります。より正確には、ホストが利用できなくなった前の最後のチェックの状態 が基準となります。これは、ネットワーク経由のアクセスが関係のないサービスでは 意味のある設定です。

Include unmonitored time オプションも同様です。 2月の分析を行う場合、特定の サービスが2月15日から監視対象になっているとします。 このサービスの可用性は50%になるのでしょうか?デフォルト 設定(オプションが有効)では、実際にそのようになります。 不足している 50% は停止として評価されるのではなく、 「N/A 」というタイトルの独自の列に合計されます。このオプションを無効にすると、 2 月 15 日から 28 日までの時間の 100% に対応します。 ただし、このサービスで1 時間の停止が発生した場合、 その月の監視期間全体に対するサービスの停止率の 2 倍として反映されます。

スケジュールダウンタイムの処理

Options for handling scheduled downtimes.

Scheduled Downtimes オプションを使用すると、 スケジュールダウンタイムが可用性分析に与える影響を指定することができます。

  • Honor scheduled downtimes がデフォルトです。この場合、ダウンタイムは独自の状態として扱われ、独自の列にまとめられます。 を使用すると、ダウンタイムにもかかわらずサービスが であった時間を差し引くことができます。Treat phases of UP/OK as non-downtime OK

  • Ignore scheduled downtimes は、ダウンタイムが入力されていないかのように扱われます。停止は停止です。もちろん、それは実際に停止が発生した場合に限ります。

  • Exclude scheduled downtimes は、スケジュールされたダウンタイムが、分析対象の期間から単に除外されることを意味します。可用性の割合は、スケジュールされたダウンタイム以外の時間に対応します。

同等のフェーズのマージ

Option for merging identical phases.

ある状態から別の状態(たとえば、WARN からOK )に変換すると 、オブジェクトのタイムラインの連続するセクションが同じ状態になる場合があります。 通常、このようなセクションは 1 つのセクションにマージされます。 これは一般的に良いことで、明確ですが、タイムラインの詳細の表示、および場合によってはOutage statistics オプションを使用したイベントのカウントに影響します。 このマージを無効にするには、 このマージは、Do not merge consecutive phases with equal state オプションで無効にすることができます。

3.4. 短い中断の無視

監視では、一時的な問題メッセージが頻繁に発生する場合がありますが、 通常の条件では、次のチェックが実行される(1 分後)までに、オブジェクトはすでにOK になっています。 また、閾値などを調整して、このようなケースを確実に把握する方法も見つかっていません。 一般的な解決策は、Maximum number of check attempts を 1 から 3 に設定して、通知がトリガーされるまでに許容する障害の数を増やすことです。これにより 、Soft states ( )という概念が開発されました。これは、WARNCRIT 、または UNKNOWN状態を意味し、許容される試行回数が 「使い果たされる」まで

この機能を使用しているユーザーから、Checkmk の可用性 モジュールには、Hard states だけを使用して計算する機能がないのかという質問が時折寄せられます。 その理由は、より優れた解決策があるからです。 ハードステートを基準として使用することができます…​

  • …​ これにより、1 回目と 2 回目のチェックの試みが失敗したために発生した実際の停止は、2 分短すぎると評価されます。

  • …​ これにより、短い障害に対して後から動作を調整することができません。

Option for handling short disruptions.

Short time Intervals オプションははるかに柔軟でありながら、 非常にシンプルです。単に、状態が評価される前に超える必要がある時間長を定義するだけです。

時間値が 2.5 分 (150 秒) に設定されているとします。 サービスが継続的に「OK 」の状態であり、その後 2 分間「CRIT 」の状態になり、その後 「OK 」の状態に戻った場合、短い「CRIT 」間隔は単に「OK 」と評価されます。 ちなみに、逆の状況も同様に機能します。長い「WARN 」フェーズ内の短い「OK 」も同様に「WARN 」と評価されます。 一般的に、同じ状態が前後で短い時間間隔で続いた場合、同じ状態が評価されます。

一般的に、同じ状態が前後で 続く短い間隔は、同じ状態として評価されますOK 、次に 2 分間のWARN 、そしてCRIT というシーケンスの場合、WARNは、定義された時間よりも短い時間であったとしても、持続します 。

時間を定義する際には、Checkmk の標準チェック間隔は 1 分であることをご留意ください。 したがって、すべての状態の持続時間は、おおよそ1 分の倍数になります。 エージェントの実際の応答時間は若干変動するため、これは 61 秒または 59 秒になる場合もあります。 そのため、値に正確な分を入力するのではなく、バッファを含める方が安全です。 そのため、この例では 2.5 分を使用しています。 3.5. 期間の影響

3.5. 期間の影響

Checkmkの商業版 における可用性計算の重要な機能 は、これらの計算を期間に依存させることができることです。 これにより、個々のホストまたはサービスごとに時間を定義することができます。 この時間には、ホスト/サービスが利用可能であり、その状態が計算に使用されることが期待されます。 したがって、すべてのオブジェクトにはService period 属性があります。 手順は次のとおりです。

  • サービス時間の期間を定義します。

  • Host & Service parameters > Monitoring configuration > Service period for hosts または…​ for services ルールセットを使用して、これらをオブジェクトに割り当てます。

  • 変更をアクティブにします。

  • Service time の可用性オプションを使用して動作を制御します:

Option for handling time periods for services.

ここでは 3 つの簡単な方法があります。デフォルトのBase report only on service times は、定義された サービス時間以外の時間を非表示にします。非表示になった時間は 100% に算入されません。 サービス時間内の時間範囲のみが実際に考慮されます。 タイムライン表示では、残りの時間は「灰色」で表示されます。

Base report only on non-service times は逆の動作を行い 、実際には逆の表示を計算します。サービス時間外の可用性はどの程度でしたか? 3 番目のオプションxml-ph-0000@deepl.internal は

3 番目のオプションInclude both service and non-service times は、 サービス時間の概念を完全に無効にし、 月曜日 00:00 から日曜日 24:00 までのすべての時間の計算を表示します。

ちなみに、ホストがサービス時間外の場合、Checkmk では、そのホスト上のサービスもサービス時間外であると 自動的に判断されるわけではありませんService period for services では、サービスには常に独自のルールが必要です。

通知期間

Option for handling a notification period.

ちなみに、もう 1 つ関連するオプションがあります。Notification period です。 ここでは、評価の通知期間も設定できます。 これは、実際には、特定の時間帯に問題に関する通知が 生成されないようにするために考案されたもので、必ずしもサービス期間を対象とするものではありません。 このオプションは、ソフトウェアがまだサービス時間に対応していなかった過去に導入されたもので 、現在では互換性の理由からのみ残されています。 使用しないことをお勧めします。

3.6. 計算時間の制限

可用性を計算する場合、選択したオブジェクトの履歴全体を 再度開く必要があります。その詳細については 以下で説明します。特にCheckmk Raw では、そのコアには必要なデータのキャッシュがなく、 テキストベースのログデータを順番に検索する必要があるため、分析に時間がかかる場合があります。

意図せずに開始された可能性のある過度に複雑なクエリが Apache プロセスを拘束し、CPU を消費して 「ハング」状態にならないように、計算の継続時間を制限する 2 つのオプションがあります。 どちらもデフォルトで有効になっています。

Option for limiting the time period for the evaluation.

Query time limit は、監視コアの基盤となるクエリの実行時間を 指定した時間内に制限します。これは 30 秒に事前定義されています。 この時間を超えた場合、分析は中止され、エラーが強調表示されます。 分析を長時間実行しても問題がないことが確実な場合は 、タイムアウトを手動で延長してください。

Option to limit the amount of data for the evaluation.

Limit processed data オプションは、多くのオブジェクトを含む計算から保護します。 ここでは、ビューと同様の制限が適用されます。 監視コアへのクエリが5000以上の期間を生成する場合、計算は警告とともに中止されます。 この制限は、データが収集されるコアで事前に処理されます。

4. ビジネスインテリジェンスでの利用可能性

4.1. 基本原則

Checkmk の可用性計算の強力な機能は、BI アグリゲーションから可用性を計算できることです。 この機能の大きな魅力は、Checkmk が、この目的のために、個々のホストおよびサービスの状態のプロトコルを使用して、特定の時点における各アグリゲートの正確な状態を遡って再構築する点にあります。 なぜこれほど時間と労力を費やす必要があるのでしょうか? アクティブなチェックで BI アグリゲーションをクエリし、その可用性を表示すれば良いのではないでしょうか? その答えは、ユーザーにとって多くの利点があるからです。

なぜこれほど手間と時間がかかるのでしょうか?アクティブチェックで BI アグリゲーションをクエリし、その可用性を表示すれば良いのではないでしょうか? この手間には、ユーザーにとって多くの利点があります。 BI アグリゲーションの構築は後から変更でき、その可用性を再計算することができます。

  • BI アグリゲーションの構築を遡って調整し、可用性を再計算することができます。

  • アクティブチェックを使用しないため、1 分程度の誤差が発生しないため、計算の精度が向上します。

  • 優れた分析機能が利用可能で、障害の正確な原因を事後的に調査できます。

  • さらに重要なことは、追加のチェックを作成する必要がないことです。

4.2. 可用性の取得

可用性ビューの取得は、最初はホストおよびサービスの可用性ビューの取得と同様です。 1 つ以上の BI アグリゲーションを含むビューを選択し、[BI Aggregations > Availability ] メニュー項目を選択します。 ここでは、2 つ目の方法も利用できます。すべての BI アグリゲーションには、 記号を使用して、その可用性への直接パスが

BI view with icon for calling up availability.

計算自体は、サービスの場合と最初は同様ですが、Host down (利用可能)およびflapping (利用不可)列は、BI には存在しないため、表示されません。 4.3. タイムトラベル

View of a BI aggregation availability.

4.3. タイムトラベル

大きな違いは、タイムラインビューにあります。 次の例は、デモサーバーの集約で、1 秒という非常に短い間隔でCRITになった場合です(これは、Short time intervals オプションの使用例として適しています )。

View with timeline of the BI aggregation state changes.

障害の原因を知りたい場合は、魔法の杖を クリックするだけです。これにより、障害が発生した正確な時点に タイムトラベルし、その時点での BI アグリゲーションの表示が開きます。 次の画像では、 すでに正しい場所で表示されています。

Timewarp of a BI aggregation.

5. レポートでの利用可能性

可用性ビューは、レポートに埋め込むことができます。 最も簡単な方法は、メニューバーの [Export > Add to report ] を使用することです。 ビューを追加するレポートを選択し、[Add to] で確定します。

Selection of the report for the integration of availability.

Availability table (利用状況の追加)レポートエレメントは、利用状況の分析をレポートに挿入します。 上記のすべてのオプションは、パラメータとしてエレメントに直接表示されます。ただし、グラフィックのフォームは若干異なります。 最後のオプションは特別なものです。

Options for displaying availability in the report.

最後のオプションは特別なものです:

The 'Elements to show' option in the display options.

ここでは、レポートに追加する表示を指定できます。

  • 利用可能性テーブル

  • タイムラインのグラフィック表示

  • 個々の期間を含むタイムラインの詳細

通常のインタラクティブなビューとは異なり、ここでは テーブルとタイムラインを同時にレポートに埋め込むことができます。

2 つ目の機能は、評価期間の指定です。 このオプションは、レポートによって自動的に決定されるため、ここでは表示されていません。

他のレポートエレメントと同様に、オブジェクトの選択は、レポートから採用するか、エレメントで直接事前定義します。

6. 技術的背景

6.1. 計算の仕組み

可用性を計算するために、Checkmk はアーカイブされた監視ヒストリー ログにアクセスし、その際に状態の変化を基準とします。 たとえば、2021 年 10 月 20 日 17:14 にサービスの状態が「CRIT 」に変更され 、その後 17:24 に「OK 」に戻った場合、この 10 分間の 期間、サービスは「CRIT 」の状態であったことがわかります。

これらの状態の変化は、監視ログに記録され、アラートタイプはHOST ALERT またはSERVICE ALERT となり、例えば次のように表示されます。

var/check_mk/core/history
[1634742874] SERVICE ALERT: mail.mydomain.com;Filesystem /var/spool;CRITICAL;HARD;1;CRIT - 95.9% used (206.96 of 215.81 GB), (warn/crit at 90.00/95.00%), trend: 0.00 B / 24 hours

現在の時点までの最新のアクティビティのエントリを含む現在のログファイルと、 それ以前の期間のアーカイブを含むディレクトリが常に存在します。 これらのファイルの場所は、使用している監視コアによって異なります。 /var/check_mk/core/history

コア 現在のファイル 古いファイル

Nagios

var/log/nagios.log

var/nagios/archive/

CMC

var/check_mk/core/history

var/check_mk/core/archive

ユーザーインターフェースはこれらのファイルに直接アクセスするのではなく 監視コアから発行されるライブステータスクエリを使用してそれらを照会します。 これは、とりわけ 分散監視では、ヒストリーファイルはGUIと同じシステムには保存されない ため、重要です。

ライブステータスクエリは、statehist テーブルを使用します。log テーブルは、ヒストリーに「そのまま」アクセスできるのに対し 、statehist テーブルは、時間のかかる初期計算をすでに実行しているため、こちらを使用します。このテーブルは、とりわけ、ヒストリーをさかのぼって初期状態を決定する チェック、および同じ状態の期間、その開始、 継続時間、終了を計算するタスクを担当します。 この状態の圧縮手順は、この記事の冒頭で説明したように、ユーザー概要で アベイラビリティモジュールによって実行されます。

状態の凝縮手順は、この記事の冒頭で説明したように、ユーザー概要で 可用性モジュールによって実行されます。

CMC の可用性キャッシュ

キャッシュの仕組み

過去をさかのぼってクエリを実行する場合、多くのログ ファイルを処理する必要があります。これは、当然のことながら 計算時間に悪影響を及ぼします。このため、Checkmk Micro Core には、監視履歴の非常に効率的なキャッシュが 備わっています。このキャッシュでは、オブジェクトの状態変化に関する重要な情報は すべて、RAM に保存されているログファイルから最初から決定されており 、アクティブな監視で継続的に更新されます。 これにより、すべての可用性クエリは RAMから直接かつ非常に効率的に回答でき、 追加のアクセスは不要になります。

ログファイルの解析は非常に高速で、適切な高速ハードドライブを使用すると 最大 80 MB/秒の処理速度を達成できます。キャッシュの作成によって 監視の開始が遅れることがないように、これは非同期で実行されます。つまり、現在から過去に向かって実行されます。Checkmk サイトの起動直後に 長い時間範囲をカバーする可用性クエリがすぐに開始された場合 、短い遅延が発生します。 このような状況では、キャッシュが過去を十分に遡ることができず 、GUI がそれを処理するために少し時間がかかる場合があります。

Activate changes を設定すると、キャッシュは保持されます。 Checkmk を実際に(再)起動した場合、たとえばサーバーの再起動や Checkmk のアップデート後にのみ、キャッシュを新たに生成する必要があります。 キャッシュ統計

キャッシュの統計

キャッシュの生成にどれくらいの時間がかかるか知りたい場合は 、var/log/cmc.log ログファイルで統計を確認できます。以下は 小規模な監視システムでの例です。

Statistics for calculating the cache.

キャッシュの調整

キャッシュのストレージ要件を管理するために、キャッシュは 過去 730 日間に制限されています。この制限は固定であるため、 それより古いデータをクエリすると、処理速度が低下するだけでなく、クエリ自体が不可能になります。 これは、Global Settings > Monitoring Core > In-memory cache for availability data のグローバル設定で簡単にカスタマイズできます。

Global settings for the availability cache.

計算の期間に加えて、もう 1 つ 興味深い設定があります。それは、Ignore core restarts shorter than…​ です。コアが新たに起動すると (更新やサーバーの再起動など)、実際にはunmonitored としてカウントされる期間が生成されます。これにより、30 秒までの停止は 単に無視されます。この時間は延長することもでき、より長い時間は 簡単に抑制することもできます。この設定では、 すべてのホストおよびサービスが、 その最後の

7. ファイルおよびディレクトリ

ファイルパス 機能

var/check_mk/core/history

CMC 内の監視ヒストリーに関する現在のログファイル

var/check_mk/core/archive/

ヒストリーの古いログファイルが保存されているディレクトリ

var/log/cmc.log

CMC のログファイル。可用性キャッシュの統計情報をビューできます。

var/nagios/nagios.log

Nagios の監視履歴の現在のログファイル

var/nagios/archive/

Nagios の古いログファイルが保存されているディレクトリ

var/check_mk/availability_annotations.mk

ここでは、注釈および事後修正されたダウンタイムのスケジュールが保存されます。ファイルは Python 形式であり、手動で編集することができます。

このページでは