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. 概要
Checkmk では、ホストを整理するためのさまざまな方法を提供しています。これには、フォルダ、ホストタグ、ラベル、親、ホストグループによるグループ化があります。 しかし、特定のタスクに最適なツールを決定するのはそれほど簡単ではない場合もあり、 一見単純な質問が予想以上に複雑になることもあります。 ホストタグとラベルが両方あるのはなぜですか? フォルダに割り当ててフォルダ構造で継承できるプロパティはどれですか? ルールでホストグループの条件を見つけるにはどうすればよいですか? (ネタバレ:そのようなものはありません)。
この記事では、Checkmk のさまざまな構造化エレメントの概要と、それらの類似点および相違点について説明します。 この記事を読むことで、お客様の環境に合った構造を設定するために必要なすべての情報を得ることができます。 このトピックに関して重要な側面が、現時点ではまだ欠落していることは認識しています。 そのため、これらの情報ギャップを少しずつ埋めるべく、継続的に取り組んでいます。
特に興味深いのは、ルールで条件として選択できる設定環境の構造化エレメント、つまりフォルダ、ホストタグ、ラベルです。 これにより、ルールに基づいて構造にアクセスし、たとえば(新しい)ホストを、そのホスト用のフォルダに自動的に分類することができます。 さらに、紹介する各構造化エレメントについて、監視環境での使用方法を説明します。
最後に、この記事の最後には、構造化要素の重要なプロパティをテーブルにまとめています。
2. フォルダと継承
2.1. フォルダによる構造化
コンピュータを使用する人なら誰でも、ファイルやフォルダに慣れています。 Checkmk では、このよく知られた原理を、フォルダに保存されるホストの構造化に採用しています。Main フォルダ(フォルダツリーのルート)のみが事前に定義されています。 このメインフォルダの下(内)に、必要に応じてサブフォルダをいくつでも作成して、いわゆるホストツリーとして視覚化できる独自のフォルダ構造を作成できます。ホストツリーを構築する際に一般的に使用される基準は、場所、テクノロジー、および組織構造です。Main フォルダにアクセスするには、Setup > Hosts > Hosts を選択します。
フォルダを介して、属性はサブフォルダおよびそのサブフォルダに含まれるホストに継承されます。 継承の仕組みの詳細については、「ホストの管理」の記事をご覧ください。 継承されるのは、フォルダ属性、つまり、[Setup ] の [Folder properties ] ページに表示されるフォルダのプロパティ(監視エージェントや許可など)だけでなく、ホストタグ、ラベル、親などの他の構造化エレメントも継承されます。 フォルダのプロパティの多くは、[Properties of host ] ページのホストのプロパティにもあります。 継承は、ホストが Checkmk エージェントによって監視されるか、SNMP によって監視されるかなど、多くのホストに共通する属性に特に有用です。 フォルダ属性を継承するもう 1 つの利点は、将来追加されるホストを格納するフォルダを事前に準備できることです。 新しいホストを適切なフォルダにドロップするだけで、新しいホストに対して、あらかじめ定義されたすべての属性が自動的に正しく設定されます。
継承を最大限に活用するには、まず組織体系について考え、その体系にコンテンツを投入することが有用であることが分かっています。 つまり、まずフォルダとその階層構造を作成し、次にホストを適切なフォルダに分類します。
これは、環境が大きくなり、ホストの数が増えるほど重要になります。 フォルダ構造を設定したら、後で問題なく変更したり、フォルダ名を変更したりすることができます。 ただし、注意が必要な点があります。 ホストを別のフォルダに移動すると、その属性が知らないうちに変更される可能性があります。つまり、ターゲットフォルダがソースフォルダとは異なる属性を持つようになる場合があります。
ただし、フォルダ構造だけで実際のシステムの複雑さを表現できることは、ごくまれなケースです。 さまざまな基準に従ってホストを整理したい(または整理する必要がある)場合は、次の章で説明するホストタグも役立ちます。
2.2. 監視におけるフォルダ構造
フィルターバー
まず、ビューのフィルターバーには、Folder フィルターがあり、現在のビューを特定のフォルダの下にあるホストに制限することができます。
次の図に示すように、ホストタグ、ラベル、ホストグループなどの他の構造化要素にも、さらにフィルターを使用することができます。

