このドキュメントでは、Ops エージェントのインストールと起動に関する問題を診断して解決する際に役立つ情報を提供します。エージェントが実行されていて、ログまたは指標の取り込みに失敗した場合は、データの取り込みのトラブルシューティングをご覧ください。
始める前に
問題を解決する前に、エージェントのヘルスチェックのステータスを確認してください。
エージェントがインストールできない
インストール スクリプトの実行時に、次のエラーが発生することがあります。
オペレーティング システムがサポートされていない
オペレーティング システムがサポートされていない場合、Ops エージェントのインストールは失敗します。次のようなエラー メッセージが表示されます。
Linux
https://packages.cloud.google.com/yum/repos/google-cloud-ops-agent-el6-x86_64-all/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror. To address this issue please refer to the below wiki article https://wiki.centos.org/yum-errors If above article doesn't help to resolve this issue please use https://bugs.centos.org/. Error: Cannot retrieve repository metadata (repomd.xml) for repository: google-cloud-ops-agent. Please verify its path and try again
インストールされているエージェントが Ops エージェントと競合している
VM に Cloud Logging エージェントまたは Cloud Monitoring エージェントがすでにインストールされている場合は、新しいエージェントと競合します。次のようなエラー メッセージが表示されます。
Linux
Error: Problem: problem with installed package stackdriver-agent-6.0.5-1.el8.x86_64 - package google-cloud-ops-agent-0.1.0-1.el8.x86_64 conflicts with stackdriver-agent provided by stackdriver-agent-6.0.5-1.el8.x86_64
Ops エージェントが古いエージェントと互換性のない新しい構成ファイルを使用している。詳細については、Ops エージェントの構成ガイドをご覧ください。
このエラーを解決するには、次の手順を行います。
Cloud Monitoring エージェントと Cloud Logging エージェントのカスタム構成ファイルを保存します。
古い Cloud Monitoring エージェントと Cloud Logging エージェントをアンインストールします。
エージェントをアンインストールした後、この変更が Google Cloud コンソールに反映されるまでに 1 時間ほどかかることがあります。
Monitoring エージェントのインストールに失敗した後、Ops エージェントのインストールが失敗する
Monitoring エージェントのインストールに失敗すると、Ops エージェントのインストールが失敗します。Debian オペレーティング システムで、Ops エージェントがインストールに失敗した場合のエラー メッセージは次のようになります。
Linux
... E: The repository 'https://packages.cloud.google.com/apt google-cloud-monitoring-jammy-all Release' does not have a Release file. ... Could not refresh the google-cloud-ops-agent apt repositories.
そのエージェントでサポートされていないオペレーティング システムに Monitoring エージェントをインストールしようとすると、インストールに失敗します。インストールが失敗するのは、Monitoring エージェント リポジトリがシステムに追加された後です。Monitoring エージェントのインストールが失敗した後に Ops エージェントをインストールする場合も、Monitoring エージェント リポジトリが無効であるために失敗します。
Ops エージェントでサポートされているすべてのオペレーティング システムが Monitoring エージェントでもサポートされているわけではありません。サポートされているオペレーティング システムの詳細については、Ops エージェント: Linux オペレーティング システムと Monitoring エージェント: Linux オペレーティング システムをご覧ください。
Ops エージェントのインストール手順は次のとおりです。
Monitoring エージェントのリポジトリを削除します。
スクリプト
add-monitoring-agent-repo.sh
がシステムにある場合、次のコマンドを実行します。sudo bash add-monitoring-agent-repo.sh --remove-repo
それ以外の場合は、リポジトリを手動で削除します。
Debian
sudo rm /etc/apt/sources.list.d/google-cloud-monitoring.list
RHEL
sudo rm /etc/yum.repos.d/google-cloud-monitoring.repo
SUSE
sudo rm /etc/zypp/repos.d/google-cloud-monitoring.repo
Ops エージェントのインストール スクリプトを実行します。
リポジトリの更新に失敗したため、Ops エージェントのインストールが失敗する
インストールされたリポジトリの更新が失敗するため、Ops エージェントのインストールは失敗します。
Linux
Debian オペレーティング システムの失敗メッセージの例では、apt-get update
の呼び出しによりリポジトリの更新が行われます。詳細については、トラブルシューティングのエントリ、Monitoring エージェントのインストールに失敗した後に Ops エージェントのインストールが失敗するをご覧ください。
リポジトリの更新時にエラーが発生した場合、Ops エージェントをインストールする前にこれらのエラーを解決する必要があります。不要なリポジトリを削除または無効化することで、これらのエラーを解決できる可能性があります。
リポジトリを更新したら、Ops エージェントのインストール スクリプトを実行して Ops エージェントをインストールできます。
公開鍵を使用できないため、リポジトリの更新が失敗する
Linux
apt-get update
の呼び出しによるリポジトリの更新は、公開鍵を使用できないため失敗します。これは、Ops エージェントのインストール時またはアップグレード時に発生することもあります。次のエラーが表示される場合があります。
W: GPG error: http://packages.cloud.google.com/apt google-cloud-ops-agent-focal-all InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C0BA5CE6DC6315A3
E: The repository 'http://packages.cloud.google.com/apt google-cloud-ops-agent-focal-all InRelease' is not signed.
このエラーを修正するには、次のコマンドを実行して、不足している鍵をシステムに追加します。
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/google-cloud-ops-agent.gpg
エージェントはインストールされているが、実行されていない
エージェントをインストールしたものの、エージェントが実行されていない場合、問題は次のいずれかである可能性があります。
- 主要コンポーネントの「指標エージェント」や「Logging エージェント」のいずれかの起動に失敗しました。エージェント サービスが実行されていないをご覧ください。
- レガシー エージェントの 1 つが VM にインストールされています。現在インストールされているエージェントとの競合をご覧ください。
- コンポーネントで必要なポートが別のプロセスで使用されている。使用できないポートをご覧ください。
- Ops エージェントの構成が無効です。無効な構成をご覧ください。
エージェント サービスが実行されていない
エージェント サービスが期待どおりに動作している場合、ステータスをクエリすると、指標エージェントと Logging エージェントは実行中として表示されます。
Linux の場合
sudo systemctl status google-cloud-ops-agent"*"
わかりやすくするため、出力の一部の行は削除されています。
● google-cloud-ops-agent.service - Google Cloud Ops Agent Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent.service; enabled; vendor preset: enabled) Active: active (exited) since Wed 2023-05-03 21:22:28 UTC; 4 weeks 0 days ago Process: 3353828 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -in /etc/go> Process: 3353837 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 3353837 (code=exited, status=0/SUCCESS) CPU: 195ms [...] ● google-cloud-ops-agent-opentelemetry-collector.service - Google Cloud Ops Agent - Metrics Agent Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent-opentelemetry-collector.service; static) Active: active (running) since Wed 2023-05-03 21:22:29 UTC; 4 weeks 0 days ago Process: 3353840 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -service=ot> Main PID: 3353855 (otelopscol) Tasks: 9 (limit: 2355) Memory: 65.3M CPU: 40min 31.555s CGroup: /system.slice/google-cloud-ops-agent-opentelemetry-collector.service └─3353855 /opt/google-cloud-ops-agent/subagents/opentelemetry-collector/otelopscol --config=/run/g> [...] ● google-cloud-ops-agent-fluent-bit.service - Google Cloud Ops Agent - Logging Agent Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent-fluent-bit.service; static) Active: active (running) since Wed 2023-05-03 21:22:29 UTC; 4 weeks 0 days ago Process: 3353838 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -service=fl> Main PID: 3353856 (google_cloud_op) Tasks: 31 (limit: 2355) Memory: 58.3M CPU: 29min 6.771s CGroup: /system.slice/google-cloud-ops-agent-fluent-bit.service ├─3353856 /opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_wrapper -config_path /etc/goo> └─3353872 /opt/google-cloud-ops-agent/subagents/fluent-bit/bin/fluent-bit --config /run/google-clo> [...] ● google-cloud-ops-agent-diagnostics.service - Google Cloud Ops Agent - Diagnostics Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent-diagnostics.service; disabled; vendor preset: e> Active: active (running) since Wed 2023-05-03 21:22:26 UTC; 4 weeks 0 days ago Main PID: 3353819 (google_cloud_op) Tasks: 8 (limit: 2355) Memory: 36.0M CPU: 3min 19.488s CGroup: /system.slice/google-cloud-ops-agent-diagnostics.service └─3353819 /opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_diagnostics -config /etc/goog> [...]
Windows の場合
Get-Service google-cloud-ops-agent* Status Name DisplayName ------ ---- ----------- Running google-cloud-op... Google Cloud Ops Agent Running google-cloud-op... Google Cloud Ops Agent - Logging Agent Running google-cloud-op... Google Cloud Ops Agent - Metrics Agent Running google-cloud-op... Google Cloud Ops Agent - Diagnostics
エージェント サービスが実行されていない場合は、次のステータスが表示されることがあります。
Linux
$ sudo service google-cloud-ops-agent status ● google-cloud-ops-agent.service - Google Cloud Ops Agent Loaded: loaded (/lib/systemd/system/google-cloud-ops-agent.service; enabled; vendor preset: enabled) Active: inactive (dead) since Wed 2021-06-30 21:20:43 UTC; 6s ago
Windows
Get-Service google-cloud-ops-agent Status Name DisplayName ------ ---- ----------- Stopped google-cloud-ops-agent Google Cloud Ops Agent
このエラーを修正するには、次のコマンドを実行してサービスを開始します。
Linux
sudo service google-cloud-ops-agent start
Windows
Start-Service google-cloud-ops-agent
サービスを開始できない場合は、無効な構成を使用している可能性があります。
現在インストールされているエージェントとの競合
VM に Cloud Logging エージェントまたは Cloud Monitoring エージェントがすでにインストールされており、それらの構成が新しいエージェントの構成と競合しています。次のようなエラー メッセージが表示されます。
Windows
We detected an existing Windows service for the StackdriverLogging agent, which is not compatible with the Ops Agent when the Ops Agent configuration has a non-empty logging section. Please either remove the logging section from the Ops Agent configuration, or disable the StackdriverLogging agent, and then retry enabling the Ops Agent.
このエラーを解決するには、次の 2 つの方法があります。
Ops エージェント構成ファイルの競合するセクションを無効にします。詳細については、Ops エージェントの構成ガイドをご覧ください。
競合する Cloud Logging エージェントまたは Cloud Monitoring エージェントを無効にします。
- Cloud Logging エージェントのカスタム構成ファイルを保存します。
- 古い Cloud Monitoring エージェントと Cloud Logging エージェントをアンインストールします。
エージェントをアンインストールした後、この変更が Google Cloud コンソールに反映されるまでに 1 時間ほどかかることがあります。
必要なポートを使用できない
コンポーネントに必要なポートが別のプロセスで使用されている場合、Ops エージェントまたはそのコンポーネントのいずれかが起動に失敗する可能性があります。Ops エージェントは次のポートを使用します。
- ポート 20201: 「指標エージェント」コンポーネント用
- ポート 20202: Logging エージェント コンポーネント用
Ops エージェント コンポーネント以外のプロセスがポート 20201 またはポート 20202 を使用している場合は、そのプロセスを停止して Ops エージェントを再起動します。ポートを使用しているプロセスを確認するには、次の操作を行います。
Linux
指標エージェント コンポーネント: ポート 20201 を使用しているプロセスを確認するには、次のコマンドを使用します。
sudo netstat -ns -p | grep '20201'
次の出力は、予想される結果を示しています。Ops エージェントの指標コレクタ otelopscol
は、次のポートを使用しています。
tcp 0 0 127.0.0.1:50138 127.0.0.1:20201 ESTABLISHED 16850/otelopscol tcp6 0 0 :::20201 :::* LISTEN 16850/otelopscol tcp6 0 0 127.0.0.1:20201 127.0.0.1:50138 ESTABLISHED 16850/otelopscol
Logging エージェント コンポーネント: ポート 20202 を使用しているプロセスを確認するには、次のコマンドを使用します。
sudo netstat -ns -p | grep '20202'
次の出力は、予想される結果を示しています。Ops エージェントのログコレクタ fluent-bit
は、次のポートを使用しています。
tcp 0 0 0.0.0.0:20202 0.0.0.0:* LISTEN 16640/fluent-bit tcp 0 0 127.0.0.1:20202 127.0.0.1:52998 TIME_WAIT -
Windows
指標エージェント コンポーネント: ポート 20201 を使用しているプロセスを確認するには、次のコマンドを使用します。
netstat -na -b | Select-String "20201" -Context 0,1
次の出力は、予想される結果を示しています。Ops エージェントの指標コレクタ google-cloud-metrics-agent_windows_amd64.exe
は、次のポートを使用しています。
> TCP 0.0.0.0:20201 0.0.0.0:0 LISTENING [google-cloud-metrics-agent_windows_amd64.exe] > TCP 127.0.0.1:20201 127.0.0.1:50090 ESTABLISHED [google-cloud-metrics-agent_windows_amd64.exe] > TCP 127.0.0.1:50090 127.0.0.1:20201 ESTABLISHED [google-cloud-metrics-agent_windows_amd64.exe] > TCP [::]:20201 [::]:0 LISTENING [google-cloud-metrics-agent_windows_amd64.exe]
Logging エージェント コンポーネント: ポート 20202 を使用しているプロセスを確認するには、次のコマンドを使用します。
netstat -na -b | Select-String "20202" -Context 0,1
次の出力は予想される結果を示しています。Ops エージェントのログコレクタ fluent-bit.exe
が次のポートを使用しています。
> TCP 0.0.0.0:20202 0.0.0.0:0 LISTENING [fluent-bit.exe] > TCP 127.0.0.1:20202 127.0.0.1:57535 TIME_WAIT > TCP 127.0.0.1:20202 127.0.0.1:57539 TIME_WAIT TCP 127.0.0.1:49807 127.0.0.1:49808 ESTABLISHED
ポートの可用性エラーは、Ops エージェントによるヘルスチェックの実行で検出できます。
エージェントに API 権限がない
エージェントが起動に失敗した場合や、データの取り込みに失敗した場合は、「指標エージェント」コンポーネントまたは「Logging エージェント」コンポーネントに API へのアクセスに必要な権限がないことを示している可能性があります。
Ops エージェントで使用されるサービス アカウントには、次の Identity and Access Management のロールが必要です。
- Logging エージェント コンポーネント: ログ書き込み(
roles/logging.logWriter
)。 - 「指標エージェント」コンポーネントの場合: モニタリング指標の書き込み(
roles/monitoring.metricWriter
)。
これらのロールには、ロギングデータまたは指標データの書き込みに必要な権限が含まれ、VM に関連付けられたサービス アカウントに付与する必要があります。使用するサービス アカウントは、VM の構成方法とエージェントの認証方法によって異なります。次のいずれかを使用している可能性があります。
- VM に関連付けられているサービス アカウント。
- 秘密鍵を使用するサービス アカウント。
VM に関連付けられているサービス アカウントを確認する手順は次のとおりです。
-
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Compute Engine] の結果を選択します。
必要に応じて、Google Cloud プロジェクトのプルダウン リストをクリックし、プロジェクトの名前を選択します。
必要に応じて [インスタンス] タブを選択します。
VM インスタンスのリストで VM の名前をクリックして、VM の [詳細] ページを表示します。
このページの [API と ID の管理] セクションを見つけます。[サービス アカウント] フィールドの値にサービス アカウントが表示されています。
サービス アカウントに付与されるロールの設定については、既存のサービス アカウントのロールを確認、変更するをご覧ください。
API 権限エラーは、Ops エージェントによるヘルスチェックの実行によって検出できます。
無効な構成
構成が無効な場合に、エージェント サービスを起動しようとすると、次のエラーが発生する可能性があります。
Linux
$ sudo service google-cloud-ops-agent restart \ && sudo service google-cloud-ops-agent status ● google-cloud-ops-agent-fluent-bit.service - Google Cloud Ops Agent - Logging Agent Loaded: loaded (/usr/lib/systemd/system/google-cloud-ops-agent-fluent-bit.service; static; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/google-cloud-ops-agent-fluent-bit.service.d └─directories.conf Active: failed (Result: exit-code) since Wed 2021-06-30 22:21:08 UTC; 2s ago Process: 1141421 ExecStart=/opt/google-cloud-ops-agent/subagents/fluent-bit/bin/fluent-bit --config ${RUNTIME_DIRECTORY}/fluent_bit_main.conf --parser ${RUNTIME_DIRECTORY}/fluent_bit_parser.conf --log_> Process: 1141847 ExecStartPre=/opt/google-cloud-ops-agent/libexec/google_cloud_ops_agent_engine -service=fluentbit -in /etc/google-cloud-ops-agent/config.yaml -logs ${LOGS_DIRECTORY} -state ${STATE_DIR> Main PID: 1141421 (code=exited, status=0/SUCCESS) Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Control process exited, code=exited status=1 Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Failed with result 'exit-code'. Jun 30 22:21:08 centos8-2 systemd[1]: Failed to start Google Cloud Ops Agent - Logging Agent. Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Service RestartSec=100ms expired, scheduling restart. Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Scheduled restart job, restart counter is at 5. Jun 30 22:21:08 centos8-2 systemd[1]: Stopped Google Cloud Ops Agent - Logging Agent. Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Start request repeated too quickly. Jun 30 22:21:08 centos8-2 systemd[1]: google-cloud-ops-agent-fluent-bit.service: Failed with result 'exit-code'. Jun 30 22:21:08 centos8-2 systemd[1]: Failed to start Google Cloud Ops Agent - Logging Agent.
journalctl
を使用して正確なエラー メッセージを取得します。
sudo journalctl -xe | grep "google_cloud_ops_agent_engine"
次のようなメッセージが表示される場合があります。
Jun 30 22:00:26 centos8-2 google_cloud_ops_agent_engine[1141491]: 2021/06/30 22:00:26 the agent config file is not valid YAML. detailed error: yaml: line 21: did not find expected key
Windows
failed to generate config files: can't parse configuration: yaml: line 20: could not find expected ':'
このエラーを修正するには、無効な構成を修正してエージェントを再起動します。詳細については、Ops エージェントの構成ガイドをご覧ください。
エージェント クラッシュと NVIDIA に関する報告
Compute Engine VM で接続された GPUを使って Ops エージェントを実行しようとしています。エージェントがクラッシュし、出力に NVIDIA と記載されます。
これは、Ops エージェントのバージョン 2.39.0 と 2.40.0 の既知の問題です。この問題を回避するには、Ops エージェント バージョン 2.38.0 またはバージョン 2.41.0 以降をインストールします。Google Cloud コンソールのステータス情報が間違っている
Google Cloud コンソールは、Cloud Monitoring の VM インスタンス ダッシュボードなど、さまざまなダッシュボードの Compute Engine VM でエージェントのステータスを報告します。この情報が想定と一致しない場合、構成の変更がシステムで想定どおりに機能しているため、原因は単に遅延である可能性があります。ただし、エージェントが期待どおりに実行されていない可能性もあります。
Google Cloud コンソールにインストール済みのエージェントが検出されなかったと表示される
エージェントが存在することを Google Cloud コンソールで認識するには、エージェントがデータを実行し、取り込む必要があります。 エージェントをインストールしたものの、コンソールのステータスが「未検出」のままである場合は、エージェントが実行されていないか、エージェントが実行されているものの、データが取り込まれていません。 詳しくは以下をご覧ください。
削除したエージェントが Google Cloud コンソールで「インストール済み」と報告される
エージェントをアンインストールした後、Google Cloud Console がこの変更を報告するまでに最大で 1 時間かかることがあります。