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. 自動登録
Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP)などのクラウドシステムは、Checkmkのホストに相当する「オブジェクト」を独自に作成および削除します。 これらのクラウドオブジェクトが作成された後、遅滞なく Checkmk 監視のホストとして登録されるためには、手動による操作を必要としないソリューションが必要です。 Checkmk は、ホストを自動的に作成する自動登録機能により、この課題に対応しています。
Checkmk は、ホストを自動的に作成する自動登録機能で、この課題に対応しています。 自動ホスト作成は、主に上記のクラウド環境で必要となるため、自動登録はCheckmk Cloud以降、つまり Checkmk Cloud および Checkmk MSP でのみご利用いただけます。
自動登録は、Checkmk エージェントとCheckmk サーバー間の通信によって実現されます。 エージェントのエージェントコントローラーは、ホストの作成に必要なデータをサーバーのエージェントレシーバーに送信して登録要求を行います。 エージェントレシーバーが要求を受け入れると、登録が行われ、TLS 暗号化接続が確立されます。 その後、ホストが作成され、サービスディスカバリーが実行され、変更がアクティブになります。 これにより、ホストが監視環境に追加されます。これは完全に自動化されたプロセスです。
この自動化を機能させるためには、当然ながら適切な準備が必要です。 Checkmk サイトで、自動登録を認可するユーザー、ホストを作成するフォルダ、 およびエージェントレシーバーが手動操作なしで登録要求を処理できるルールを作成することから始めましょう。 ちなみに、フォルダを設定する際に、そこに作成するホストのエージェントがプルモードで動作するか、プッシュモードで動作するかを指定することができます。
次に、Checkmk エージェントです。ここでは、登録要求の情報がエージェントルールで指定され、エージェントベーカリーによってエージェントパッケージにパック(ベイク)されます。 自動登録用に構成されたこのエージェントパッケージは、自動登録を実行できるホストにインストールされます。
これらの仕組みの詳細は、以降の章で説明します。
2. 自動登録の設定
2.1. 自動登録のユーザーを選択する
Checkmk サーバーにエージェントを登録し(TLS 暗号化データ転送用)、ホストを作成するために必要な許可は、役割「Agent registration user 」に含まれています。 新しいホストを登録する許可は、Checkmk Cloud 以降でのみこの役割で利用可能です。
この役割は、すべての Checkmk サイトに設定され、Setup > Users > Users でプロパティを表示できるオートメーションユーザー agent_registration に割り当てられています。

ホストの登録以外の操作は許可されていないこのオートメーションユーザーを、自動登録に使用することをお勧めします。
2.2. 新しいホスト用のフォルダを作成する
自動的に作成されるホストは、新しいフォルダに作成されます。 または、以下の手順でフォルダを設定すれば、既存のフォルダを使用することもできます。
Setup > Hosts > Hosts > Add folder.でフォルダの作成を開始します。Basic settings ボックスに新しいフォルダの名前を入力します。
Network address ボックスには、IP address family オプションがあります。 ホストのCheckmkエージェントをプルモードで使用するように設定する場合は、デフォルト値IPv4 only をそのままにしておきます。 プッシュモードの場合は、No IP を選択します。 これにより、Smart Pingによるホストのアクセス可能性のチェックが防止されます。
次の「Monitoring agents 」ボックスでは、自動登録に関する 2 つの重要なオプションを指定します。 「Checkmk agent connection mode 」で、Checkmk エージェントをプルモードで動作させるか、または(次の画像のように)プッシュモードで動作させるかを決定します。 このオプションは、Checkmk Cloud 以降でのみ使用できます。 最後に、「Bake agent packages 」で「Bake a generic agent package for this folder 」チェックボックスを有効にします。 これにより、エージェントベーカリーを使用して フォルダとそのフォルダに含まれるすべてのホスト、および将来このフォルダに追加される可能性のあるすべてのホストのエージェント設定を作成することができます。

