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. はじめに

Example of a graph.

実際のシステム監視、つまり問題の検出に加え、Checkmk は、IT 環境で生成されるさまざまな測定値を記録および分析するための優れたツールです。 例えば、次のような測定値があります。

  • オペレーティングシステムのパフォーマンス(ディスク IO、CPU およびストレージの使用率など)

  • ネットワーク統計(利用帯域幅、パケット転送時間、エラー率など)

  • 環境センサー(温度、湿度、気圧、…)

  • 使用状況統計(ログインユーザー、ページリクエスト、セッションなど)

  • アプリケーションの品質指標(web サイトの応答時間など)

  • データセンターの電力消費および品質(電流、電圧、電力、バッテリー容量など)

  • アプリケーション固有のデータ(MS Exchange からの電子メールキューの長さなど)

  • およびその他多数 …​

Checkmk は、4 年間の監視で生成されたすべての測定値を記録します(カスタマイズ可能)。 そのため、現在のデータだけでなく、履歴データにもアクセスできます。 ディスクの使用状況を管理するために、データは古くなるにつれて圧縮されます。

メトリック自体は、個々のチェックプラグインによって検出されます。 したがって、プラグインは、提供されるメトリックも正確に決定します。

履歴測定データを視覚化するインターフェースは HTML5 ベースで、商業版と Checkmk Raw で同じです。 商業版では、PDF エクスポート、グラフコレクション、カスタムグラフ、外部メトリックデータベースへの接続などの高度な機能も使用できます。

2. GUI によるアクセス

サービスの測定値は、GUI で 3 種類のフォームで表示されます。 いわゆるパーフオメーターは、ホストまたはサービスのテーブルに直接表示され 、概要と視覚的な比較をすばやく確認できます。ただし、これらは 通常、スペースの制約により、選択した 1 つのメトリックに限定されます。たとえば、ファイルシステムの場合 、これは使用済みスペースの割合です。

View of the localhost with Perf-O-Meter values.

サービスのすべてのメトリックを時間範囲で表示することができます グラフアイコンにカーソルを合わせると、またはアイコンをクリックすると、表示されます。 グラフィックの右上にある @ 値は、新しいデータが取得され、追加される間隔を示しています。 たとえば、@ 1m は、クエリ間隔が 1 分であることを意味します。

同じグラフは、ホストまたはサービスの詳細でも簡単に見つけることができます。

Graph of CPU utilization.

すべてのメトリックの正確な現在の測定値を含む表も、詳細ページで確認できます。

Excerpt of the service metrics.

3. グラフとの対話

グラフの表示は、さまざまな方法で対話的に変更することができます。

  • マウスボタンを押したままパン(またはドラッグ)すると、時間範囲(左右)またはスケール(上下)を移動できます。

  • マウスホイールを使用して、時間範囲を拡大または縮小します。

  • グラフの右下隅をドラッグしてサイズを変更します。

  • グラフ上の位置をクリックすると、ピンが設定されます。これにより、その点の正確な時間と、その瞬間の正確な測定値をすべて確認することができます。ピンの正確な時間はユーザーごとに保存され、すべてのグラフに表示されます。

  • 列見出しをクリックすると、表示される値を最小値、最大値、または平均値に設定できます。

Visualization of possible interactions in a graph.

1 ページに複数のグラフが含まれている場合、すべてのグラフは、時間範囲およびピンに対する変更に準拠します。 したがって、グラフ間で値を常に比較することができます。 同様に、すべてのグラフでスケーリングが実行されます。ただし、これらの再調整は、ページを更新すると最初に表示されます。 (そうしないと、表示が混乱する場合があります…​)

ピンを設定するなどのインタラクティブ機能を使用すると、 画面に大きな「一時停止」のシンボルが表示され、ページのリフレッシュが 60 秒間停止します。これにより、グラフでの変更はリフレッシュによって即座に 元に戻されることはありません。再び操作を開始すると、カウントダウンは常に 60 秒にリセットされます。カウントダウンを完全に一時停止するには、 数値をクリックしてください。一時停止アイコンをクリックすると、いつでも一時停止を解除できます。

The pause icon in a graph.

4. グラフコレクション

