VM Extension Manager ポリシーを使用して Ops エージェントをインストールして管理する

VM 拡張機能マネージャー ポリシーを使用すると、特定のゾーン内の Compute Engine VM のフリートに Ops エージェントをインストールして管理できます。たとえば、これらのポリシーを使用して、次のようなタスクを行うことができます。

  • フリート全体のインストール: ゾーン内のすべての VM、またはゾーン内のラベルで識別される VM のサブセットに Ops エージェントをインストールします。

  • バージョン管理:

    • Ops エージェントを最新バージョンに更新します。
    • Ops エージェントのバージョンを特定のリリースに固定します。
  • 構成管理: ポリシーで管理されているすべての VM の Ops エージェントにカスタム構成を適用します。

VM 拡張機能マネージャーを使用すると、VM にインストールする拡張機能を宣言するポリシーを作成できます。Ops エージェントは、使用可能な拡張機能の 1 つです。VM Extension Manager ポリシーは、VM Extension Manager を使用して Ops エージェントがインストールされている場合、Ops エージェント バージョン 2.58.0 以降を管理できます。これらのポリシーでは、バージョン 2.58.0 より前の Ops エージェントのバージョン、他の方法でインストールされた Ops エージェント インスタンス、以前の Monitoring エージェントまたは Logging エージェントのバージョンを管理できません。

VM 拡張機能ポリシーは、 Google Cloud コンソールまたは Google Cloud CLI(gcloud)を使用して作成し、管理できます。

始める前に

VM Extension Manager 拡張機能ポリシーの使用を開始する前に、次の操作を行います。

サポートされているオペレーティング システムを確認する

VM Extension Manager ポリシーを使用して Ops エージェントを管理する前に、ターゲット オペレーティング システムが Ops エージェントと VM Extension Manager の両方と互換性があることを確認します。

VM 拡張機能マネージャーは、SUSE Linux Enterprise Server(SLES)と Ubuntu を除く、Ops エージェントでサポートされているすべてのオペレーティング システムをサポートしています。Ops エージェントでサポートされているオペレーティング システムの詳細については、オペレーティング システムをご覧ください。

オペレーティング システムが Ops エージェントと VM 拡張機能マネージャーの両方でサポートされている場合は、このドキュメントの残りの部分の手順に沿って操作します。

Ops エージェントの使用に必要な API を有効にする

Ops エージェントを使用してログと指標を書き込むには、 Google Cloud プロジェクトで Cloud Logging API と Cloud Monitoring API を有効にする必要があります。

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the APIs

Ops エージェントの使用に必要なロールを付与する

Ops エージェントを使用してログと指標を書き込むために必要な権限を取得するには、サービス アカウントに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

ロールと Ops エージェントの詳細については、Ops エージェントを認可するをご覧ください。

VM Extension Manager の使用に必要なロールを付与する

VM 拡張機能ポリシーの作成、表示、変更、削除に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

これらの事前定義ロールには、VM 拡張機能ポリシーの作成、表示、変更、削除に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

VM 拡張機能ポリシーの作成、表示、変更、削除には、次の権限が必要です。

  • 拡張機能ポリシーを作成するには: compute.vmExtensionPolicies.create
  • 拡張機能ポリシーを表示するには: compute.vmExtensionPolicies.list
  • 拡張機能ポリシーの詳細を表示するには: compute.vmExtensionPolicies.get
  • 拡張機能ポリシーを変更する: compute.vmExtensionPolicies.update
  • 拡張機能ポリシーを削除するには: compute.vmExtensionPolicies.delete

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Compute Engine の IAM ロールと権限の詳細については、Compute Engine のロールと権限をご覧ください。

Google Cloud CLI をインストールする

