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 には、GCP へのコネクタと、さまざまなメトリックやステータスを取得して評価する豊富なチェックプラグインで構成される、Google Cloud Platform (GCP) の効果的な監視機能が含まれています。
Google Cloud で発生する費用に関する一般的な情報や、お住まいの地域における Googleサービスの現在の状態に加え 、Checkmk を使用して以下の Google Cloud 製品を監視することができます。 Compute Engine (GCE)
Checkmk CloudおよびCheckmk MSPを使用すると、以下の製品も監視システムに含めることができます。
GCP の監視に使用できるすべてのチェックプラグインの完全なリストは、チェックプラグインのカタログでご覧いただけます。また、GKE (Google Kubernetes Engine) クラスタを Checkmk に組み込む方法については、Kubernetes の監視の記事で説明しています。
2. クイックセットアップによる監視の設定(オプション
個々の GCP プロジェクトの監視を最も迅速にセットアップするには、クイックセットアップを使用します。 これを行うには、Setup > Quick Setup > Google Cloud Platform (GCP) を開き、[Add configuration] をクリックします。 クイックセットアップが、目標達成までの手順を順を追って説明します。
GCP でプロジェクトに関する必要な情報を取得する方法の詳細については、「Checkmk 用の GCP の準備」の章をご覧ください。
クイックセットアップの最大の利点は、設定プロセス中にエラーがすぐに表示されることです。 最悪の場合、次のステップに進む前に、修正すべき点を明確かつ具体的に指示されます。
後でクイックセットアップで作成した設定を変更したい場合や変更する必要がある場合は、Setup > Quick Setup に戻ることができます。 そこで、アイコンをクリックし、編集するコンポーネントを選択してください。
この記事の他の章は、クイックセットアップのユーザー向けの参考情報です。 ただし、GCP 環境が比較的複雑な場合は、以下の手順に従ってセットアップを続行することをお勧めします。 |
3. GCP 監視の具体的な実施
3.1. ホストとサービス
Checkmk では、監視対象のすべてのオブジェクトは、ホストとサービスの階層構造に整理されます。 ただし、クラウドベースのサービスには、このフォームのホストの概念は存在しません。 Checkmk のシンプルさと一貫性を維持するため、GCP オブジェクトを当社のホスト/サービススキーマにマッピングします。 Google Cloud 内の各プロジェクトは、Checkmk 内の独自のホストに割り当てられます。 このプロジェクトで監視するすべてのクラウド製品は、この専用ホスト上の複数のサービスに分割されます。
1 つの Compute Engine VM だけが実行されている小規模なプロジェクトは、Checkmk 監視では次のように表示されます。

3.2. GCP へのアクセス
GCP は、監視データも取得できる HTTP ベースの API を提供しています。
Checkmk は、agent_gcp スペシャルエージェントを介してこの API にアクセスします。
これは Checkmk エージェントの代わりになりますが、後者とは異なり、Checkmk サーバー上でローカルに実行されます。
4. Checkmk 用の GCP の準備
4.1. プロジェクト ID の取得
Google Cloud Console にログインします。 タイトルバーで正しいプロジェクトが選択されていることを確認するか、ここで監視するプロジェクトを選択します。
次に、プロジェクトのダッシュボードを開きます。 ここで、ダッシュボードがまだ標準の形式である場合は、Project ID のカードが表示されているはずです。 この情報をコピーするか、書き留めておきます。

プロジェクト情報が記載されたカードがダッシュボードに表示されなくなった場合は、Project settings から必要な ID を確認することもできます。

4.2. ユーザーの作成
次に、IAM & Admin でユーザー管理を開きます。
左側の概要で、Service Accounts を選択し、上部のCreate Service Account をクリックします。
ここで、サービスアカウントの名前を選択します。
このアカウントには、その用途が一目でわかる名前、たとえば「checkmk-monitoring 」などを付けることをお勧めします。
わかりやすい名前に加えて、オプションで説明、つまり
サービスアカウントの説明を入力することもできます。Create and continue をクリックした後、このサービスアカウントに「Monitoring Viewer」と「Cloud Asset Viewer」の 2 つの役割を割り当てる必要があります。
これを行うには、Select a role フィールドをクリックし、役割の名前を入力します。
注:このフィールドに「Monitoring Viewer」と入力すると、類似の名前を持つ一連の役割がすべて表示されます。 必ず「Monitoring Viewer」を選択してください。
役割を選択したら、次のオプションのステップをスキップして、直接「Done 」をクリックしてください。
4.3. キーの作成
この新しいサービスアカウントを使用して Google Cloud の監視データおよび資産データに実際にアクセスするには、キーを作成する必要があります。 このキーは、後で Checkmk または「Password store 」の対応するルールに保存します。
Service accounts for project My Project の概要で、新しいサービスアカウントの行にある 3 つのドットをクリックし、[Manage keys] を選択します。
次に、[Add key ] をクリックし、[Create new key] をクリックします。
フォーマットとして [JSON ] を選択し、[Create] をクリックしてください。Createをクリックすると、見落としがちなファイルが JSON 形式でダウンロードされます。
このファイルは、再度ダウンロードできないため、当面は安全な場所に保管してください。
ただし、Checkmk に内容を保存した後、このファイルも削除することをお勧めします(GCP エージェントのルールを作成するを参照)。
必要に応じて、新しいキーを作成し、古いキーは完全に破棄してください。
4.4. GCP プロジェクトで API を有効にする
GCP プロジェクトの概要ページには、[APIs & Services ] メニュー項目もあります。
この概要で、[Cloud Asset API ] が [Enabled APIs & services] のリストに表示されているかどうかを確認してください。
表示されていない場合は、[Enable APIs and services ] ボタンでこの API を有効にしてください。
有効化後、API に実際にアクセスできるようになるまで数分かかります。
4.5. 請求情報の監視
Google Cloud Platform では、請求情報はリソースとは別に保存されます。 原則として、GCP ではコスト分析用に別のプロジェクトが作成され、そのプロジェクトには他のプロジェクトの請求情報も収集されます。 Checkmk でこの情報を監視するには、このデータを GCP 内の BigQuery にエクスポートすることが不可欠です。 BigQuery テーブルで利用可能なデータのみにリモートアクセスが可能であり、したがって Checkmk からもアクセスが可能です。 GCP 内でこのようなエクスポートを設定する方法については、GCP ヘルプページの「クラウド請求データを BigQuery にエクスポートする」で詳しく説明されています。
BigQuery を設定済み、またはすでに使用している場合は、会計プロジェクトの「SQL workspace 」に、含まれるテーブルのリストが表示されます。 会計プロジェクトのテーブルを開き、「Details 」タブをクリックします。 「Table ID 」に、Checkmk でルールを作成する際に必要となる情報を入力してください。Costs > BigQuery table ID
プロジェクトコストを監視するサービスは、概要として設計されています。 個々のプロジェクトの月額コストのみが表示され、監視されます。 これらの月額コストの閾値は、GCP Cost ルールで定義できます。
5. Checkmk での監視の設定
5.1. GCP のホストの作成
Checkmk で GCP を監視するためのホストを作成します。 ホスト名は任意で指定できます。 GCP で複数のプロジェクトを監視する場合は、Checkmk でプロジェクトごとに個別のホストを作成する必要があります。
重要:GCP はサービスとして IP アドレスも DNS 名も持たないため(アクセスはスペシャルエージェントが独自に行います)、IP address family をNo IP に設定する必要があります。

5.2. GCP エージェントの設定
この記事の冒頭で述べたように、Google Cloud Platform のプロジェクトは、特別なエージェントによって監視されています。 このエージェントは、Setup > Agents > VM, cloud, container > Google Cloud Platform (GCP) で確認できるルールで設定されます。
対応するフィールドに、プロジェクトで調べた Project ID を入力します。
JSON credentials for service account の下に、先ほどサービスアカウント用に作成したキーを入力する必要があります。 JSON オブジェクト全体(中括弧を含む)をここにコピーする必要があります。

GCP services to monitor で、スペシャルエージェントによって監視する GCP 製品を選択できます。 API クエリをできるだけ経済的に行うため、プロジェクトで実際に使用している製品のみを選択することをお勧めします。
5.3. GCP ホスト自体のサービス
次に、新しく作成した GCP ホストのサービスディスカバリーを開始します。Checkmk は、このホストでかなりの数のサービスを見つけるはずです。 サービスを追加すると、監視の変更をアクティブにした後、次のような画面が表示されます。

5.4. Compute Engine VM インスタンスのホストの作成
Compute Engine VM インスタンスに割り当てられたサービスは、GCP ホストには割り当てられず、いわゆるピギーバックホストに割り当てられます。
これは、GCP ホストから取得したデータが、独自の監視エージェントなしで動作するこれらのピギーバックホストに分散されるという仕組みです。
ピギーバックホストは、各 VM インスタンスに割り当てられます。
これらのピギーバックホストの名前は、プロジェクトの ID、アンダースコア、およびインスタンスのフルネームで構成されます。
たとえば、プロジェクトのプロジェクト ID がmy-project-19001216 で、my-instance01 という名前の VM を監視する場合、ピギーバックホストの名前はmy-project-19001216_my-instance01 になります。
これらのホストを手動で作成するか、可能であれば、このタスクをダイナミックホストマネージメントに任せてください。
ダイナミックホストマネージメントの設定
当社の商業版ユーザーは、 VM インスタンスのホストの作成と削除をダイナミックホストマネージメントに任せるだけで済みます。Setup > Hosts > Dynamic host management メニュー項目をクリックすると、すでに設定されているすべての接続の概要ページが表示されます。Add connection をクリックし、接続にID およびTitle を指定します。
Connection properties で利用可能なすべてのオプションについては、以下では説明していません。 ご不明な点がある場合は、インラインヘルプおよび上記のメイン記事をご覧ください。
まず、Connection properties ボックスで[もっと表示] モードが有効になっていることを確認し、使用可能なすべてのオプションが表示されていることを確認します。
次に、[Piggyback creation options ] で [Add new element] をクリックします。 VM インスタンスのホストを作成するフォルダをカスタマイズします。 事前に選択されている [Host attributes ] は、ピギーバックホストには基本的に正しい設定であるため、変更する必要はありません。
Delete vanished hosts オプションを有効にすると、指定した期間にわたって新しいデータを受信しないピギーバックホストが自動的に削除されます。
GCP プロジェクトの監視の一環として、Restrict source hosts オプションを有効にする必要があります。 Checkmk の GCP 用のホストの作成セクションで、GCP ホストを入力してください。
このような接続の設定例は、次のとおりです。

VM インスタンス用のホストを手動で作成する
または、ピギーバックデータ用のホストを手動で作成することもできます。 その場合、ホストの名前は上記で説明した方式と完全に一致している必要があります。
コマンド「 |
これらの Compute Engine VM のホストを IP アドレスなしで (GCP ホストと同様に) 設定し、監視エージェントとしてNo API integrations, no Checkmk agent を選択します。Piggyback でAlways use and expect piggyback data オプションも選択すると、データが到着しなかった場合に警告が表示されます。

6. 診断オプション
6.1. 例外サービス
Exceptions サービスは、GCP 監視の設定をサポートし、Google Cloud API との通信で発生する将来の問題も支援します。 Google Cloud API がスペシャルエージェントに返すすべてのエラーメッセージは、ここで収集され、処理されます。 エラーが発生した場合、このサービスはデフォルトでCRIT になり、Summary で問題のある箇所を示します。

サービスの名前をクリックすると、非常に詳細なメッセージが表示され、多くの場合、GCP プロジェクト内の、たとえば別の設定が必要な正確な場所へのリンクも表示されます。 次の例では、監視対象のプロジェクトでCloud Asset API が使用不能になっています。

WWW グローブをクリックすると、プロジェクト内のこの API を有効にできる正確なページに移動します。
7. ダッシュボード
GCP の監視を簡単に開始するために、Checkmk Cloud 以降では 2つのビルトインダッシュボード、GCP GCE instances およびGCP storage buckets が提供されています。 これらはいずれも、Monitor > Cloud の監視メニュー項目として表示されます。
よりわかりやすくご説明するために、これらのダッシュボードの構造を 2 つの例でご紹介します。 まず、Compute Engine インスタンスのダッシュボードでは、左側に現在の状態、右側に最も重要なメトリックの時系列ヒストリーを比較することができます。

ストレージバケットのダッシュボードも、ほぼ同じ構造になっています。 左側には、各バケットの現在のデータが表示されます。 右側には、最も重要なメトリックが時系列で表示されます。