商業版では、 グラフの左下に表示されるメニューを使用して、レポートやダッシュボードなど、さまざまな場所にグラフを埋め込むことができます。 この場合は、メニューセクションの「Add to graph collection 」が非常に便利です。 このようなグラフコレクションには、任意の数のグラフをまとめて 後で比較したり、PDF としてエクスポートしたりすることができます。デフォルトでは、すべてのユーザーにはMy graphs という名前のグラフコレクションが1つあります。新しいコレクションは簡単に追加でき、 他のユーザーにも表示させることができます。手順は、ビューの場合とまったく同じです。

グラフコレクションには、Monitor > Workplace > My graphs.からアクセスできます。My graphs エントリは、そのコレクションに実際に 少なくとも 1 つのグラフが追加されている場合にのみ表示されます。

Selection of the graph collection in the 'Monitor' menu.

Customize > Graphs > Graph collections をクリックすると、 すべてのグラフコレクションがリストされたテーブルが開き、新しいコレクションの追加、既存のコレクションの変更などを行うことができます。

5. グラフの調整

商業版では、Customize > Graphs > Graph tunings.を使用して、ビルトイングラフを微調整することができます。Graph tunings を使用すると、たとえば、Vertical axis scaling オプションを使用して、特定のグラフのY軸のスケールを変更することができます。

The settings for customizing a graph.

この変更は、Apply to を使用して、ダッシュボードなど、グラフの特定の発生に限定することもできます。 次の画像は、PDF レポートで0.5 から 0.9 までの範囲にスケーリングした例です。

View of a restricted scaling.

さらに、2 つのオプションも使用できます。Graph visibility を使用すると、特定の場所でグラフを明示的に表示または非表示にすることができます。また、Vertical axis mirroring は、以下のディスクスループットグラフのように、タイムライン (X 軸) の上と下にデータを表示するグラフに便利です。ここでは、データを垂直方向に反転して、以前はタイムラインの上に表示されていたデータを下に表示したり、その逆を行うことができます。

注:ユーザーは、プロフィールでグラフおよびパーフオメーターの温度測定単位を個別に設定できます。 概要および詳細ビューの一般的なカスタマイズは、サービスルールセット Temperature.

6. カスタムグラフ

商業版では 独自の計算式を使用して、独自の完全なグラフを作成できるグラフィックエディタが提供されています。 これにより、異なるホストやサービスのメトリックを 1 つのグラフに結合することも可能になりました。

カスタムグラフには、Customize > Graphs > Custom graphs.からアクセスできます。 別の方法としては、サービスのメトリックテーブルからアクセスすることもできます。 各メトリックには、カスタムグラフにメトリックを追加するためのメニューがあります。

Selection options for custom graphs.

次の図は、カスタムグラフのリスト(ここでは 1 つのエントリのみ)を示しています。

Overview of custom graphs.

既存のグラフには 5 つの操作があります。

このグラフを表示します。

このグラフのコピーを作成します。

このグラフを削除します。

このグラフのプロパティを開きます。ここでは、グラフのタイトルだけでなく、他のユーザーに対する表示設定も定義できます。これらの機能は、ビューの場合とまったく同じです。設定について質問がある場合は、コンテキスト依存ヘルプを表示することができます。Help > Show inline help.

グラフデザイナーにアクセスできます。ここでは、グラフの内容を変更することができます。

ビューと同様に、カスタムグラフにはそれぞれ一意の ID が割り当てられています。この ID は、レポートやダッシュボードで参照されます。後でグラフの ID を変更すると、これらの リンクは壊れます。hidden 以外のすべてのグラフは、デフォルトでMonitor > Workplace.

6.1. グラフデザイナー

General view of the graph designer.

グラフデザイナーは 4 つのセクションに分かれています。

6.2. グラフのプレビュー

ここでは、ライブで表示されるグラフを正確に確認できます。また、すべての インタラクティブ機能も使用できます。

6.3. メトリックリスト

グラフに含まれる曲線は、ここで直接編集することができます。 このフィールドで曲線のタイトルを変更する場合は、Enter キーで確定してください。Styleは、グラフの値の表示方法を定義します。以下のオプションがあります。

Line

値は線として描画されます

Area