VM 拡張機能ポリシーは、 Google Cloud コンソールまたは Google Cloud CLI(gcloud)を使用して作成し、管理できます。gcloud を使用するには、まず次の手順でインストールする必要があります。

  1. Google Cloud CLI をまだインストールしていない場合は、インストールします。

    このドキュメントで説明する拡張機能ポリシーでは、beta コマンド グループを使用します。

  1. gcloud CLI の beta コンポーネントをまだインストールしていない場合は、次のコマンドを実行してインストールします。

    gcloud components install beta
    

    beta コンポーネントがインストールされているかどうかを確認するには、次のコマンドを実行します。

    gcloud components list
    

    以前に beta コンポーネントをインストールしたことがある場合は、最新バージョンを使用していることを確認してください。

    gcloud components update
    

オブザーバビリティ エージェントをアンインストールする

VM 上の Ops エージェントを管理する VM 拡張機能マネージャー ポリシーを作成する前に、VM に Ops エージェントまたは以前の Monitoring エージェントと Logging エージェントのインスタンスがすでに存在しないことを確認してください。同じ VM で Ops エージェントと以前のエージェントを実行すると、重複したログの取り込みや、指標の取り込みでの競合が発生することがあります。

拡張機能ポリシーを使用して、別のオブザーバビリティ エージェントがすでにインストールされている VM に Ops エージェントをインストールすると、ポリシーによってエージェントがインストールされますが、競合が検出されるため、エージェントは実行されません。

既存のエージェントを削除する方法は、エージェントのインストール方法によって異なります。

VM 拡張機能ポリシーを作成して Ops エージェントをインストールする

VM 拡張機能ポリシーを作成して、Compute Engine 仮想マシン(VM)のフリートに Ops エージェントを自動的にインストールして管理します。ポリシーを定義すると、VM ラベルなど、指定した条件に一致する VM に、Ops エージェントなどの特定の拡張機能がインストールされ、維持されるようになります。

ポリシーの競合と優先度

VM 拡張機能マネージャーは、新しいポリシーごとに優先度を関連付けます。数値が小さいほど優先度が高くなります。デフォルトの優先度は 1000 です。VM は、Ops エージェントなどの拡張機能の複数のポリシーの対象にできますが、VM で有効になる Ops エージェント拡張機能のポリシーは 1 つだけです。

VM 拡張機能マネージャーは、優先度を使用して VM に適用されたポリシー間の競合を解決します。解決プロセスの詳細については、ポリシーの優先度と競合の解決をご覧ください。

ゾーン内のすべての VM に最新の Ops エージェントをインストールする

ゾーン内のすべての VM に最新バージョンの Ops エージェントをインストールし、新しいバージョンがリリースされたときに Ops エージェントを更新するポリシーを作成するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. [+ 作成] をクリックします。
  3. [名前] フィールドに、ポリシーの名前を入力します。
  4. 省略可: [説明] フィールドに、ポリシーの説明を入力します。
  5. [優先度] フィールドで、ポリシー間の競合を解決するための優先度番号を指定します。数字が小さいほど優先度が高くなります。デフォルト値は 1,000 です。
  6. [ゾーン] リストで、このポリシーを適用するゾーンを選択します。

  7. [拡張機能の管理] セクションで、[拡張機能を追加] をクリックして、次の操作を行います。

    1. [拡張機能] リストから、Google Cloud's Extension for Ops Agent を選択します。
    2. [バージョン] フィールドは空欄のままにします。
  8. [作成] をクリックします。

gcloud

次の gcloud beta compute zone-vm-extension-policies create コマンドを使用して、ポリシーを作成します。

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

gcloud beta compute zone-vm-extension-policies create--version オプションを取ります。--version オプションを省略すると、ポリシーによって最新バージョンがインストールされ、新しいバージョンがリリースされると Ops エージェントが更新されます。

ゾーン内のすべての VM で Ops エージェントを特定のバージョンに固定する