Save でフォルダの作成を完了します。
2.3. Checkmk サイト用のルールの作成
どのホストを自動的に登録するかを決定し、それらにどのような名前を付け、登録後にどのような処理を行うかは、 当然のことながら、Checkmk でルールを使用して決定します。 この際、ホストのエージェントが登録するラベルが重要な役割を果たします。 しかし、まずは基本的なことから始めましょう。
Agent registration ルールセットは、Checkmk Cloud 以降でのみ利用可能です。Agent registration は、Setup > Agents (「もっと表示」モードが有効の場合)または「Setup 」メニューから検索して見つけることができます。Add rule で新しいルールの作成を開始し、最初のボックスにProperties を割り当てます。Checkmk の通常どおり、まず ID とタイトルを指定します。
次の「Matching criteria 」ボックスでは、Checkmk サーバーがエージェントから登録要求を受信したときに、どのラベルを受け入れるかを指定します。
これらのエージェントラベルは、自動登録にのみ使用され、Checkmk でホストやサービスを識別するために使用される他のラベルとは異なります。
2 つのエージェントラベルは Checkmk エージェントによって提供され、リストから選択できます。cmk/os-family には、ホストのオペレーティングシステムが含まれます。これは、たとえば、ホストを異なるフォルダに保存するために使用できます。
cmk/hostname-simple には、ドメイン成分を含まないホスト名(つまりsimple )が含まれます。これは、Checkmk で一意のホスト名を指定するために使用されます。
FQDN はホストのプロパティではなくネットワークのプロパティであるため、FQDN を含むエージェントラベルはありません。Custom label を使用して、独自のラベルを入力することもできます。
ラベルを構成するコロンで区切られたキーと値のペア (例:cmk/os-family:linux) は、個別に評価されます。
これにより、キー (例:cmk/os-family) が存在しなければならない (Exists)、存在してはならない (Does not exist)、または指定された値 (Equals) でのみ受け入れられることを明示的に指定することができます。
値として正規表現(Regex) を入力することもできます。
複数のエージェントラベルを定義した場合、それらは AND で論理的にリンクされます。
次の例では、定義済みのラベルcmk/hostname-simple に加えて、カスタムラベルmy_autoregister_label もチェックされます。

cmk/hostname-simple およびmy_autoregister_label キーを持つラベルが存在するかどうかがチェックされます。正常に登録されたすべてのホストには、Checkmk によってホストラベル「 |
次のボックス「Action 」では、ラベルの評価が有効になったときに、ホストを作成するかどうかを決定します。 「Stop and do not create hosts 」を選択すると、ルールの評価は完了し、次の 2 つのボックスは関係なくなります。 ただし、この例では、ホストを作成する必要があります。

Host name computation ボックスで、ホストに付ける名前を指定します。Host name template ボックスに、テンプレートを入力します。
ここでは、マクロを使用して、上記のMatching criteria ボックスで選択したエージェントラベルから実際の値を読み込むことができます。たとえば、$cmk/hostname-simple$ と入力すると、Checkmkエージェントによって提供された単純なホスト名が入力されます。
必要に応じて、テンプレートを小文字または大文字に変換したり、正規表現や明示的なホスト名に置き換えたりして、テンプレートを変更することができます。
ちなみに、これらはピギーバックホストの名前をカスタマイズする際に使用できるオプションと同じものです。
詳細については、インラインヘルプもご参照ください。

push-を付加した単純なホスト名の採用最後に、Host creation ボックスで、新しいホストを保存する定義済みのフォルダを選択します。 さらに、ホストに付与する属性を指定することもできます。 これらの属性については、ホスト管理に関する記事で詳しく説明しています。

Autoregistered 」フォルダに作成してください。ルールを保存したら、[Agent registration ] ページに戻ります。 ここに、Agent labels simulator が表示されます。 多くのルールを定義した場合は、シミュレータを使用してルールを管理することができます。 エージェントラベルを入力し、Try out を使用して、エージェントラベルが送信されたときにどのルールが適用されるかをシミュレートすることができます。 結果には、ルールに関する記事で説明した色付きの信号機記号が表示されます。
2.4. エージェントベーカリーのルールを作成する
前のセクションで Checkmk サイトを設定したら、次は Checkmk エージェントコントローラーについて説明します。 このためには、エージェントベーカリーでAgent controller auto-registration ルールセットを使用します。このルールセットは、Checkmk Cloud 以降でのみ利用可能です。 ルールセットは、エージェントベーカリーのAgent rules で確認できます。最も簡単な方法は、Setup メニューで検索することです。 新しいルールを作成します。
Agent controller auto-registration ボックスに、エージェントコントローラーがエージェントレシーバーに登録要求を行うために必要なすべての情報を入力します。 Checkmk サーバー (Monitoring server address) 該当する場合、エージェントレシーバーのポート番号 (Agent receiver port) Checkmk サイト (Site to register with) 自動登録用のオートメーションユーザー
また、Additional agent labels to send during registration オプションで独自のラベルを定義することもできます。
自動登録を機能させるには、これらのラベルが
Checkmk サイトのルールで Custom label に入力したラベルと一致している必要があります。
この例では、my_autoregister_label キーで以前に作成したカスタムラベルです。
最後のオプション「Keep existing connections 」で、エージェントコントローラーが既存の接続を削除 (no) するか、保持 (yes) するかを決定します。
接続の自動登録に加えて、他の Checkmk サイトへの手動接続を設定しており
、エージェントコントローラーの再起動後もこれらの接続を維持したい場合はcmk-agent-ctl 、このオプションを「yes 」に設定してください。
エージェントベーカリーの値は、Checkmk サイトの値と一致している必要があります。

重要:このルールの最後のボックス「Conditions 」では、再び、事前定義されたフォルダ「Folder 」を選択してください。
2.5. エージェントパッケージのベイク
次に、エージェントベーカリーで「Setup > Agents > Windows, Linux, Solaris, AIX 」に進みます。 をクリックして、新しいエージェントをベイクします。 その結果、Vanilla (factory settings) エージェント設定に加えて、設定用の新しい行が表示されます。 この行には、前のセクションで作成したルールがベイクされています。