値が領域として描画されます。リストの上位にある曲線は、下位にある曲線よりも優先され、下位にある曲線を覆う可能性があることにご注意ください。線と領域を組み合わせる場合は、領域は常に線の下に配置してください。

Stacked Area

このスタイルが設定されたすべての曲線は、領域として描画され、その値に応じて積み重ねられます(事実上、加算されます)。したがって、この積み重ねの上限は、グラフ内のすべての曲線の合計を表します。

次の 3 つのオプション、Mirrored LineMirrored Area 、およびMirrored Stacked は、曲線がゼロ線から下向きに描画される点を除いて、同様です。 これにより、Checkmk の入力/出力グラフで一般的に使用されるようなグラフのスタイルを使用できます。

An input/output graph.

Actions 列には、作成した各メトリックを複製するためのボタンがあります。これを使用すると、たとえば、ホスト名を簡単に置き換えるなど、曲線をすばやくコピーすることができます。

6.4. メトリックの追加

Metrics ボックスを使用して、グラフに新しいメトリックを追加できます。 最初のフィールドに有効なホスト名を入力すると、2 番目のフィールドに ホストのサービスのリストが表示されます。このリストから選択すると、 3 番目のフィールドにこのサービスのメトリックのリストが表示されます。4 番目の最後のフィールドで 、統合機能を選択します。ここでは、MinimumMaximumAverage のオプションがあります。これらの機能は、指定した時間範囲の RRD に保存されているデータが すでに圧縮されている場合に使用します。たとえば、30 分ごとに 1 つの値しか利用できない範囲では、この時間範囲の 最小値、最大値、または平均の元の測定値をプロットするように選択できます。 同じように、 機能を使用して、 のサービスの値を表示することができます。

Selection of options for a metric.

同様に、Add new scalar 関数を使用して、WARNCRIT 、最大値、最小値の値を水平線として表示することができます。

View of a constant in a metric.

グラフに定数を追加することもできます。これは、最初は 水平線として描画されます。定数は、計算式を生成するために必要な場合があります。 これについては後で詳しく説明します。

グラフオプション

グラフ全体に影響するオプションがあります。

Unit 軸と凡例のラベルに影響します。 デフォルト値「 」は、既知の単位を持つカスタムグラフの最初のエントリを単位として使用することを指定します。 つまり、メトリックおよびスカラー単位は常に既知ですが、定数の単位は不明となります。 既知の単位を持つエントリがない場合、グラフは単位記号なしで表示されます。 代わりに [ ] を選択すると、単位を自分で定義できる詳細設定が表示されます。 異なる単位の 2 つのメトリックを 1 つのグラフに追加することは可能ですが、お勧めはしません。First entry with unit Custom

Explicit vertical range を使用すると、グラフの縦軸を事前に定義することができます。 Y 軸は通常、選択した時間範囲のすべての測定値がグラフに正確に収まるようにスケーリングされます。 たとえば、パーセンテージ値のグラフを作成する場合、0 から 100 までの値を常に表示するように選択することができます。ただし、ユーザー(および あなた自身)は、マウスを使用してグラフをスケーリングすることができるため、 この設定は無効になります。

6.6. 式を使用した計算

グラフデザイナーでは、計算を使用して個々の曲線を組み合わせることができます。 次の例は、2 つの曲線を含むグラフを示しています。CPU 使用率、User およびSystem

このグラフでは、2 つの曲線の合計のみに関心があるとします。 そのためには、両方の曲線の選択ボックスをチェックします。 これが完了すると、Metrics パネルのOperation on selected metrics行に 、使用可能なすべての操作用の新しいボタンがいくつか表示されます。

Additional options in the overview of a graph.

Sum 」をクリックすると、両方の曲線が新しい曲線に結合されます。この新しい曲線の 色は、2つの入力曲線の色の混合色になります。 新しい曲線は「Sum of User, System 」というタイトルが付けられます。計算に 使用された式は「Formula 」列に表示されます。さらに新しい シンボルが表示されます:

View of a graph for combined values.

をクリックすると「元に戻す」として機能し、 元の個々の曲線を再び表示することができます。計算操作に関するその他のヒント :

  • 定数を含めることが望ましい場合があります。たとえば、曲線の値を 100 から差し引く場合などです。

  • スカラーは計算に使用できます。

  • 演算は任意の順序でネストすることができます。