ゾーン内のすべての VM に特定のバージョンの Ops エージェントをインストールするポリシーを作成するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. [+ 作成] をクリックします。
  3. [名前] フィールドに、ポリシーの名前を入力します。
  4. 省略可: [説明] フィールドに、ポリシーの説明を入力します。
  5. [優先度] フィールドで、ポリシー間の競合を解決するための優先度番号を指定します。数字が小さいほど優先度が高くなります。デフォルト値は 1,000 です。
  6. [ゾーン] リストで、このポリシーを適用するゾーンを選択します。

  7. [拡張機能の管理] セクションで、[拡張機能を追加] をクリックして、次の操作を行います。

    1. [拡張機能] リストから、Google Cloud's Extension for Ops Agent を選択します。
    2. [バージョン] リストから、インストールするバージョンを選択します。バージョン 2.58.0 以降を使用します。
  8. [作成] をクリックします。

gcloud

次の gcloud beta compute zone-vm-extension-policies create コマンドを使用して、ポリシーを作成します。

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --version=ops-agent=VERSION

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

  • VERSION: インストールする Ops エージェントのバージョン。バージョン 2.58.0 以降を使用します。

    --version オプションを省略すると、ポリシーは最新バージョンをインストールし、新しいバージョンがリリースされると Ops エージェントを更新します。最新バージョンをインストールする例をご覧ください。

Ops エージェントのバージョンのリストについては、Ops エージェントの GitHub のリリース ページをご覧ください。

特定のラベルが付いたゾーンの VM に Ops エージェントをインストールする

特定のラベルが付いたゾーン内の VM に最新バージョンの Ops エージェントをインストールするポリシーを作成するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. [+ 作成] をクリックします。
  3. [名前] フィールドに、ポリシーの名前を入力します。
  4. 省略可: [説明] フィールドに、ポリシーの説明を入力します。
  5. [優先度] フィールドで、ポリシー間の競合を解決するための優先度番号を指定します。数字が小さいほど優先度が高くなります。デフォルト値は 1,000 です。
  6. [ゾーン] リストで、このポリシーを適用するゾーンを選択します。

  7. [拡張機能] セクションで [拡張機能を追加] をクリックし、次の操作を行います。

    1. [拡張機能] リストから、Google Cloud's Extension for Ops Agent を選択します。
    2. [バージョン] フィールドは空欄のままにします。
  8. [ターゲット VM インスタンス] セクションで、ポリシーの VM を選択します。特定のラベルを持つ VM を選択するには、[ラベルを追加] をクリックして Key-Value ペアを追加します。

  9. [作成] をクリックします。

gcloud

gcloud beta compute zone-vm-extension-policies create コマンドの --inclusion-labels オプションを使用して、Key-Value ペアのカンマ区切りリストを指定します。

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --inclusion-labels=KEY1=VALUE1,KEY2=VALUE2

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

  • KEY1=VALUE1,KEY2=VALUE2: セレクタの包含ラベルを定義する Key-Value ペアのカンマ区切りリスト。VM が含まれるには、セレクタで指定されたすべてのラベル(論理 AND)が VM に設定されている必要があります。--inclusion_labels オプションを複数回指定すると、ポリシーは、いずれかのセレクタのすべてのラベルと一致する VM をターゲットにします(論理和(OR))。このオプションを省略すると、ポリシーは指定されたゾーン内のすべての VM をターゲットにします。

ゾーン内のすべての VM にカスタム構成で Ops エージェントをインストールする

ゾーン内のすべての VM に最新バージョンの Ops エージェントをインストールし、Ops エージェントのカスタム構成を提供するポリシーを作成するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. [+ 作成] をクリックします。
  3. [名前] フィールドに、ポリシーの名前を入力します。
  4. 省略可: [説明] フィールドに、ポリシーの説明を入力します。
  5. [優先度] フィールドで、ポリシー間の競合を解決するための優先度番号を指定します。数字が小さいほど優先度が高くなります。デフォルト値は 1,000 です。
  6. [ゾーン] リストで、このポリシーを適用するゾーンを選択します。

  7. [拡張機能] セクションで [拡張機能を追加] をクリックし、次の操作を行います。

    1. [拡張機能] リストから、Google Cloud's Extension for Ops Agent を選択します。
    2. [バージョン] フィールドは空欄のままにします。
    3. [構成ファイルの内容] フィールドに、Ops エージェントの YAML 構成文字列を入力します。
  8. [作成] をクリックします。

