Oracle Cloud Agentのトラブルシューティング
Oracle Cloud Agentを使用していると、次の問題が発生することがあります:
- 「インスタンスの詳細」ページの「Oracle Cloud Agent」タブで、すべてのプラグインのステータスが「無効」になっている。
- 「コンソール」ダッシュボードの「メトリック」セクションに、インスタンスのCPU、メモリー、ネットワークまたはディスクのメトリックが表示されない。
これらの問題が発生した場合、Oracle Cloud Agentがインストールされていないか、実行されていないか、Oracleサービスと通信できない可能性があります。特定の問題を診断するには、次のトラブルシューティング・ステップに従います。
このトピックでは、Oracle Linuxの手順はCentOSイメージにも適用されます。
ステップ1: Oracle Cloud Agentがインストールされていることの確認
次のステップに従って、Oracle Cloud Agentがインスタンスにインストールされていることを確認します。
- インスタンスに接続し、オペレーティング・システムに応じて次のいずれかのコマンドを実行します。Oracle Linux
rpm -q oracle-cloud-agent && echo "OCA Installed" || echo "OCA not Installed"
Oracle Cloud Agentがインストールされている場合、次のようなメッセージが表示されます:
oracle-cloud-agent-<version>.x86_64 OCA Installed
Ubuntusnap list oracle-cloud-agent &>/dev/null && echo "OCA Installed" || echo "OCA not Installed"
Oracle Cloud Agentがインストールされている場合、次のメッセージが表示されます:
OCA Installed
Windows ServerWindows PowerShellで、管理者としてコマンドを実行します。
Get-WmiObject -Class Win32_Product |where name -eq "Oracle Cloud Agent"
Oracle Cloud Agentがインストールされている場合、次のようなメッセージが表示されます:
IdentifyingNumber : {<unique_ID>} Name : Oracle Cloud Agent Vendor : Oracle Corporation Version : <version> Caption : Oracle Cloud Agent
- コマンドの実行後にOracle Cloud Agentがインストールされていることを示すメッセージが表示されない場合は、Oracle Cloud Agentをインストールします。Oracle Cloud Agentがインストールされている場合は、次のステップに進み、実行されていることを確認します。
ステップ2: Oracle Cloud Agentが実行されていることの確認
Oracle Cloud Agentがインストールされていることを確認した後、次のステップに従って、実行されていることを確認します。
- インスタンスに接続し、次のいずれかのコマンドを実行して、Oracle Cloud Agentを再起動します。Oracle Linux 6.x
initctl status oracle-cloud-agent
Oracle Cloud Agentが実行されている場合に予期されるレスポンス:
oracle-cloud-agent start/running, process 13809
Oracle Linux 7.x以降のバージョンsystemctl is-enabled oracle-cloud-agent &>/dev/null && echo "OCA is enabled" || echo "OCA is disabled" \ && systemctl is-active oracle-cloud-agent &> /dev/null && echo "OCA is running" || echo "OCA is not running"
Oracle Cloud Agentが実行されている場合に予期されるレスポンス:
OCA is enabled OCA is running
Ubuntusnap services oracle-cloud-agent
Oracle Cloud Agentが実行されている場合に予期されるレスポンス:
Service Startup Current Notes oracle-cloud-agent.oracle-cloud-agent enabled active -
Windows ServerWindows PowerShellで、管理者としてコマンドを実行します。
sc.exe query "OCA"|findstr "RUNNING"
Oracle Cloud Agentが実行されている場合に予期されるレスポンス:
STATE : 4 RUNNING
- コマンドの実行後にOracle Cloud Agentが実行されていることを示すメッセージが表示されない場合は、診断ツールを実行し、プラグインのデバッグ情報およびログを含むファイルを使用してサポート・チケットを提出します。Oracle Cloud Agentが実行されている場合は、次のステップに進み、Oracleサービスに接続できることを確認します。
ステップ3: Oracle Cloud AgentがOracleサービスに接続できることの確認
Oracle Cloud Agentがインストールされ実行されているが、「インスタンスの詳細」ページのすべてのプラグインのステータスが「無効」であることを確認した場合、または「コンソール」ダッシュボードの「メトリック」セクションにメトリックが表示されない場合、Oracle Cloud AgentがOracleサービスに接続できない可能性があります。次の各項では、Oracle Cloud AgentがOracleサービスに接続できない場合に考えられる原因について説明します。問題を診断するには、次のステップを順番に実行します。
- インスタンスがインスタンス・メタデータ・サービス・エンドポイントにアクセスできることを確認します。
- クロック・スキュー・エラーを確認します。
- ゲートウェイが正しく構成されていることを確認します。
- プロキシ・サーバー設定を変更します。
インスタンスがインスタンス・メタデータ・サービス・エンドポイントにアクセスできることの確認
次のステップでは、インスタンスがインスタンス・メタデータ・サービス・エンドポイントにアクセスできるかどうかを確認します。
- インスタンスに接続し、オペレーティング・システムに応じて次のいずれかのコマンドを実行します。Oracle LinuxおよびUbuntu
curl -v -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v2/instance/
Oracle Cloud Agentが実行されている場合、次のようなメッセージが表示されます:
* About to connect() to 169.254.169.254 port 80 (#0) * Trying 169.254.169.254... * Connected to 169.254.169.254 (169.254.169.254) port 80 (#0) > GET /opc/v2/instance/ HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 169.254.169.254 > Accept: */* > Authorization: Bearer Oracle > < HTTP/1.1 200 OK < Server: server < Date: Wed, 24 Mar 2021 20:52:38 GMT < Content-Type: application/json < Content-Length: 1800 < Last-Modified: Wed, 03 Mar 2021 01:43:50 GMT < Connection: keep-alive < ETag: "603ee9d6-708" < Accept-Ranges: bytes < { "availabilityDomain" : "uybn:<availability_domain>", "faultDomain" : "<fault_domain>", "compartmentId" : "ocid1.compartment.oc1..<unique_ID>", "displayName" : "<instance_name>", "hostname" : "<host_name>", "id" : "<unique_ID>", "image" : "ocid1.image.oc1.iad.<unique_ID>", "metadata" : { "ssh_authorized_keys" : "" }, "region" : "<region_key>", "canonicalRegionName" : "<region_name>", "ociAdName" : "<availability_domain>", "regionInfo" : { "realmKey" : "<realm>", "realmDomainComponent" : "oraclecloud.com", "regionKey" : "<region_key>", "regionIdentifier" : "<region>" }, "shape" : "<shape>", "state" : "Running", "timeCreated" : 1614637343723, "agentConfig" : { "monitoringDisabled" : false, "managementDisabled" : false, "allPluginsDisabled" : false, "pluginsConfig" : [ { "name" : "OS Management Service Agent", "desiredState" : "ENABLED" }, { "name" : "Custom Logs Monitoring", "desiredState" : "ENABLED" }, { "name" : "Compute Instance Run Command", "desiredState" : "ENABLED" }, { "name" : "Compute Instance Monitoring", "desiredState" : "ENABLED" } ] }, "freeformTags" : { "keep" : "keep" } * Connection #0 to host 169.254.169.254 left intact
Windows ServerWindows PowerShellで、管理者としてコマンドを実行します。
Invoke-WebRequest -Headers @{'Authorization'='Bearer Oracle'} http://169.254.169.254/opc/v2/instance/
Oracle Cloud Agentが実行されている場合、次のようなメッセージが表示されます:
StatusCode : 200 StatusDescription : OK Content : { "availabilityDomain" : "<availability_domain>", "faultDomain" : "<fault_domain>", "compartmentId" : "ocid1.tenancy.region1..<unique_ID>", "displayNam... RawContent : HTTP/1.1 200 OK Connection: keep-alive Accept-Ranges: bytes Content-Length: 1197 Content-Type: application/json Date: Wed, 24 Mar 2021 21:07:42 GMT ETag: "<unique_ID>" Last-Modified: Wed, 24 M... Forms : {} Headers : {[Connection, keep-alive], [Accept-Ranges, bytes], [Content-Length, 1197], [Content-Type, application/json]...} Images : {} InputFields : {} Links : {} ParsedHtml : mshtml.HTMLDocumentClass RawContentLength : 1197
- プロキシ・エラーなしで正常なレスポンスが得られた場合は、クロック・スキュー・エラーを確認します。プロキシ・サーバー・エラーが発生した場合は、プロキシ・サーバー設定を確認します。
クロック・スキュー・エラーの確認
インスタンスのクロックがNTPサービスと同期していない場合があります。クロック・スキューによってTLSネゴシエーションが失敗し、インスタンスがOracleサービスに接続できなくなる可能性があります。次のステップに従って、クロック・スキュー・エラーを確認します。
-
インスタンスに接続し、次のコマンドのいずれかを実行して、
monitoring.log
ファイルを生成します。Linuxsudo tail -15 /var/log/oracle-cloud-agent/plugins/gomon/monitoring.log
Windows Server 2019、Windows Server 2022Windows PowerShellで、管理者としてコマンドを実行します。
Get-Content -tail 15 C:\Windows\ServiceProfiles\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log
2019より前のWindows ServerWindows PowerShellで、管理者としてコマンドを実行します。
Get-Content -tail 15 C:\Users\OCA\AppData\Local\OracleCloudAgent\plugins\gomon\monitoring.log
クロック・スキュー・エラーがあると、次のようなメッセージが表示されます:
failed to call: Service error:NotAuthenticated. Date 'Tue, 09 Mar 2021 06:39:35 UTC' is not within allowed clock skew. Current 'Tue, 09 Mar 2021 06:45:45 UTC', valid datetime range: ['Tue, 09 Mar 2021 06:40:45 UTC', 'Tue, 09 Mar 2021 06:50:46 UTC']. http status code: 401. Opc request id: <unique_id>
- クロック・スキュー・エラーが発生している場合は、インスタンスのOracle Cloud Infrastructure NTPサービスを構成します。クロック・スキュー・エラーが発生していない場合は、ゲートウェイが正しく構成されていることを確認します。
- 前のステップでNTPサービスを構成した場合は、構成の完了後に、次のいずれかのコマンドを実行して、Oracle Cloud Agentを再起動します:Oracle Linux 6.x
sudo initctl restart oracle-cloud-agent
Oracle Linux 7.x以降のバージョンsudo systemctl restart oracle-cloud-agent
Ubuntusudo snap restart oracle-cloud-agent
Windows ServerWindows PowerShellで、管理者としてコマンドを実行します。
net stop OCA net start OCA
-
monitoring.log
ファイルを再度生成します。Oracle Cloud Agentが正しく実行されている場合、正常なレスポンスは200 OKです。
monitoring.log
で、次のようなメッセージを探します:2021/03/18 03:12:44.391381 t2.go:139: Sent metrics status: 200; took: 387ms; with opc-request-id:<unique_ID>; 2021/03/18 03:13:44.006391 instancemetadata_client.go:64: fetched metadata from http://169.254.169.254/opc/v2/instance/ , status 200 OK 2021/03/18 03:13:44.730102 t2.go:139: Sent metrics status: 200; took: 723ms; with opc-request-id:<unique_ID>; 2021/03/18 03:14:44.324046 t2.go:139: Sent metrics status: 200; took: 320ms; with opc-request-id:<unique_ID>;
Windowsドメイン参加インスタンスの権限の確認
ドメインに参加しているWindowsインスタンスがある場合は、ローカル・グループ・ポリシーで、仮想アカウントに「サービスとしてログオン」ユーザー権限が付与されていることを確認します。権限を設定するには、Microsoftのサービス・ログオンの有効化のガイドのローカル・グループ・ポリシーを使用してサービス・ログオンを有効化するためのステップに従います。「サービスとしてログオン」で、ユーザーNT SERVICE\ALL SERVICESまたは特定のユーザーを追加します。
ゲートウェイが正しく構成されていることの確認
Oracle Cloud AgentがOracleサービスと通信するには、サブネット内のゲートウェイが正しく構成されている必要があります。次のステップに従って、構成を確認および修正します。
- VCNのサブネットのインターネット・ゲートウェイ、NATゲートウェイまたはサービス・ゲートウェイを構成します。
- 構成ステップを実行した後、インスタンスがインスタンス・メタデータ・サービス・エンドポイントにアクセスできることの確認の項のコマンドを使用して、サービスを再起動します。サービスを再起動したら、
monitoring.log
ファイルでOracleサービスへの正常なリクエストを確認します。
プロキシ・サーバー設定の変更
ローカル・プロキシ・サーバーが原因で、Oracle Cloud Agentがサービスと通信できなくなる場合があります。プロキシ・サーバーはそれぞれ異なります。
多くの場合、プロキシ・クライアント・インスタンスでoracle-cloud-agent
およびoracle-cloud-agent-updater
サービスのhttp_proxy
、https_proxy
およびno_proxy
環境変数を設定すると、プロキシの問題が解決されます。これらの環境変数を設定した後、プロキシ・サーバーのaccess.log
ファイル(またはご使用のシステムに応じて同等のもの)で、プロキシ・クライアントからOracle Cloud Agentがアクセスするサービスへのリクエストが表示されることを確認します。
-
次のコマンドを実行します。
sudo EDITOR=vi systemctl edit oracle-cloud-agent
-
エディタ・ウィンドウで、次のエントリを追加し、ファイルを保存します。
[Service] Environment="http_proxy=<proxy_url>:<proxy_port>" Environment="https_proxy=<proxy_url>:<proxy_port>" Environment="no_proxy=localhost,127.0.0.1,169.254.169.254"
- <proxy_url>はプロキシURLです。
- <proxy_port>はプロキシ・ポートです。
oracle-cloud-agent-updater
サービスについて、前述の2つのステップを繰り返します。-
次のコマンドを実行し、サービスを再起動します。
sudo systemctl daemon-reload sudo systemctl restart oracle-cloud-agent oracle-cloud-agent-updater
-
次のコマンドを実行します。
sudo EDITOR=vi systemctl edit snap.oracle-cloud-agent.oracle-cloud-agent
-
エディタ・ウィンドウで、次のエントリを追加し、ファイルを保存します。
[Service] Environment="http_proxy=<proxy_url>:<proxy_port>" Environment="https_proxy=<proxy_url>:<proxy_port>" Environment="no_proxy=localhost,127.0.0.1,169.254.169.254"
- <proxy_url>はプロキシURLです。
- <proxy_port>はプロキシ・ポートです。
snap.oracle-cloud-agent.oracle-cloud-agent-updater
サービスについて、前述の2つのステップを繰り返します。-
次のコマンドを実行し、サービスを再起動します。
sudo systemctl daemon-reload sudo systemctl restart snap.oracle-cloud-agent.oracle-cloud-agent snap.oracle-cloud-agent.oracle-cloud-agent-updater
-
Windows PowerShellで、管理者として次のコマンドを実行します。環境変数の大/小文字の区別は変更しないでください。
Set System environment variables for HTTP_PROXY, HTTPS_PROXY and NO_PROXY [System.Environment]::SetEnvironmentVariable("HTTP_PROXY", "<proxy_url>:<proxy_port>", [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable("HTTPS_PROXY", "<proxy_url>:<proxy_port>", [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1,169.254.169.254", [System.EnvironmentVariableTarget]::Machine)
- <proxy_url>はプロキシURLです。
- <proxy_port>はプロキシ・ポートです。
-
oracle-cloud-agent
およびoracle-cloud-agent-updater
サービスを再起動します。net stop OCA net start OCA net stop OCAU net start OCAU
-
Custom Logs Monitoring
プラグインがメトリックを送信できることを確認するには、monitoring.log
ファイルを末尾にします。Windows Server 2019、Windows Server 2022
Get-Content C:\Windows\ServiceProfile\OCA\Appdata\Local\OracleCloudAgent\plugins\gomon\monitoring.log -Wait
2019より前のバージョンのWindows Server
Get-Content C:\Users\OCA\Appdata\Local\OracleCloudAgent\plugins\gomon\monitoring.log -Wait
ステップ4: Oracle Cloud Agentの診断ファイルの生成
OracleサポートがOracle Cloud Agentソフトウェアの問題のトラブルシューティングを簡単に行えるようにするために、コンピュート・インスタンスにOracle Cloud Agent診断ツールを実行できます。診断ツールはOracle Cloud Agentが管理するプラグインのデバッグ情報およびログを含むファイルを生成します。
診断ツールは、Oracle Cloud Agentバージョン1.14.0以降でインストールされます。Oracle Cloud Agentを更新するには、「Oracle Cloud Agentソフトウェアの更新」を参照してください。
前述のトラブルシューティング・ステップを完了した後、診断ツールを実行し、プラグインのデバッグ情報およびログを含むファイルを使用してサポート・チケットを提出します。
- インスタンスに接続します。
-
ディレクトリを診断ツールが保存されているフォルダに変更します:
cd /usr/libexec/oracle-cloud-agent/ocatools
-
診断ツールを実行します:
sudo ./diagnostic
このツールは、
oca-diag-<date>.<identifier>.tar.gz
という形式の名前のTARファイルを生成します。サポート要求を開くときに、そのファイルを提供します。
- インスタンスに接続します。
- 管理者としてPowerShellを開きます。
-
ディレクトリを診断ツールが保存されているフォルダに変更します:
cd C:\Program Files\Oracle Cloud Agent\ocatools
-
診断ツールを実行します:
.\diagnostic.ps1
このツールは、ZIPファイルを生成し、
C:\Users\opc\Desktop\
に保存します。サポート要求を開くときに、そのファイルを提供します。