7. InfluxDB、Graphite、および Grafana

商業版をご利用の場合は、Checkmk にビルトインのグラフ機能と外部メトリックデータベースを並行して接続し、メトリックを InfluxDB または Graphite に送信することができます。

すべてのエディションで、Checkmk を Grafana と統合し、Checkmk から Grafana にメトリックを取得して表示することも可能です。

8. テーブル内の過去の測定値

8.1. これは何ですか?

過去の測定値を見る場合、その期間における正確な詳細にはあまり興味がない場合もあります。 たとえば、「過去 7 日間の平均 CPU 使用率」など、大まかな概要の方が興味深いでしょう。 この例の場合、結果は 88% というパーセンテージの数字になります。

ホストまたはサービスのテーブルには、一定期間のメトリックの 平均、最小、最大、その他の要約を表す列を追加することができます。 この機能を使用すると、これらの列でソートしたレポートを作成することもできます。 たとえば、選択した期間に利用率が最も低かったESXi ホストのリストを表示することができます。

ビューに表示するには、次の手順に従います。

  1. 既存のビューを選択するか、新しいビューを作成します。

  2. Services: Metric History タイプの列を追加します。

8.2. ビューの作成

まず、列を追加するビューが必要です。これは、ホストのビューでも サービスのビューでもかまいません。ビューの作成または編集の詳細については 、ビューに関する記事を参照してください。

次の例では、Monitor > Hosts > All hosts から開くことができる「All hosts 」ビューを選択します。 メニューから「Display > Customize view 」を選択します。 これにより、「Clone view 」ページが表示され、ビューを好みに合わせてカスタマイズすることができます。

元の「All hosts 」がコピーで覆い隠されないように、新しい ID と、後で「Monitor 」メニューに表示されるビューの新しいタイトルを選択します。

次に(オプションで)、さまざまなステータスにあるサービスの数を表示するすべての列を削除します。

8.3. 列の追加

次に、Services: Metric History タイプの列を追加します。 これはサービスの列であるため、ホストビューの場合は、ホストテーブルにサービス列を表示できるように、最初の選択として列タイプJoined column を選択する必要があります。 サービスビューの場合は、新しいColumn を追加するだけで十分です。

Options for adding an additional column.

Metric で、履歴評価するメトリックの名前を選択します。 メトリックの名前がわからない場合は、Service Metrics エントリのサービス詳細で確認できます。

View of the service details.

この例では、サービスの名前と同じ CPU utilization 」というメトリックを選択しています。

RRD consolidation では、Aggregation function で使用されている値と同じ値を選択することをお勧めします。これは、「最大値の最小値」などを計算してもあまり意味がないためです。RRD の選択オプションの詳細については、次の章「RRD データの編成」で説明します。

Time range は、調査したい過去期間です。 この例では、過去 7 日間、つまり正確に 168 時間です。

例では、Util @ 7 daysColumn title として選択しています。 後でTitle という名前のフィールドが表示されても驚かないでください。これは、ここでJoined column を使用した場合にのみ表示され、タイトルを指定できるからです。 2つ目のタイトルは空白のままにしておいてください。

最後に、Of Service フィールドに、上記で選択したメトリックが属するサービスの名前を入力します。 大文字と小文字を含むサービスの正確なスペルに注意してください。

保存すると、過去 7 日間の CPU 使用率の割合を示す列が追加された新しいビューが表示されます。

Host overview with the additional column for CPU utilization

  • もちろん、この方法で複数の列を追加することもできます。たとえば、異なるメトリックや異なる期間などです。

  • 関連するメトリックまたはサービスがないホストについては、列は空のままになります。

  • サービステーブルを使用する場合は、Joined Column は必要ありません。ただし、各行には 1 つのホストにつき 1 つのサービスしか表示できません。

9. ラウンドロビンデータベース (RRD)

Checkmk は、すべての測定値を、特別に開発されたデータベース、いわゆるラウンドロビンデータベース(RRD) に保存します。 ここでは、オープンソースプロジェクトで非常に人気があり、広く使用されているTobi Oetiker 社の RRDtoolを使用することができます。