フォルダのツリー
次に、サイドバーにある「Tree of folders 」スナップインでは、「モニター」メニューと同じ選択オプションを使用できますが、さらに表示を 1 つのフォルダに制限することができます。

3. ホストタグ
ホストタグについては、このユーザーガイドの「ビギナーズガイド」および「ホストタグ」の記事で詳しく説明しています。 そのため、この記事では最も重要な点についてのみ簡単に説明します。
ホストタグは、ホストに割り当てられる属性です。 ホストタグは、グループ(ホストタググループ)に整理されます。 ホストタググループを作成すると、そのグループのすべてのタグが完全に定義されます。 グループ内のタグは相互に排他的です。つまり、各ホストは、そのグループから 1 つのタグのみを受け取ります。 他に何も指定していない場合、これはグループ内の最初のタグとなり、デフォルト値として機能します。
この一般的な概念をさらに洗練させたものが、チェックボックスタグと補助タグです。
チェックボックスタグは、1 つのエレメントのみを含む特別なホストタググループで、次のような「はい/いいえ」の決定に使用されます。'このホストは Oracle を実行しています。
補助タグを使用すると、グループ内の異なるタグを組み合わせることができます。たとえば、Windows Server 2012 R2 タグとWindows Server 2016 タグを、Windows 補助タグと組み合わせることができます。
3.1. ホストタグを使用した構造化
ホストタグには、ラベルやフォルダと同様のプロパティがあります。
ホストにタグまたはラベルを割り当てる結果は、非常に似ています。 どちらの場合も、割り当てられたフラグを構成で使用して、ルールの条件を設定できます。 ただし、ホストタグを割り当てる前に、関連するホストタググループ、つまり、そのタグが持つ可能性のあるすべての値について考えておく必要があります。
したがって、ホストタググループの完全性は、フォルダ構造の設定を彷彿とさせます。 ホストは 1 つのフォルダにしか配置できないのと同様に、ホストタググループから 1 つのタグしか持つことができません。 つまり、ホストは常にフォルダに割り当てられ、ホストタググループからのタグを常に 1 つ持っています(チェックボックスタグはここでは一旦無視します)。 したがって、ホストタグは、常に存在している(または少なくとも存在すべきである)プロパティに適しており、通常、監視対象のシステム全体およびすべての Checkmk ユーザーに対して Checkmk 管理者によって指定されます。
フォルダ構造については、次のとおりです。 大規模な環境を設定する場合は、最初からよく計画されたホストタグの構造を設定しておくと非常に役立ちます。
タグは、ホストの作成または編集時に、[Properties of host ] ページでホストに割り当てます。
ホストのプロパティとフォルダのプロパティの両方に多くの属性がありますが、ホストタグについても同様です。
つまり、ホストタグはホストだけでなくフォルダにも有効です。
したがって、ホストタグは Checkmk のフォルダ構造を介して継承されます。
継承時に予期せぬ事態が発生しないように、ホストタググループを定義する際にはデフォルト値に注意してください。
原則として、ここではNone やnot applicable などのニュートラルな値をデフォルト値として設定することをお勧めします。
ホストタグの設定後に変更することは可能ですが、タグの ID の名前変更は、ほとんどの場合手作業での再設定が必要になるため、避けるべきです。 一方、表示のみに影響する変更や、新しい選択肢を追加するだけの変更は問題がなく、既存のホストやルールには影響しません。
3.2. 監視におけるホストタグ
ホストタグは、設定だけでなく、監視にも役立ちます。 たとえば、フォルダに関する章のスクリーンショットに示すように、ビューのフィルターバーには、ホストタグのフィルターもあります。
さらに、サイドバーの「Virtual host tree 」スナップインでは、ホストタグの「仮想」階層構造をマッピングすることができます。 その方法については、ホストタグに関する記事で説明しています。
4. ラベル
ラベルはホストに割り当てられる属性であり、つまりホストタグと同様に、ホストの識別子です。 ラベルに関する記事で詳しく紹介していますが、ここでは、ホストタグとの比較と対比でラベルの概念を説明します。 ここでは、ラベルの基本について簡単に説明します。
ラベルは、os:linux 、os:windows 、foo:bar など、他の場所で事前に定義されていない単純なキーと値のペアです。
ラベルの定義には(ほぼ)制限はありませんが、次の点に注意してください。
キー とその値はコロンで区切らなければなりません。
ホストには任意の数のラベルを付けることができますが、1 つのキーには 1 つの値しか設定できません。
たとえば、ラベルfoo:bar を持つホストには、foo:bar2 を同時に付けることはできません。
ちなみに、Checkmk では、ホストだけでなくサービスにもラベルを付けることができます。 ただし、サービスラベルにはいくつかの注意点があります。これについては、ラベルに関する記事で説明しています。
4.1. ラベルを使用した構造化
ラベルを定義すると、フォルダやホストタグと同じ機能を使用できます。 設定中に、ルールがラベルに依存する条件を定義できます。
ホストタグでは、ホストタググループの定義によってすべてのホストにホストタグがすでに付与されていますが、ラベルの場合は割り当ての仕組みが異なります。 ラベルは、明示的に、ルールによって、または自動的に定義することができます。 ホストがラベルを取得するさまざまな方法を、ホストの構造化にラベルを使用する方法について考える際に留意してください。
明示的なラベルの割り当ては、ホストのプロパティで、Custom attributes ボックスを使用して行います。 キーと値のペアを入力し、Enterキーを押します。これで完了です。 ラベルは、フォルダのプロパティでも定義することができ、Checkmkのフォルダ構造を通じて継承されます。
ラベルの値自体は必要なく、特定のラベルがホストに割り当てられているかどうかだけを知りたい場合は、値として「yes 」を割り当ててください(vm:yes )。
この方式を一貫して使用すると、後でそのようなラベルの条件を定義するのが容易になります。
明示的な割り当ては非常に簡単ですが、スペルミスによる不整合のリスクが高いため、注意が必要です。
ラベルは自由に割り当てることができるため、Checkmk は、foo:bar 、Foo:bar 、Fu:baa のどれが「正しい」ラベルであるかをチェックすることはできません。
したがって、大文字と小文字の区別をどのように扱うかも検討する必要があります。後でラベルを使用して条件を定義する場合、キーと値の両方で正しいスペルを厳密に維持する必要があるからです。
したがって、ホストの構造化には明示的な割り当てを行わず、ルールベースまたは自動作成のラベルを使用することをお勧めします。
ホストタグが、常に存在し、通常、Checkmk 管理者が監視対象システム全体およびすべての Checkmk ユーザーに対して指定するグローバルプロパティに適している場合は、個々の Checkmk ユーザーは、ラベルを使用して、各自の責任範囲における特定の要件を実装することができます。 管理しやすいローカル構造を実現するために、ラベルはグローバル管理ではカバーできない部分を補完し、ラベルの利点を最大限に発揮します。 ラベルは、作成も削除も簡単です。
4.2. 監視におけるラベル
ホストのステータスビューでは、監視環境内のホストに関するすべてのラベルの概要を確認できます。
テーブルビューのフィルターバーでは、すべてのホストラベルにアクセスでき、Not 、And 、Or などのブール演算子と組み合わせてフィルタリングすることもできます。
どちらの方法も、ラベルの記事で説明しています。
5. 親
5.1. 親を使用した構造化
親とは何か、その仕組みについては、「監視の基本原則」の記事で既に学習しました。
5.2. 親を手動で作成する
単一のホストの親を定義するには、次の手順に従います。Setup > Hosts > Hosts を選択し、目的のホストをクリックしてそのプロパティを表示します。Basic settings ボックスに、親の名前または IP アドレスを入力します。 親を指定すると、追加の親を入力するための入力フィールドが表示されます。

