This article still shows the status of version 2.3.0. It is currently being prepared for publication - with the changes of version 2.4.0. |
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. |
この記事は、バージョン2.3.0 のステータスをまだ表示しています。現在、バージョン2.4.0 の変更を加えて公開の準備を進めています。 |
1. はじめに
クラウドやコンテナ環境では、監視対象のホストが生成されるだけでなく、自動的に有効期限が切れることがますます一般的になっています。 このような環境では、監視の設定を常に最新の状態に保つことは、手作業では不可能になっています。 VMware クラスタなどの従来のインフラストラクチャも非常にダイナミックである可能性があり、手作業による管理は可能であっても、いずれにしても面倒です。
Checkmk の商業版では、スマートなツールであるダイナミックコンフィギュレーションデーモン(略称DCD)により、このプロセスをサポートしています。 ダイナミックホストマネージメントとは、監視 AWS、Azure、Kubernetes、VMware などの情報に基づいて、ホストを監視に追加したり、監視から削除したりする、完全に自動化された手順のことです。 DCD は非常に汎用性が高く、ホストの作成だけに限定されません。
DCD は非常に汎用性が高く、ホストの作成だけに限定されません。 DCD は、構成を動的に調整する Checkmk の将来の拡張の基礎となります。 これは、たとえばユーザーの管理も意味します。 この目的のために、DCDは接続と連携して動作します。 各接続は、非常に特定の種類のソースから情報を取得することができ、それぞれ固有の構成を持っています。
特別な接続を使用すると、将来は、既存の CMDB からホストを Checkmk に自動的に取り込むことがさらに簡単になります。
2. DCD によるホストの管理
2.1. ピギーバック接続
現在、Checkmk の DCD には、ピギーバックデータに使用される 1 つの接続しか備わっていません。 これは、ホストからのクエリ(通常はスペシャルエージェントによるもの)が他のホスト(通常は仮想マシンまたはクラウドオブジェクト)の データを提供する場合、Checkmk はあらゆる状況でピギーバックメカニズムを使用するため、非常に汎用性があります。 ピギーバック接続は、ホストの DCD ファイルに保存されている DCD ファイルの DCD ファイルに保存されている DCD ファイルに保存されている DCD ファイルに保存されている DCD ファイルに保存されている DCD ファイルに保存されている DCD ファイルに保存されている DCD ファイルに保存
Checkmk が監視でピギーバックを使用している例をいくつかご紹介します。
これらの場合、監視は、ネットワーク経由で直接連絡が取れない、また Checkmk エージェントを実行する必要のない他のホスト (VM など) からデータを自動的に取得します。 DCD を使用すると、このようなホストを監視に自動的に追加および削除して、常に実際の状況をタイムリーに反映させることができます。 これを行うために、DCD は既存のピギーバックデータを分析し、セットアップにすでに存在するホストと比較し、不足しているホストを再作成します。
これを行うために、DCD は既存のピギーバックデータを分析し、セットアップにすでに存在するホストと比較し 、欠落しているホストを再作成し、または冗長なホストを削除します。 DCD によって自動的に作成されるホストもありますが、これらはセットアップ GUI で編集することができます。
2.2. オートメーションユーザー
デフォルトでは、オートメーションユーザーはCheckmk に存在します。 このユーザーは、自動取得を有効にするために Checkmk によって作成されます。 ダイナミックホストマネージメントにも、既存のオートメーションユーザーが必要です。
何らかの理由で、このユーザーをシステムから削除または変更した場合は、REST API への自動アクセス権を持つ別のユーザーを設定する必要があります。 この場合、Setup > General > Global settings > Dynamic configuration でグローバル設定のConnection to the REST API を開きます。

ここでは、デフォルトで選択されているオートメーションユーザーの代わりに、別のユーザーとそのアクセスデータ(名前、パスワード)を入力できます。Save で変更を保存すると、選択したユーザーが REST-API へのアクセスに使用され、ダイナミックホストマネージメントを続行できます。
2.3. ダイナミックホストマネージメントの設定
ピギーバックデータは存在しますか?
DCD を使用するための唯一の要件は、ピギーバックデータがあることです。 AWS、Azure などの監視を正しく設定していれば、このデータは常に存在します。
Checkmk のピギーバックデータは、~/tmp/check_mk/piggyback ディレクトリに作成されるため、コマンドラインでも簡単に確認できます。
OMD[mysite]:~$ ls tmp/check_mk/piggyback
myvm01 myvm02 myvm03このディレクトリが空でない場合、このサイトでピギーバックデータが生成されています。
一般的な接続設定
Setup > Hosts > Dynamic host management メニュー項目を選択すると、ホスト管理、つまりその接続画面が表示されます。

Add connection で新しい接続を作成します。 設定の最初の部分は、General properties です。