RRD は、従来の SQL データベースに比べ、測定値の保存において重要な利点があります。

  • RRD は、測定データを非常にコンパクトかつ効率的に保存します。

  • ドライブ上のメトリックあたりの使用スペースは固定です。RRD は拡大も縮小もできません。必要なディスク容量は、事前にしっかりとプランニングすることができます。

  • 更新ごとのCPUとディスク時間は常に一定です。RRDsは(ほぼ)リアルタイム対応のため、再編成がデータ詰まりを引き起こすことはありません。

9.1. RRD 内のデータ組織

デフォルトでは、Checkmk は、すべてのメトリックの経過を4 年間の時間範囲にわたって記録するように設定されています。 使用される基本解像度は 1 分です。 これは、チェック間隔が 1 分に設定されており、1 分ごとにすべてのサービスから新しい測定データが正確に 1 回受信されるため、理にかなっています。

当然のことながら、4 年間に 1 分ごとに 1 つの値を保存するには、膨大な ドライブ容量が必要になります(ただし、RRD は測定値 1 つあたり 8 バイトしか必要としません )。このため、データは時間の経過とともに圧縮されます。 最初の圧縮は 48 時間後に行われます。この時点から、5 分ごとに 1 つの値だけが保存されます 。さらに、10 日後と 90 日後に次の段階が実行されます。

フェーズ 期間 解像度 測定値

1

2日間

1分

2880

2

10 日

5分

2880

3

90 日

30分

4320

4

4年

6時間

5840

ここで当然の疑問が浮かびます。5 つの値を 1 つに統合する最善の方法は? このために、最大値最小値平均値などの統合機能があります。 実際に意味のある値は、アプリケーションや視点によって異なります。 たとえば、4 年間にわたってデータセンターの温度変動を監視する場合、記録された最高温度が最も重要でしょう。 一方、アプリケーションのアクセス率の場合、平均値がより興味深いかもしれません。アプリケーションのアクセス率の場合、 平均値がより興味深いかもしれません。

後での計算の柔軟性を最大限に高めるため、Checkmk の RRD は 最小値、最大値、平均値の3 つの値をすべて一度に保存するように あらかじめ設定されています。各圧縮レベルおよび統合機能について、RRD には「リング」スタイルの保存、いわゆるラウンドロビンアーカイブ (RRA) が含まれています。 標準構造では 12 個の RRA があります。したがって、Checkmk の標準構造では メトリックごとに 384,952 バイトが必要です。この数値は、2880 + 2880 + 4320 + 5840 測定ポイント、3 つの統合関数、 測定値 1 つあたり 8 バイトの 3 倍、合計でちょうど 382,080 バイトになります。2872 バイトのファイルヘッダーを追加すると、上記の最終的なサイズ 384,952 バイトになります。

興味深い代替スキームとしては、たとえば、1 分ごとに 1 つの値を 1 年間保存する方法があります。この方法には、RRD が 常に最適な解像度を保つため、統合が不要になり 、たとえば平均値のみを生成できるという小さな利点があります。365 x 24 × 60 の測定値を 8 バイトで計算すると、結果はメトリックあたりほぼ 正確に 4 MB になります。この方法では、RRD のストレージ要件は 10 倍になりますが 、実際には「ディスク I/O」は削減されます。その理由は、12 個の個別の RRA に保存および更新する必要が なくなり、1 つだけで済むからです。 9.2. RRD 構造のカスタマイズ

9.2. RRD構造のカスタマイズ

定義済みのストレージスキームが適切でない場合は、 ルールセット(ホスト またはサービスごとに異なるバージョンも使用可能)を使用して変更することができます。必要なルールセットは、 ルール検索(Setup メニュー)から最も簡単に見つけることができます。そこでは、単にRRD と入力してください。ここに、ルールセットConfiguration of RRD databases of services があります。ホストにも同様のルールセット がありますが、ホストには例外的な場合のみ測定値があります。 以下の画像は、デフォルト設定の RRD ルールを示しています。

Rule settings for an RRD.

Consolidation functions およびRRA configuration で 、統合で使用する圧縮フェーズの数とサイズを定義および設定できます。Step (precision) フィールドは、解像度を秒単位で定義し、 ルールでは 60 秒 (1 分) に設定されています。チェック間隔が 1 分未満のサービスでは 、この数値を小さく設定することをお勧めします。ただし、Number of steps aggregated into one data point フィールドの数値は、分ではなくStep (precision) で設定された時間間隔を表すことに注意してください。