重要:直接の親ホストのみを指定してください。
同様に、フォルダのプロパティでも親を指定することができ、前の章「フォルダと継承」で説明したように、そのフォルダに含まれるホストに親が継承されます。
5.3. スキャンを使用して親を指定する
新しい監視システムを設定し、最初からフォルダと親を使用してよく整理された構造を作成する場合、フォルダによる親の継承で十分でしょう。 ただし、Parent scan を使用して親を自動的に設定することもできます。
traceroute では、OSI モデル(レイヤー 3)のネットワークレイヤーで IP プロトコルを使用して、ホストの上流にある最終ゲートウェイをスキャンします。
そのようなゲートウェイが見つかり、その IP アドレスが監視対象ホストの 1 つに属している場合、そのゲートウェイが親として設定されます。traceroute がターゲットホストの前のホップから情報を取得できない場合、最後に成功したホップが使用されます。
ただし、監視対象のホストの中にゲートウェイが見つからない場合、Checkmk は、デフォルトで、同時に作成されるParents フォルダに、人工的な「ping 専用ホスト」を作成します。
ただし、このデフォルト設定は望ましくない結果を生む可能性もあります。例として、アドレス範囲192.168.178.0/24の典型的な小規模ネットワークを考えます。 別のアドレス範囲のアドレスを持つホスト(ping を実行できないホスト)が監視に追加された場合、スキャンはルーターを経由してルートを試み、そこでネットワークプロバイダのノードのみを見つけます。 その結果、たとえば、WAN エリアの通信サーバーがこのホストの親として設定される可能性があります。 これを回避するには、スキャン前に、対応するオプションを無効にしてください。
親として新しいホストを含むフォルダをスキャンする場合は、次の手順を実行します。 まず、目的のフォルダを開き、メニューから [Hosts > Detect network parent hosts ] を選択してスキャン設定を開きます。 ちなみに、フォルダ全体をスキャンする代わりに、リストの最初の列で事前にホストを選択して、そのサブセットのみをスキャンすることもできます。