ここでは、通常どおり、この接続に一意の ID とタイトルを割り当てます。 また、この接続を実行する Checkmk サイトの選択も重要です。 ピギーバックデータは常にローカルで処理されるため、接続は常に特定のサイトに割り当てる必要があります。
接続のプロパティ
2 番目の部分は、Connection properties です:

接続タイプ「Piggyback data 」は、ここではすでに選択されています(現在、選択可能なのはこれだけです)。
Sync interval は、接続が新しいホストを検索する頻度を決定します。 1 分間の定期的なチェック間隔を維持する場合、それ以上の頻度でチェックを行うことは意味がありません。 ピギーバックデータは、せいぜい 1 分に 1 回しか変更されないからです。 非常に動的な環境では、チェック間隔と接続間隔の両方をより低い値に設定することができます。 ただし、これにより、Checkmk サーバーの CPU 使用率が上昇します。
ここで、Piggyback creation options に少なくとも 1 つのエレメント (Add new element) を追加することが重要です。 これにより、自動的に作成されるホストの設定画面に移動します。

ここでは、2 つの重要な事項を指定できます。ホストを作成するフォルダ (ここでは、たとえばAWS Cloud 02) および設定するホスト属性 (後者については、[もっと表示] モードを有効にする必要があります)。 ピギーバックホストにほとんど適用される 4 つの重要な属性が事前設定されています。
SNMP による監視を行わない。
ホスト自体に Checkmk エージェントはありません (データはピギーバック経由で送信されます)。
ピギーバックデータは常に期待されます (ピギーバックデータがない場合はエラーになります)。
ホストには IP アドレスがありません。
重要: Delete vanished hosts を有効にした場合のみ、ホストが動的環境から消えたときにホストが削除されます。
すべてのホストを自動的に作成したくない場合は、正規表現を使用して Only add matching hosts オプションを制限することで、これを実現できます。 重要:ここでいうホストとは、作成されるホストのことであり、たとえば AWS を監視するために設定したホストは含まれません。
後者は、Restrict source hosts オプションを使用して実現できます。 これは、ピギーバックデータを生成するホストの名前を指します。
変更をアクティブにする
さらに 2 つのオプションは、変更の自動アクティブ化に関するものです。これは、ホストが実際に作成または削除された場合にのみ、監視に表示されるようにするためです。 変更のアクティブ化に時間がかかる場合は、xml-ph-0000@deepl.internal を使用して、新しいホストごとにすぐに開始されるのではなく、いくつかのホストがアクティブになった後に開始されるようにすることができます。
サイトでの変更のアクティブ化に時間がかかる場合は、Group "Activate changes" を使用して、新しいホストごとにすぐにアクティブ化を開始せず、いくつかのホストが「収集」された後にアクティブ化を開始するように設定できます。 さらに、1 日の特定の時間帯(たとえば、監視システムが積極的に監視されている時間帯)には、変更の自動アクティブ化を完全に停止することもできます。
さらに、1 日の特定の時間帯(たとえば、監視システムが積極的に監視されている時間帯)は、変更の自動アクティブ化を完全に停止することもできます。 DCD が変更をアクティブにすると、あなたや同僚が直前に加えた他のすべての変更もアクティブになってしまうからです。
保存すると、接続がリストに表示されます。
ただし、変更をアクティブにするまでは実行できません。アクティブにして初めて機能し始めます。
したがって、保存直後に表示されるメッセージに驚かないでください。
Failed to get the status from DCD (The connection 'piggy01' does not exist)
3. 接続の開始
3.1. 最初のアクティベーション
接続プロパティを保存し、変更をアクティブにすると、接続は自動的に動作を開始します。 この動作は非常に高速であるため、変更をアクティブにした直後に、監視にホストが作成されるのがすぐにわかります。

このページをすぐに再読み込みすると、DCD によって変更が自動的にアクティブになったため、これらの変更はすでに消えているでしょう。 新しいホストはすでに監視対象になっており、定期的に監視されます。
4. ホストの自動削除
4.1. ホストはいつ削除されますか?
前述のように、もちろん「存在しなくなった」ホストは DCD によって監視から自動的に削除されるように設定することができます。 これは一見、非常に論理的であるように思われます。しかし、「存在しなくなった」とは 正確にはどういう意味なのか、よく考えてみると、いくつかの状況があるため、少し複雑になります。 以下の概要では、削除オプションが有効になっていることを前提としています。このオプションを有効にしないと、ホストは自動的に削除されません。
| 状況 | 何が起こりますか? |
|---|---|
DCD 接続が削除されます。 |
DCD 接続をシャットダウン (do not activate this dynamic configuration connection) したり、完全に削除したりしても、この接続によって作成されたすべてのホストは保持されます。 必要に応じて、手動で削除する必要があります。 |
ピギーバックホストは監視されなくなります。 |
クラウドまたはコンテナ環境を監視しているホストを監視対象から削除すると、当然、ピギーバックデータは生成されなくなります。 この場合、自動的に生成されたホストは1 時間後に自動的に削除されます。 |
ピギーバックホストには連絡できません。 |
クラウド環境にアクセスできず、それを要求するCheck_MK サービスがCRIT に移動した場合、生成されたホストは監視対象として無期限に残ります。 ここでは1時間のタイムアウトはありません。 |
Checkmk サーバー自体が停止しています。 |
すべての監視を停止すると、ピギーバックデータは使用できなくなりますが、もちろん、作成されたホストは削除されることはありません。 Checkmk サーバーが再起動した場合も同様です(ピギーバックデータは RAM に保存されているため、一時的に失われます)。 |
ホストはピギーバックデータから削除されます。 |
これは通常の状況です。 クラウド/コンテナ環境のホストが消えました。 この場合、そのホストは監視から即座に削除されます。 |
Automatic host removal ルールでは、すべてのホストを自動的に削除するオプションがあることにご注意ください。 ライフサイクル管理の2 つのオプションは互いに独立して機能します。つまり、2 つの条件のうち 1 つが満たされると、ホストは削除されます。
4.2. 設定オプション
ホストを自動的に削除するかどうかという質問に加えて、接続プロパティには、削除に影響する 3 つのオプションがあります。 これらは、これまで説明しなかったオプションです。