RRD 構造への変更は、最初は 新しく作成されたRRD、つまり、監視に新しく組み込まれたホストまたはサービス にのみ影響します。Checkmk で既存の RRD を再構築することもできます。 これは、cmk --convert-rrdsコマンドで実行し、-v (詳細) オプションを必ず指定します。 Checkmk は、既存のすべての RRD を検査し、必要に応じて 定義されたターゲット形式に再構築します。

重要:RRD に含まれるデータの整合性を確保するため、既存の RRD をcmk --convert-rrdsで変換する前に、必ずサイト(omd stop )を停止してください。

OMD[mysite]:~$ cmk -v --convert-rrds
myserver012:
   Uptime (CMC).....converted, 376 KB -> 159 KB
   Filesystem / (CMC).....converted, 1873 KB -> 792 KB
   OMD mysite apache (CMC).....converted, 14599 KB -> 6171 KB
   Memory (CMC).....converted, 14225 KB -> 6012 KB
   Filesystem /home/user (CMC).....converted, 1873 KB -> 792 KB
   Interface 2 (CMC).....converted, 4119 KB -> 1741 KB
   CPU load (CMC).....converted, 1125 KB -> 475 KB

このコマンドは、すでに 希望する構造を持つ RRD を認識する

OMD[mysite]:~$ cmk -v --convert-rrds
myserver345:
   Uptime (CMC).....uptodate
   Filesystem / (CMC).....uptodate
   OMD mysite apache (CMC).....uptodate
   Memory (CMC).....uptodate
   Filesystem /home/user (CMC).....uptodate
   Interface 2 (CMC).....uptodate
   CPU load (CMC).....uptodate

新しいフォーマットの方が解像度が高い場合や、追加の統合機能がある場合、 既存のデータは可能な限り補間され、RRD に 可能な限り意味のある値が格納されます。ただし、 たとえば、2 日間の 1 分間隔の値の代わりに 5 日間の 1 分間隔の値が必要になった場合、 既存のデータの精度を遡って向上させることはできません。

9.3. RRD ストレージ形式

上記のルールには、さらに別の設定があります。RRD storage format これにより、Checkmk が RRD を作成する際に使用する 2 つの方法から選択することができます。 One RRD per host/service (略して Checkmk 形式)では、ホストまたはサービスのすべてのメトリックが 単一の RRD ファイルに保存されます。 これにより、ドライブへのデータの書き込みがより効率的になり、1 回の操作でメトリックの完全なセットを常に書き込むことができます。 これらの メトリックは隣接するストレージブロックに配置されるため、ディスクに書き込む必要のあるブロックの数が 減少します。

Checkmk サイトが、1.2.8 よりも古いバージョンの商業版で作成されている場合、 測定データが現在のより効率的な形式に変換されているかどうかを詳しく確認することをお勧めします。 データがまだ PNP 形式で保存されている場合は、上記のルールセットに示すルールを適用して、 Checkmk 形式に変換することができます。 ここでも、既存の RRD を変換する前に、必ずサイトを停止してください。

ここでも、cmk --convert-rrds コマンドが必要になります。また、既存の RRD を変換する前に、必ずサイトを停止してください。

OMD[mysite]:~$ cmk -v --convert-rrds
myhost123:
   Uptime PNP -> CMC..converted.
  WARNING: Dupliate RRDs for stable/Uptime. Use --delete-rrds for cleanup.
   OMD mysite apache PNP -> CMC..converted.
  WARNING: Dupliate RRDs for stable/OMD mysite apache. Use --delete-rrds for cleanup.
   fs_/home/user PNP -> CMC..converted.
  WARNING: Dupliate RRDs for stable/fs_/home/user. Use --delete-rrds for cleanup.
   OMD mysite apache PNP -> CMC..converted.
  WARNING: Dupliate RRDs for stable/OMD mysite apache. Use --delete-rrds for cleanup.
   Memory PNP -> CMC..converted.
...

