Amazon CloudWatch
ユーザーガイド

CloudWatch エージェントのトラブルシューティング

以下の情報を参考にして、CloudWatch エージェントに関する問題のトラブルシューティングを行います。

CloudWatch エージェントのコマンドラインパラメータ

CloudWatch エージェントでサポートされているパラメータの完全なリストを表示するには、エージェントがインストールされているコンピュータで、コマンドラインに以下のコマンドを入力します。

amazon-cloudwatch-agent-ctl -help

Run Command を使用した CloudWatch エージェントのインストールが失敗する

Systems Manager Run Commandを使用して CloudWatch エージェントをインストールするには、ターゲットサーバーの SSM Agent がバージョン 2.2.93.0 以降でなければなりません。SSM Agent のバージョンが適切でない場合は、次のエラーメッセージが表示されることがあります。

no latest version found for package AmazonCloudWatchAgent on platform linux
failed to download installation package reliably

SSM Agent バージョンの更新に関する詳細は、『AWS Systems Manager ユーザーガイド』の「SSM Agent のインストールと設定」を参照してください。

CloudWatch エージェントが開始されない

CloudWatch エージェントが開始されない場合、設定に問題がある可能性があります。設定情報は、configuration-validation.log ファイルにログ記録されます。このファイルは、Linux サーバーでは /opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log に、Windows Server を実行しているサーバーでは $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log にあります。

CloudWatch エージェントが実行されていることを確認する

CloudWatch エージェントのクエリを実行して、実行中か停止中かを調べることができます。これをリモートに行うには、AWS Systems Manager を使用できます。コマンドラインを使用することもできますが、チェックできるのはローカルサーバーだけです。

Run Command を使用して CloudWatch エージェントのステータスのクエリを実行するには

  1. Open the Systems Manager console at https://console.aws.amazon.com/systems-manager/.

  2. In the navigation pane, choose Run Command.

    -or-

    If the AWS Systems Manager home page opens, scroll down and choose Explore Run Command.

  3. [Run command (コマンドの実行)] を選択します。

  4. [Command document] リストで、[AmazonCloudWatch-ManageAgent] を選択します。

  5. [Target] 領域で、確認するインスタンスを選択します。

  6. [Action] リストで、[status] を選択します。

  7. [Optional Configuration Source] と [Optional Configuration Location] は空白のままにします。

  8. [Run] を選択します。

エージェントが実行されている場合、出力は次のようになります。

{ "status": "running", "starttime": "2017-12-12T18:41:18", "version": "1.73.4" }

エージェントが停止した場合、"status" フィールドには "stopped" が表示されます。

コマンドラインを使用して CloudWatch エージェントのステータスのクエリをローカルで実行するには

  • Linux サーバーで、次のように入力します。

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status

    Windows Server を実行しているサーバーの場合、管理者として PowerShell で次のように入力します。

    & $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status

メトリクスの場所

CloudWatch エージェントが実行されているが、そのエージェントによって収集されたメトリクスが AWS マネジメントコンソール または AWS CLI で見つからない場合、適切な名前空間を使用していることを確認します。エージェントによって収集されるメトリクスの名前空間は、デフォルトでは CWAgent です。この名前空間は、エージェント設定ファイルの [metrics] セクションの [namespace] フィールドを使用してカスタマイズできます。予想されるメトリクスが表示されない場合、設定ファイルで、使用している名前空間を確認してください。

CloudWatch エージェントパッケージを初めてダウンロードした場合、エージェント設定ファイルは amazon-cloudwatch-agent.json です。このファイルは、設定ウィザードを実行したディレクトリにあります。または、別のディレクトリに自分で移動した可能性があります。設定ウィザードを使用した場合は、ウィザードからのエージェント設定ファイル出力の名前は config.json です。namespace フィールドなど、設定ファイルの詳細については、「 CloudWatch エージェント設定ファイル: metrics セクション」を参照してください。

CloudWatch エージェントが起動せず、Amazon EC2 リージョンに関するエラーが発生する

エージェントが起動せず、エラーメッセージに Amazon EC2 リージョンのエンドポイントが示されている場合は、Amazon EC2 エンドポイントへのアクセス権を必要とするエージェントを設定しただけで、そのアクセス権を付与していない可能性があります。