手動で設定した親に関係なく、すべてのサブフォルダ内のすべてのホストを完全に再スキャンするには、[Include all subfolders ] および [Scan all hosts ] オプションを選択します。 [Performance ] セクションでは、スキャン時間を調整できます。ホストの数が多い場合、スキャンにはかなり時間がかかる場合があります。
Creation of gateway hosts で、新しく見つかった親ホストを作成するかどうか、作成する方法、および作成するエイリアスを決定します。 親を監視対象のホストに限定する場合は、この機能を無効にしてください。
次に、[Start] をクリックします。 スキャン実行中は、スキャンの出力をリアルタイムで確認できます。
設定された親ホストと、必要に応じて、Main に新しい「Parents 」フォルダが表示されます (スキャン前に指定した場合)。

これでスキャンが完了します。
5.4. 監視対象の親
スキャンが実行され、変更がアクティブになった後、親と子の関係はトポロジマップとして視覚化されます。このマップには、Monitor > Overview > Parent / Child topology からアクセスできます。

スキャン結果の一部が不合理な場合、個々のホップを追跡するために、 |
6. ホストグループ
ホストグループを使用すると、複数のホストをまとめて監視ビューに表示することができます。 たとえば、各サーバータイプごとにホストグループを設定することで、すべての Linux サーバー、Windows サーバー、および特定のアプリケーションサーバーをまとめて表示することができます。
ホストグループは、ルールを使用して作成されます。 このルールの条件では、通常どおり、フォルダ、ホストタグ、およびラベルにアクセスできます。 ホストグループ自体は、設定には使用されず、ビューに使用されるため、デフォルトではルールの選択基準として表示されません。
6.1. ホストグループの作成
ホストグループは、[Setup > Hosts > Host groups] にあります。
新しいホストグループは、[Add group ] ボタンを使用して作成します。 作成は簡単なプロセスで、後で変更できない一意の名前とエイリアスの割り当てのみです。