gcloud

gcloud beta compute zone-vm-extension-policies create コマンドの --config-from-file オプションを使用して、構成ファイルを指定します。

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

  • OPS_AGENT_CONFIG_PATH: Ops エージェントの YAML 構成文字列を含むファイルへのパス。このファイルは、gcloud コマンドを実行する環境に存在する必要があります。

    Ops エージェントの構成 YAML は長くなることがあります。構成をファイルに格納して gcloud CLI に渡す方が、コマンドラインで適切な形式の YAML を入力するよりもエラーが発生しにくくなります。ポリシーの作成後にこのファイルを変更しても、ポリシーは更新されません。ポリシーを更新するには、gcloud beta compute zone-vm-extension-policies update コマンドを使用します。

拡張機能ポリシーの作成または更新時に Ops エージェントのカスタム構成を指定すると、ポリシーはカスタム構成で Ops エージェントをデプロイします。エージェントを手動で再起動する必要はありません。

構成は拡張機能ポリシーとともに保存されるため、パスワードなどの機密データを構成に含めないでください。構成は拡張機能ポリシーとともに保存されるため、構成ファイルを変更してもエージェントの構成は変更されません。gcloud beta compute zone-vm-extension-policies update コマンドを使用して、ポリシーに保存されている構成を更新する必要があります。

Ops エージェントのカスタム構成を指定すると、VM 拡張機能マネージャーは、ターゲット VM のユーザー指定の構成ファイル用に Ops エージェントが使用する場所に構成をコピーします。

  • Linux: /etc/google-cloud-ops-agent/config.yaml
  • Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

VM に config.yaml ファイルが存在する場合、拡張機能ポリシーによって上書きされます。

Google Cloud コンソールと gcloud CLI を使用して VM 拡張機能ポリシーを作成する方法については、 拡張機能ポリシーを作成して VM 拡張機能をインストールするをご覧ください。

VM 拡張機能ポリシーを更新して Ops エージェントを管理する

ポリシーによる Ops エージェントの管理方法を変更するには、ポリシーを更新します。ポリシーを更新すると、VM 拡張機能マネージャーは通常 1 分以内に、該当するすべての VM に変更をロールアウトします。包含ラベルを変更すると、VM が更新されたラベルと一致するかどうかに基づいて、新しい VM に Ops エージェントがインストールされたり、既存の VM からアンインストールされたりする可能性があります。

以降のセクションでは、Ops エージェントを管理して次の操作を行う方法について説明します。

ゾーン内のすべての VM で Ops エージェントの固定バージョンを更新する