警告により、Checkmk は最初に既存のファイルを変更しないことがわかります。 これにより、逆方向の変換は不可能であるため、疑問がある場合は元のデータ形式に戻すことができます。--delete-rrds オプションを使用すると、このコピーが作成されない、または後で削除されるようになります。 後で、コマンドを再度使用して、手動で簡単に削除することができます。 9.4. RRD キャッシュデーモン (rrdcached)

OMD[mysite]:~$ cmk -v --convert-rrds --delete-rrds

9.4. RRD キャッシュディーモン (rrdcached)

ディスクドライブへの書き込みアクセス数を(大幅に)削減するために 、補助サービスである RRD キャッシュディーモン (rrdcached) を使用することができます。これは 、サイトが起動すると起動するサービスの 1 つです。

OMD[mysite]:~$ omd start
Temporary filesystem already mounted
Starting agent-receiver...OK
Starting mkeventd...OK
Starting liveproxyd...OK
Starting mknotifyd...OK
Starting rrdcached...OK
Starting cmc...OK
Starting apache...OK
Starting dcd...OK
Starting redis...OK
Initializing Crontab...OK

RRD の新しい測定値はすべて、Checkmk Micro Core (商業版) または NPCD (Checkmk Raw) からrrdcached に送信されます。これにより、データは RRD に直接書き込まれるのではなく、コレクションとして後でそれぞれの RRD に書き込むためにメインメモリに保持されます 。これにより、ディスクドライブ (または SAN!) への書き込みアクセス回数が大幅に削減されます。

再起動時にデータが失われないように、更新はジャーナルログファイルにも追加で 書き込まれます。これも書き込みアクセスですが、データは 順番に並べられているため、IO はほとんど発生しません。

RRD キャッシュディーモンが効率的に動作するには、大量のメイン メモリが必要です。必要な容量は、RRD の数と データをキャッシュする期間によって異なります。後者は、~/etc/rrdcached.conf ファイルで定義できます。標準設定は 7200 秒(2 時間)ですが、この値はユーザーによってカスタマイズできます。さらに、0~1800 秒のランダムな 範囲も設定できます。RRD ごとにこのランダムな遅延を設定することで、「パルス」状の書き込みが回避され、IO が時間的に均等に分散されます。 ~/etc/rrdcached.conf

~/etc/rrdcached.conf
# Tuning settings for the rrdcached. Please refer to rrdcached(1) for
# details. After changing something here, you have to do a restart
# of the rrdcached (reload is not sufficient)

# Data is written to disk every TIMEOUT seconds. If this option is
# not specified the default interval of 300 seconds will be used.
TIMEOUT=3600

# rrdcached will delay writing of each RRD for a random
# number of seconds in the range [0,delay). This will avoid too many
# writes being queued simultaneously. This value should be no
# greater than the value specified in TIMEOUT.
RANDOM_DELAY=1800

# Every FLUSH_TIMEOUT seconds the entire cache is searched for old values
# which are written to disk. This only concerns files to which
# updates have stopped, so setting this to a high value, such as
# 3600 seconds, is acceptable in most cases.
FLUSH_TIMEOUT=7200

# Specifies the number of threads used for writing RRD files. Increasing this
# number will allow rrdcached to have more simultaneous I/O requests into the
# kernel. This may allow the kernel to re-order disk writes, resulting in better
# disk throughput.
WRITE_THREADS=4

このファイルの設定を変更するには、次のコマンドを実行します:

OMD[mysite]:~$ omd restart rrdcached
Stopping rrdcached...waiting for termination....OK
Starting rrdcached...OK

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

測定値および RRD に関連する最も重要なファイルおよびディレクトリの概要は、次のとおりです (これらはすべて、サイトのホームディレクトリに関連しています)。

パス名 説明

~/var/check_mk/rrd

Checkmk 形式の RRD

~/var/pnp4nagios/perfdata

古い形式(PNP)のRRD

~/var/rrdcached

RRD キャッシュディーモンのジャーナルログファイル

~/var/log/rrdcached.log

RRD キャッシュディーモンのログファイル

~/var/log/cmc.log

Checkmk コアのログファイル (RRD に関するエラーメッセージが含まれます)

~/etc/rrdcached.conf

RRD キャッシュディーモンの設定

このページでは