Ops エージェントを管理する VM Extension Manager ポリシーの問題を診断するには、このドキュメントで説明するトラブルシューティング手法を使用します。Ops エージェントのトラブルシューティングについては、Ops エージェントのトラブルシューティングをご覧ください。
gcloud compute zone-vm-extension-policies コマンドが失敗する
gcloud compute zone-vm-extension-policies コマンドが失敗すると、レスポンスにトラブルシューティングの提案が表示されます。エラー メッセージに示されたコマンドフラグまたは引数のエラーを修正します。gcloud compute zone-vm-extension-policies
コマンドの出力で IAM 権限が不足していることが示されている場合は、VM Extension Manager の使用に必要なロールを付与するで説明されている必要なロールと権限を確認してください。
拡張機能ポリシーは作成されたが、Ops エージェントのステータスが「未検出」になっている
拡張機能ポリシーは正常に作成されましたが、Ops エージェントが VM で「未検出」というステータスを表示します。
次のいずれかの条件に該当する場合、Ops エージェントが「未検出」と表示されることがあります。
- 拡張機能ポリシーで Ops エージェントをインストールできない
- インストールされた Ops エージェントで、実行を妨げるエラー状態が発生する。
以降のセクションでは、これらのケースを診断する方法について説明します。
ポリシーによって Ops エージェントがインストールされたことを確認する
VM Extension Manager ポリシーは、Compute Engine ゲスト エージェントを使用して、Ops エージェントを VM 拡張機能として管理します。
拡張機能ポリシーによって Ops エージェントがインストールされたかどうかを確認するには、次のいずれかの方法でゲスト エージェントのログエントリを探します。
ログ エクスプローラ
-
Google Cloud コンソールで、 [ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
次のクエリを入力し、[クエリを実行] をクリックします。
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 エージェントをインストールできない
次のいずれかに該当する場合、拡張機能ポリシーは有効にならないことがあります。
ゲスト エージェントが VM にインストールされていない。この状態を診断して修正するには、次の操作を行います。
VM が Compute Engine ゲスト環境でサポートされているオペレーティング システムのいずれかを使用していることを確認します。
VM にインストールされているパッケージを表示して、
google-guest-agentが含まれていることを確認します。google-guest-agentがインストールされていない場合は、ゲスト エージェントをインストールします。
ゲスト エージェントはインストールされているが、古くなっている。この状態を診断して修正するには、次の操作を行います。
VM のオペレーティング システムが VM Extension Manager でサポートされていない。詳細については、サポートされているオペレーティング システムを確認するをご覧ください。
インストールされた Ops エージェントのステータスが「未検出」になっている
次のいずれかに該当する場合、Ops エージェントのステータスは「未検出」になります。
VM にオブザーバビリティ エージェントがすでにインストールされている。既存のエージェントは競合の原因となるため、アンインストールする必要があります。詳細については、オブザーバビリティ エージェントをアンインストールするをご覧ください。
以前にインストールしたエージェントをアンインストールしたら、Ops エージェントを再起動できます。
Ops エージェントに、Cloud Logging と Cloud Monitoring にデータを送信する権限が不足している。詳しくは、テレメトリー送信が失敗する一般的な理由をご覧ください。
Ops エージェントの構成が有効であることを確認する
拡張機能ポリシーを作成または更新して Ops エージェントにカスタム構成を指定したが、エージェントのステータスが「未検出」になっています。問題はカスタム構成のエラーである可能性があります。ゲスト エージェントのデバッグログを使用して、構成エラーを探します。
ゲスト エージェントのデバッグ ロギングを有効にする
ゲスト エージェントのデバッグ ロギングを有効にする方法については、ゲスト エージェントのデバッグログを表示するをご覧ください。
デバッグログを調べる
ログ エクスプローラ
-
Google Cloud コンソールで、 [ログ エクスプローラ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
次のクエリを入力し、[クエリを実行] をクリックします。
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 Extension Manager で管理されている 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-Service、Start-Service、Restart-Service
VM Extension Manager で管理されている Ops エージェントを停止または再起動するには、拡張機能ポリシーを削除してエージェントをアンインストールする必要があります。Ops エージェントの停止または再起動の詳細については、拡張機能ポリシーによってインストールされた Ops エージェントを再起動するをご覧ください。
その他のトラブルシューティング情報
VM Extension Manager ポリシーの作成と使用に関するトラブルシューティングの詳細については、VM 拡張機能のトラブルシューティングをご覧ください。
Ops エージェントのトラブルシューティングの詳細については、Ops エージェントのトラブルシューティングをご覧ください。