ゾーン内のすべての VM で Ops エージェントの固定バージョンを変更するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. 更新するポリシーを選択します。
  3. [編集] をクリックします。
  4. [拡張機能を管理] セクションで、次の操作を行います。
    1. [Google Cloud's Extension for Ops Agent] を選択します。
    2. [バージョン] フィールドを変更します。バージョン 2.58.0 以降を使用します。
    3. [完了] をクリックします。
  5. [保存] をクリックします。

gcloud

--version オプション コマンドを指定して gcloud beta compute zone-vm-extension-policies update を使用し、固定されたエージェント バージョンを変更します。

gcloud を使用してポリシーを更新すると、リクエストは完全な置換として機能します。省略した省略可能なフィールドは、変更されたポリシーの既存の値を保持するのではなく、デフォルト値に戻ります。

ポリシーによってゾーン内のすべての VM にインストールされている Ops エージェントのバージョンを変更するには、次のコマンドを使用します。

gcloud beta compute zone-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --version=ops-agent=VERSION

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

  • VERSION: インストールする Ops エージェントのバージョン。バージョン 2.58.0 以降を使用します。バージョンのリストについては、Ops エージェントの GitHub のリリース ページをご覧ください。

    --version オプションを省略すると、ポリシーは最新バージョンをインストールし、新しいバージョンがリリースされると Ops エージェントを更新します。最新バージョンをインストールする例をご覧ください。

ゾーン内のすべての VM で Ops エージェントの構成を変更する

ゾーン内のすべての VM で Ops エージェントの構成を変更するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. 更新するポリシーを選択します。
  3. [編集] をクリックします。
  4. [拡張機能を管理] セクションで、次の操作を行います。
    1. [Google Cloud's Extension for Ops Agent] を選択します。
    2. [構成ファイルの内容] フィールドを変更します。
    3. [完了] をクリックします。
  5. [保存] をクリックします。

gcloud

--config-from-file オプションまたは --config オプションを指定して gcloud beta compute zone-vm-extension-policies update を使用し、新しい構成を指定します。

gcloud を使用してポリシーを更新すると、リクエストは完全な置換として機能します。省略した省略可能なフィールドは、変更されたポリシーの既存の値を保持するのではなく、デフォルト値に戻ります。

ポリシーによってゾーン内のすべての VM にインストールされている Ops エージェントの構成を変更するには、次のコマンドを使用します。

gcloud beta compute zone-vm-extension-policies update POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE \
  --extensions=ops-agent
  --config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

  • OPS_AGENT_CONFIG_PATH: Ops エージェントの YAML 構成文字列を含むファイルへのパス。このファイルは、gcloud コマンドを実行する環境に存在する必要があります。

    Ops エージェントの構成 YAML は長くなることがあります。構成をファイルに格納して gcloud CLI に渡す方が、コマンドラインで適切な形式の YAML を入力するよりもエラーが発生しにくくなります。

拡張機能ポリシーの作成または更新時に Ops エージェントのカスタム構成を指定すると、ポリシーはカスタム構成で Ops エージェントをデプロイします。エージェントを手動で再起動する必要はありません。

構成は拡張機能ポリシーとともに保存されるため、パスワードなどの機密データを構成に含めないでください。構成は拡張機能ポリシーとともに保存されるため、構成ファイルを変更してもエージェントの構成は変更されません。gcloud beta compute zone-vm-extension-policies update コマンドを使用して、ポリシーに保存されている構成を更新する必要があります。

Ops エージェントのカスタム構成を指定すると、VM 拡張機能マネージャーは、ターゲット VM のユーザー指定の構成ファイル用に Ops エージェントが使用する場所に構成をコピーします。

  • Linux: /etc/google-cloud-ops-agent/config.yaml
  • Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

VM に config.yaml ファイルが存在する場合、拡張機能ポリシーによって上書きされます。

Google Cloud コンソールと gcloud CLI を使用して VM 拡張機能ポリシーを管理する方法については、VM 拡張機能ポリシーを更新して拡張機能を変更するをご覧ください。

VM 拡張機能ポリシーを削除して Ops エージェントをアンインストールする

Ops エージェントをアンインストールするには、エージェントを管理する VM 拡張機能ポリシーを削除します。優先度の低い別の有効なポリシーが VM に適用され、Ops エージェントも管理している場合、優先度の低いポリシーに基づいて、エージェントはその VM にインストールされたままになります。

VM Extension Manager は、ポリシーの削除後 1 分以内に、アクセス可能なすべての VM から Ops エージェントを削除します。VM にアクセスできない場合、VM 拡張機能マネージャーはエージェントの削除をスキップします。VM が再び使用可能になると、VM Extension Manager はその時点でエージェントを削除します。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

  2. 削除するポリシーをクリックします。
  3. [削除] をクリックします。
  4. 確認ダイアログで [削除] をクリックします。

gcloud

Ops エージェントを管理する VM 拡張機能ポリシーを削除するには、gcloud beta compute zone-vm-extension-policies delete コマンドを使用します。

gcloud beta compute zone-vm-extension-policies delete POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

VM 拡張機能ポリシーに関する情報を取得する

既存の VM 拡張機能ポリシーに関する次の情報を取得できます。

  • Google Cloud プロジェクト内のすべてのポリシーのリスト。
  • 特定のポリシーに関する構成情報。

コンソール

  1. Google Cloud コンソールで、[拡張機能ポリシー] ページに移動します。

    [拡張機能のポリシー] に移動

    検索バーを使用してこのページを検索する場合は、サブ見出しが [Compute Engine] の結果を選択します。

    このページには、プロジェクト内のすべての VM 拡張機能ポリシーが一覧表示されます。
  2. 特定の拡張機能ポリシーの詳細を表示するには、ポリシーの名前をクリックします。

gcloud

VM 拡張機能ポリシーを一覧表示する

ゾーン内のすべての VM 拡張機能ポリシーに関する情報を一覧表示するには、gcloud beta compute zone-vm-extension-policies list を使用します。

gcloud beta compute zone-vm-extension-policies list \
  --project=PROJECT_ID \
  --zone=ZONE \
  --page-size=PAGE_SIZE_INTEGER

コマンドの次の変数を置き換えます。

  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。
  • PAGE_SIZE_INTEGER: ページごとに一覧表示するポリシーの数(例: 2)。並べ替えとフィルタリングのオプションの詳細については、gcloud beta compute zone-vm-extension-policies list をご覧ください。

名前付き VM 拡張機能ポリシーを取得する

ゾーン内の名前付きポリシーの構成を取得するには、gcloud beta compute zone-vm-extension-policies describe を使用します。

gcloud beta compute zone-vm-extension-policies describe POLICY_NAME \
  --project=PROJECT_ID \
  --zone=ZONE

コマンドの次の変数を置き換えます。

  • POLICY_NAME: VM 拡張機能ポリシーの名前。
  • PROJECT_ID: プロジェクトの ID。
  • ZONE: ターゲット ゾーン(例: us-central1-f)。

Google Cloud コンソールと gcloud CLI を使用して VM 拡張機能ポリシーに関する情報を取得する方法については、 拡張機能ポリシーを表示するをご覧ください。

Ops エージェントのインストールを確認する

このセクションでは、次の操作を行う方法について説明します。

Ops エージェントのインストールのステータスまたはバージョンを確認する

Ops エージェントのステータスまたはバージョンを確認するには、次のいずれかのGoogle Cloud コンソールページを使用します。

Compute Engine

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

    このページを検索バーで検索する場合は、小見出しが「Compute Engine」の結果を選択します。

  2. リストから VM を選択します。
  3. [オブザーバビリティ] タブをクリックします。

Cloud Monitoring

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. [リスト] ビューを選択します。

Ops エージェントが VM にインストールされ、ログと指標を収集している場合、エージェントのステータスは [Ops エージェント] ラベルの横に緑色のチェックマークで示されます。

インストールされているエージェントのバージョンを確認するには、Compute Engine または Monitoring のダッシュボードで [Ops エージェント] ラベルにカーソルを合わせます。

Ops エージェントがテレメトリーを収集していることを確認する

Ops エージェントが正常にインストールされ、正しく実行されている場合、指標は Cloud Monitoring に送信され、ログは Cloud Logging に送信されます。

拡張機能ポリシーによってインストールされた Ops エージェントを再起動する

Ops エージェントが VM Extension Manager によってインストールおよび管理されている場合、Ops エージェントはオペレーティング システムのシステム管理サービス(Linux の systemd または Windows の Windows サービス マネージャー)によって管理されません。そのため、Linux の systemctl コマンドと Windows の *-Service コマンドは、拡張機能ポリシーによってインストールされた Ops エージェントでは機能しません。

拡張機能ポリシーによってインストールされた Ops エージェントを再起動するには、次のいずれかを行います。

  • ポリシーを再作成します。

    1. ポリシーを削除します。ポリシーを削除すると、Ops エージェントが停止してアンインストールされます。

    2. 新しいポリシーを作成します。新しいポリシーは、Ops エージェントをインストールして起動します。

  • 一時的な高優先度ポリシーを使用します。元のポリシーが多数の VM に影響するが、少数の VM でのみ Ops エージェントを再起動する場合は、それらの VM にラベルを追加し、ラベルでフィルタするように新しいポリシーを構成します。

    たとえば、優先度 1000 のポリシーで VM での Ops エージェントの起動に失敗した場合は、status=failed などのラベルを VM に追加できます。次に、優先度の高い(500 など)新しいポリシーを作成します。たとえば、Google Cloud CLI コマンドは次のようになります。

    gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
      --project=PROJECT_ID \
      --zone=ZONE \
      --extensions=ops-agent
      --inclusion-labels=status=failed \
      --priority=500 \
      --config-from-file=ops-agent=/usr/ops-agent-config.yaml
    

    コマンドの次の変数を置き換えます。

    • POLICY_NAME: VM 拡張機能ポリシーの名前。
    • PROJECT_ID: プロジェクトの ID。
    • ZONE: ターゲット ゾーン(例: us-central1-f)。

    新しいポリシーで Ops エージェントが正常にインストールされたら、ポリシーを削除して、VM からラベルを削除します。元のポリシーが引き続き有効であるため、Ops エージェントは VM にインストールされたままになります。

VM でゲスト エージェントのデバッグログを有効にする

VM Extension Manager ポリシーは、Compute Engine ゲスト エージェントを使用して、Ops エージェントを VM 拡張機能として管理します。ゲスト エージェントのデバッグ ロギングを有効にする方法については、ゲスト エージェントのデバッグログを表示するをご覧ください。

拡張機能ポリシーのトラブルシューティング

このセクションでは、拡張機能ポリシーを使用して Ops エージェントを管理する際のトラブルシューティングについて説明します。

Ops エージェントのトラブルシューティングについては、Ops エージェントのトラブルシューティングをご覧ください。

gcloud beta compute zone-vm-extension-policies コマンドが失敗する

gcloud beta compute zone-vm-extension-policies コマンドが失敗すると、レスポンスにトラブルシューティングの提案が表示されます。エラー メッセージに示されたコマンドフラグまたは引数のエラーを修正します。

コマンドの出力で IAM 権限が不足していることが示されている場合は、VM Extension Manager の使用に必要なロールを付与するで説明されている必要なロールと権限を確認してください。

拡張機能ポリシーは作成されたが、Ops エージェントのステータスが「検出されませんでした」になっている

拡張機能ポリシーは正常に作成されましたが、Ops エージェントが VM で「検出されませんでした」というステータスを表示します。

次のいずれかの条件に該当する場合、Ops エージェントが「検出されませんでした」と表示されることがあります。

  • 拡張機能ポリシーで Ops エージェントをインストールできません。
  • インストールされた Ops エージェントで、実行を妨げるエラー状態が発生します。

以降のセクションでは、これらのケースを診断する方法について説明します。

ポリシーによって Ops エージェントがインストールされたことを確認する

VM Extension Manager ポリシーは、Compute Engine ゲスト エージェントを使用して、Ops エージェントを VM 拡張機能として管理します。

拡張機能ポリシーによって Ops エージェントがインストールされたかどうかを確認するには、次のいずれかの方法でゲスト エージェントのログエントリを探します。

ログ エクスプローラ

  1. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。

  2. 次のクエリを入力し、[クエリを実行] をクリックします。

    log_id("GCEGuestAgentManager")

Linux

Compute Engine VM で次のコマンドを実行します。

journalctl -u google-guest-agent-manager

Windows

Compute Engine VM で次のコマンドを実行します。

Get-Eventlog -Source google_guest_agent_manager -LogName Application

Failed to install plugin "ops-agent-plugin" ... などの文字列を含むログが表示される場合や、クエリでログが返されない場合は、拡張機能ポリシーで Ops エージェントのインストールに失敗しています。次の手順については、拡張機能ポリシーで Ops エージェントをインストールできないをご覧ください。

Successfully installed plugin "ops-agent_nnnnnnnn" などの文字列を含むログが表示された場合、拡張機能ポリシーは Ops エージェントを正常にインストールしています。次の手順については、インストールされた Ops エージェントが「検出されない」をご覧ください。

拡張機能ポリシーで Ops エージェントをインストールできない

次のいずれかに該当する場合、拡張機能ポリシーは有効にならないことがあります。

インストールされた Ops エージェントのステータスが「未検出」になっている

次のいずれかに該当する場合、Ops エージェントのステータスは「未検出」になります。

Ops エージェントの構成が有効であることを確認する

拡張機能ポリシーを作成または更新して Ops エージェントにカスタム構成を指定したが、エージェントのステータスが「検出されませんでした」になっている。問題はカスタム構成のエラーである可能性があります。ゲスト エージェントのデバッグログを使用して、構成エラーを探します。

ゲスト エージェントのデバッグ ロギングを有効にする

ゲスト エージェントのデバッグ ロギングを有効にする方法については、ゲスト エージェントのデバッグログを表示するをご覧ください。

デバッグログを調べる

ログ エクスプローラ

  1. Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。

  2. 次のクエリを入力し、[クエリを実行] をクリックします。

    severity>=DEBUG log_id("GCEGuestAgentManager") "The agent config file is not valid"

Linux

Linux Compute Engine VM で次のコマンドを実行します。

journalctl -u google-guest-agent-manager | grep "The agent config file is not valid"

Windows

Windows Compute Engine VM で次のコマンドを実行します。

Get-Eventlog -Source google_guest_agent_manager -LogName Application | Where-Object {$_.Message -like "*The agent config file is not valid*"}

The agent config file is not valid という文字列を含むログが表示された場合は、拡張機能ポリシーの作成または更新時に指定した Ops エージェントのカスタム構成が無効です。

この問題を解決するには、次の操作を行います。

  • Ops エージェントを構成するを参照して、構成を修正します。Ops エージェント構成ファイルの構造に関する情報。

  • 修正した構成で拡張機能ポリシーを更新します。

Linux の systemctl status コマンドと Windows の Get-Service コマンドが Ops エージェントで機能しない

sudo systemctl status google-cloud-ops-agent"*" などのコマンドを実行しても、情報が返されない。

Ops エージェントが VM Extension Manager によってインストールおよび管理されている場合、Ops エージェントはオペレーティング システムのシステム管理サービス(Linux の systemd または Windows の Windows サービス マネージャー)によって管理されません。

VM 拡張機能マネージャーで管理されている Ops エージェントのステータス情報を確認するには、以下をご覧ください。

Linux の systemctl restart コマンドと Windows の Restart-Service コマンドが Ops エージェントで機能しない

sudo systemctl restart google-cloud-ops-agent などのコマンドを実行しても、Ops エージェントが再起動されません。

Ops エージェントが VM Extension Manager によってインストールおよび管理されている場合、Ops エージェントはオペレーティング システムのシステム管理サービス(Linux の systemd または Windows の Windows サービス マネージャー)によって管理されません。そのため、Ops エージェントを手動で停止または開始することはできません。また、次のコマンドは Ops エージェントでは機能しません。

  • Linux: sudo systemctl [stop|start|restart]
  • Windows: Stop-ServiceStart-ServiceRestart-Service

VM 拡張機能マネージャーで管理されている Ops エージェントを停止または再起動するには、拡張機能ポリシーを削除してエージェントをアンインストールする必要があります。Ops エージェントの停止または再起動の詳細については、拡張機能ポリシーによってインストールされた Ops エージェントを再起動するをご覧ください。

その他のトラブルシューティング情報

VM 拡張機能マネージャー ポリシーの作成と使用に関するトラブルシューティングの詳細については、VM 拡張機能のトラブルシューティングをご覧ください。

Ops エージェントのトラブルシューティングの詳細については、Ops エージェントのトラブルシューティングをご覧ください。

割り当て

Google Cloud プロジェクトで作成できる拡張機能ポリシーの数については、Quotaをご覧ください。

料金

VM Extension Manager の使用に関連する費用については、料金をご覧ください。

Ops エージェントをインストールすると、エージェントから Google Cloud プロジェクトに送信された指標、ログ、トレースに対して課金される場合があります。料金情報については、Google Cloud Observability の料金をご覧ください。

次のステップ