最初の設定「Prevent host deletion right after initialization 」は、Checkmk サーバー自体の完全な再起動に影響します。 この場合、ホストが最初にクエリされるまで、すべてのホストのピギーバックデータは最初は欠落します。 ホストの無意味な削除と再出現(これは既知の問題に関する通知の繰り返しも伴います)を回避するため、 デフォルトでは、最初の 10 分間は削除は一般的に行われません。 この時間制限はここでカスタマイズできます。
Validity of missing data オプションは、監視データによって複数のホストが自動的に作成されたホストがピギーバックデータを返さない場合をハンドルします。 これは、AWS などへのアクセスが機能しなくなった場合などに発生します。 もちろん、設定からスペシャルエージェントを削除した場合も同様です。 自動的に生成されたホストは、セットアップから削除されるまで、設定された時間だけシステムに残ります。
Validity of outdated data オプションは同様ですが、ピギーバックデータは受信されているものの、一部のホストから受信されていない場合を扱います。 これは、仮想マシンやクラウドサービスが利用できなくなった場合などに通常発生します。 対応するオブジェクトを Checkmk から適時に削除したい場合は、ここでそれに応じて短い時間間隔を設定してください。
5. 診断
5.1. 実行履歴
DCD の動作を確認したい場合は、接続リストの各エントリに アイコンがあります。 このアイコンをクリックすると、実行履歴が表示されます。

何らかの理由でホストの作成に失敗した場合、その旨が実行履歴に表示されます。
5.2. 監査ログ
Setup > General > Audit log を使用すると、セットアップ GUI で実行されたすべての変更のリストを含むページが開きます。変更は、すでにアクティブになっているかどうかに関係なく表示されます。automation ユーザー、またはその代わりに認可したユーザーによるエントリを探します (「オートメーションユーザー」セクションを参照)。
DCD はこのユーザーアカウントで動作し、そこで変更を生成します。そのため、ここでは、DCD がどのホストをいつ作成または削除したかを追跡できます。
5.3. DCD ログファイル
DCD のログファイルは、~/var/log/dcd.log です。
前の画像に該当する例を以下に示します。
2021-11-10 14:45:22,916 [20] [cmk.dcd] ---------------------------------------------------
2021-11-10 14:45:22,916 [20] [cmk.dcd] Dynamic Configuration Daemon (2.0.0p14) starting (Site: mysite, PID: 7450)...
2021-11-10 14:45:22,917 [20] [cmk.dcd.ConnectionManager] Initializing 0 connections
2021-11-10 14:45:22,918 [20] [cmk.dcd.ConnectionManager] Initialized all connections
2021-11-10 14:45:22,943 [20] [cmk.dcd.CommandManager] Starting up
2021-11-10 15:10:58,271 [20] [cmk.dcd.Manager] Reloading configuration
2021-11-10 15:10:58,272 [20] [cmk.dcd.ConnectionManager] Initializing 1 connections
2021-11-10 15:10:58,272 [20] [cmk.dcd.ConnectionManager] Initializing connection 'piggy01'
2021-11-10 15:10:58,272 [20] [cmk.dcd.ConnectionManager] Initialized all connections
2021-11-10 15:10:58,272 [20] [cmk.dcd.ConnectionManager] Starting new connections
2021-11-10 15:10:58,272 [20] [cmk.dcd.piggy01] Starting up
2021-11-10 15:10:58,273 [20] [cmk.dcd.ConnectionManager] Started all connections6. ファイルとディレクトリ
| パス | 機能 |
|---|---|
|
ピギーバックデータが作成されます。ピギーバックデータに含まれるピギーバックホストごとにディレクトリが作成されます。 |
|
動的構成デーモン(DCD)のログファイルです。 |