6.2. ホストグループへのホストの追加
ホストをホストグループに追加するには、Setup > Hosts > Host monitoring rules にある「Assignment of hosts to host groups 」ルールセットを使用します。 新しいルールを作成します。
まず、[Assignment of hosts to host groups ] ボックスで、ホストを割り当てるホストグループを選択します。この例では、My Linux servers グループを選択しています。

次に、[Conditions ] ボックスで、グループを限定するためのフィルタまたはフィルタに注意してください。もちろん、フィルタは組み合わせることができます。 ホストは、フォルダ、ホストタグ、ホストラベルでフィルタリングしたり、特定のホストを指定したりすることができます。 ホストグループに、同じホストタググループに 2 つのタグを持つホストを含める場合は、2 つの別々のルールを作成する必要があります。 通常、グループ割り当ては累積されます。 ホストは複数のグループに属することができ、グループは複数のルールで構成することができます。
次の例では、Checkmk によって自動的に割り当てられたホストラベル「cmk/os_family:linux 」を使用して、Linux サーバーをホストグループに追加しています。

その後、通常どおり変更をアクティブにする必要があります。
6.3. 監視におけるホストグループ
ホストグループの概要
監視では、Setup で割り当ての結果を簡単にチェックできます。 既存のホストグループは、Monitor > Overview > Host groups にリストされます。

ホストグループの名前をクリックすると、そのグループ内のホストの完全なビューが表示されます。
この概要画面以外でも、ホストグループはさまざまな場所で使用できます。 たとえば、ビューや NagVis マップの作成、通知やアラートハンドラーのルールのフィルタとして使用できます。
ビュー
ビュー(Customize > Visualization > Views )を作成する際に重要なことは、ホストグループを使用するDatasource (ホストグループ)を選択することだけです。例えば、Host groups などです。
Monitor メニューには、前のセクションで示したHost groups など、既製のビューがあります。
NagVis マップ
NagVis マップには、サイドバーの[NagVis maps ] スナップインからアクセスできます。 NagVis マップでは、たとえば、単一のアイコンにカーソルを置くと、ホストグループの概要が結果として表示されます。

通知およびアラートハンドラー
通知およびアラートハンドラーの ルールセットでは、ホストグループは [Conditions] のフィルターとして使用できます。

7. 概要
わかりやすくするために、この記事で紹介した構造化エレメントの重要な特性を以下の表にまとめました。
| 構造化エレメント | 作成 | ホストの追加 | ルールの条件 | フォルダによる継承 | 監視での表示 |
|---|---|---|---|---|---|
フォルダ |
セットアップで手動 (Setup > Hosts > Hosts) |
セットアップで手動 (Setup > Hosts > Hosts) |
はい |
— |
スナップインTree of folders 、テーブルビューのフィルター |
ホストタグ |
セットアップ (Setup > Hosts > Tags) で、ホストタググループを指定して手動で |
ホストタググループを指定して自動的に |
はい |
はい |
スナップインVirtual host tree 、テーブルビューのフィルター |
ラベル |
セットアップ (Properties of host) で手動/明示的に、ルール (Host labels) または自動的に |
— (ホストには常にラベルが作成されます。) |
はい |
はい |
ホストのステータスビュー (Status of Host)、テーブルビューのフィルタ |
親 |
セットアップ (Properties of host) で手動、またはフォルダ内のホストまたは選択したホストをスキャンして自動 (Hosts > Detect network parent hosts) |
— (ホストには常に親が作成されます)。 |
いいえ |
はい |
トポロジマップ (Monitor > Overview > Parent / Child topology) |
ホストグループ |
セットアップで手動 (Setup > Hosts > Host groups) |
ルールによる (Assignment of hosts to host groups) |
いいえ |
いいえ |
独自のビュー (Monitor > Overview > Host groups)、ビューのフィルタなどとして |