たとえば、エージェントの設定ファイルで Amazon EC2 メタデータに依存する値を append_dimensions パラメータに指定し、プロキシを使用する場合は、そのサーバーが Amazon EC2 のエンドポイントにアクセスできることを確認する必要があります。これらのエンドポイントの詳細については、アマゾン ウェブ サービス全般のリファレンス の「Amazon Elastic Compute Cloud (Amazon EC2)」を参照してください。

Windows Server で認証情報が見つかりません

Windows Server で $SystemDrive\\Users\\Administrator\\.aws (Windows Server 2008 または Windows Server 2012) または “$SystemDrive\\Documents and Settings\\Administrator\\.aws (Windows Server 2003) 以外の場所に認証情報がある場合、common.tomlshared_credential_file オプションを使用して独自の認証情報のパスを指定できます。

認証情報ファイルがない場合は、作成する必要があります。詳細については、「(オプション) プロキシ情報またはリージョン情報の一般的な設定を変更する」を参照してください。

CloudWatch エージェントファイルとロケーション

次の表は、Linux や Windows Server を実行しているサーバー上に CloudWatch エージェントによってインストールされて使用されるファイルおよびインストール先の一覧です。

ファイル Linux のロケーション Windows Server のロケーション

エージェントの起動、停止、再起動を制御する制御スクリプト。

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl または /usr/bin/amazon-cloudwatch-agent-ctl

$Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1

エージェントが書き込むログファイル。AWS サポート に接続する場合は、このファイルをアタッチする必要があります。

/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log または /var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log

エージェント妥当性確認検証ファイル。

/opt/aws/amazon-cloudwatch-agent/logs/configuration-validation.log または /var/log/amazon/amazon-cloudwatch-agent/configuration-validation.log

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\configuration-validation.log

ウィザードが作成した直後に、エージェントの設定に使用される JSON ファイル。詳細については、「CloudWatch エージェント設定ファイルを作成する」を参照してください。

/opt/aws/amazon-cloudwatch-agent/bin/config.json

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\config.json

この設定ファイルが Parameter Store からダウンロードした場合に、エージェントの設定に使用される JSON ファイル。

/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json または /etc/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.json

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json

エージェントで使用するリージョン情報と認証情報を指定するための TOML ファイル (システムのデフォルト値を上書きします)。

/opt/aws/amazon-cloudwatch-agent/etc/common-config.toml または /etc/amazon/amazon-cloudwatch-agent/common-config.toml

$Env:ProgramData\Amazon\AmazonCloudWatchAgent\common-config.toml

CloudWatch エージェントによって生成されるログ

エージェントは、実行されている間ログを生成します。このログには、トラブルシューティング情報が含まれています。このログは、amazon-cloudwatch-agent.log ファイルで確認できます。このファイルは、Linux サーバーでは /opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log に、Windows Server を実行しているサーバーでは $Env:ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log にあります。

amazon-cloudwatch-agent.log ファイルに追加の詳細を記録するようにエージェントを設定できます。エージェント設定ファイルの agent セクションで、debug フィールドを true に設定した後、CloudWatch エージェントを再設定して再起動します。この追加情報をログ記録を無効にするには、debug フィールドを false に設定し、エージェントを再設定して再起動します。詳細については、「 CloudWatch エージェント設定ファイルを手動で作成または編集する」を参照してください。

CloudWatch エージェントを停止して再起動する

AWS Systems Manager またはコマンドラインを使用して CloudWatch エージェントを手動で停止できます。手動で停止すると、システムの再起動時に自動的に起動することもなくなります。

Run Command を使用して CloudWatch エージェントを停止するには

  1. Open the Systems Manager console at https://console.aws.amazon.com/systems-manager/.

  2. In the navigation pane, choose Run Command.

    -or-

    If the AWS Systems Manager home page opens, scroll down and choose Explore Run Command.

  3. [Run command (コマンドの実行)] を選択します。

  4. [Command document] リストで、[AmazonCloudWatch-ManageAgent] を選択します。

  5. [ターゲット] 領域で、CloudWatch エージェントをインストールしたインスタンスを選択します。

  6. [Action] リストで、[stop] を選択します。

  7. [Optional Configuration Source] と [Optional Configuration Location] は空白のままにします。

  8. [Run] を選択します。

コマンドラインを使用して CloudWatch エージェントをローカルで停止するには

  • Linux サーバーで、次のように入力します。

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a stop

    Windows Server を実行しているサーバーの場合、管理者として PowerShell で次のように入力します。

    & $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a stop

エージェントを再起動するには、「CloudWatch エージェントの開始」の手順に従います。