2.6. エージェントパッケージのダウンロードとインストール
自動登録を開始する各ホストに、エージェントパッケージをインストールする必要があります。 ホストのオペレーティングシステムに適したエージェントパッケージをダウンロードし、ホストにインストールします。 手順は、エージェントベーカリーでの通常の操作と同じです。 詳細については、監視エージェント、 Linux エージェント、およびWindows エージェントに関する記事をご覧ください。
2.7. プロセスの認証
エージェントパッケージをインストールした後、エージェントコントローラーは、ホスト上のpre_configured_connections.json ファイルを評価し
、その中に含まれる接続の登録コマンドを発行します。
エージェントレシーバーがこのコマンドを受け入れると、接続が設定され、Checkmk サイトにホストが作成されます。

サービスディスカバリーが実行され、変更がアクティブ化されます。 これにより、ホストが監視にも表示されるようになります。 自動アクティブ化中は、他のユーザーによる変更も含め、蓄積されているすべての変更もアクティブ化されることにご注意ください。
このプロセスは、エージェントパッケージのインストールからホストが監視に表示されるまで、数分(最大 5 分)かかる場合があります。
このプロセスの各ステップは、[Setup > General > Audit log ] で [wato_audit.log ] ファイルを選択すると追跡できます。
ホストでは、コマンドを使用してエージェントコントローラーの接続ステータスを表示できます。プッシュモードで正常に登録されると、次のように表示されます。
root@linux# cmk-agent-ctl status
Version: 2.3.0b1
Agent socket: operational
IP allowlist: any
Connection: myserver/mysite
UUID: b11af975-40a8-4574-b6cd-12dc11c6f273
Local:
Connection mode: push-agent
Connecting to receiver port: 8000
Certificate issuer: Site 'mysite' agent signing CA
Certificate validity: Tue, 13 Feb 2024 12:50:35 +0000 - Tue, 13 Feb 2029 12:50:35 +0000
Remote:
Connection mode: push-agent
Registration state: discoverable
Host name: push-myhost自動的に作成されたホストは、自動的に削除することもできます。 Checkmk Cloud 以降、Checkmk はホストのライフサイクル管理に最も重要な 2 つのコンポーネントを提供しています。 ちなみに、自動削除は手動で作成したホストにも、すべてのエディションで機能します。
3. テストと障害診断
監視におけるホストの作成プロセス(セットアップでのホストの作成、サービスディスカバリー、およびアクティベーション)の各ステップは、Checkmk サイトのSetup > General > Audit log で確認できます。cmk-agent-ctl status コマンドを使用して、ホストへの自動登録が正常に行われたことを確認します。
ただし、前のセクションで述べた認証は、プロセスが正常に完了した場合にのみ、望ましい結果を示します。 結果が上記と異なる場合は、エージェントコントローラーから登録要求が送信されたが、エージェントレシーバーによって受け入れられなかった可能性があります。
Agent registration Checkmk サイトによって拒否されたすべての登録要求の概要については、上記の
Checkmk サイトのルールを作成したページ
の「登録要求」セクションをご覧ください。
拒否される理由は数多くあります。
次の図は、2 つの例を示しています。1 つは、エージェントによって送信されたエージェントラベルのスペルミス (my_autoregister_labell)、もう 1 つは、ホストがすでに存在している場合です。

各拒否されたリクエストについて、最初の列「Actions 」からシミュレーションを開始でき、その結果は最後の列「Simulation result 」に表示されます。
これ以上の障害診断については、Linux エージェントおよび Windows エージェントに関する記事(エージェントと Checkmk サイト間の通信、および(手動)登録に関するトピックなど)をご覧ください。
4. ファイルおよびディレクトリ
4.1. 監視対象の Linux ホスト上のファイルパス
| ファイルパス | 説明 |
|---|---|
|
エージェントコントローラーに登録されている接続のリストが含まれています。 |
|
Checkmk Cloud からの自動登録用に、エージェントベーカリーを介してエージェントパッケージに統合された、サイトへの事前設定済みの接続が含まれます。 |
4.2. 監視対象の Windows ホスト上のファイルパス
| ファイルパス | 説明 |
|---|---|
|
エージェントコントローラーに登録されている接続のリストが含まれています。 |
|
エージェントベーカリーを介してエージェントパッケージに統合された、Checkmk Cloud からの自動登録用のサイトへの事前設定済みの接続が含まれています。 |
4.3. Checkmk サーバー上のファイルパス
| ファイルパス | 説明 |
|---|---|
|
各接続の UUID を、エージェントの出力を含むフォルダを指すソフトリンクとして格納します。 |
|
エージェント登録用のログファイル。 メッセージの詳細度を 6 段階から選択できます。Setup > General > Global settings > User interface > Logging > Agent registration. |
|
エージェントレシーバーのログファイルが含まれます。 |
