将 CodeDeploy 代理日志发送到 CloudWatch - AWS CodeDeploy

将 CodeDeploy 代理日志发送到 CloudWatch

您可以使用统一的 CloudWatch 代理(更简单地说 CloudWatch 代理)将 CodeDeploy 代理的指标和日志数据发送到 CloudWatch。

按照以下说明安装 CloudWatch 代理并将其配置为与 CodeDeploy 代理一起使用。

先决条件

开始之前,完成以下任务:

配置 CloudWatch 代理以收集 CodeDeploy 代理

您可以通过逐步执行向导或手动创建或编辑配置文件来配置 CloudWatch 代理。

使用向导配置 CloudWatch 代理(Linux)
  1. 按照运行 CloudWatch 代理配置向导中所述运行向导。

  2. 在向导中,当系统询问 Do you want to monitor any log files? 时,输入 1

  3. 按如下方式指定 CodeDeploy 代理日志文件:

    1. 对于 Log file path,输入 CodeDeploy 日志文件的路径,例如:/var/log/aws/codedeploy-agent/codedeploy-agent.log

    2. 对于 Log group name,输入日志组名称,例如:codedeploy-agent-log

    3. 对于 Log stream name,输入日志流名称,例如:{instance_id}-codedeploy-agent-log

  4. 当系统询问 Do you want to specify any additional log files? 时,请输入 1

  5. 按如下方式指定 CodeDeploy 代理部署日志:

    1. 对于 Log file path,输入 CodeDeploy 部署日志文件的路径,例如:/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log

    2. 对于 Log group name,输入日志组名称,例如:codedeploy-agent-deployment-log

    3. 对于 Log stream name,输入日志流名称,例如:{instance_id}-codedeploy-agent-deployment-log

  6. 当系统询问 Do you want to specify any additional log files? 时,请输入 1

  7. 按如下方式指定 CodeDeploy 代理更新程序日志:

    1. 对于 Log file path,输入 CodeDeploy 更新程序日志文件的路径,例如:/tmp/codedeploy-agent.update.log

    2. 对于 Log group name,输入日志组名称,例如:codedeploy-agent-updater-log

    3. 对于 Log stream name,输入日志流名称,例如:{instance_id}-codedeploy-agent-updater-log

使用向导配置 CloudWatch 代理(Windows)
  1. 按照运行 CloudWatch 代理配置向导中所述运行向导。

  2. 在向导中,当系统询问 Do you want to monitor any customized log files? 时,输入 1

  3. 按如下方式指定 CodeDeploy 日志文件:

    1. 对于 Log file path,输入 CodeDeploy 代理日志文件的路径,例如:C:\ProgramData\Amazon\CodeDeploy\log\codedeploy-agent-log.txt

    2. 对于 Log group name,输入日志组名称,例如:codedeploy-agent-log

    3. 对于 Log stream name,输入日志流名称,例如:{instance_id}-codedeploy-agent-log

  4. 当系统询问 Do you want to specify any additional log files? 时,请输入 1

  5. 按如下方式指定 CodeDeploy 代理部署日志:

    1. 对于 Log file path,输入 CodeDeploy 部署日志文件的路径,例如:C:\ProgramData\Amazon\CodeDeploy\deployment-logs\codedeploy-agent-deployments.log

    2. 对于 Log group name,输入日志组名称,例如:codedeploy-agent-deployment-log

    3. 对于 Log stream name,输入日志流名称,例如:{instance_id}-codedeploy-agent-deployment-log

通过手动创建或编辑配置文件来配置 CloudWatch 代理(Linux)
  1. 按照手动创建或编辑 CloudWatch 代理配置文件中所述,创建或编辑 CloudWatch 代理配置文件。

  2. 确保该文件名为 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json,并且它包含以下代码:

    ... "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/var/log/aws/codedeploy-agent/codedeploy-agent.log", "log_group_name": "codedeploy-agent-log", "log_stream_name": "{instance_id}-agent-log" }, { "file_path": "/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log", "log_group_name": "codedeploy-agent-deployment-log", "log_stream_name": "{instance_id}-codedeploy-agent-deployment-log" }, { "file_path": "/tmp/codedeploy-agent.update.log", "log_group_name": "codedeploy-agent-updater-log", "log_stream_name": "{instance_id}-codedeploy-agent-updater-log" } ] } } } ...
通过手动创建或编辑配置文件来配置 CloudWatch 代理(Windows)
  1. 按照手动创建或编辑 CloudWatch 代理配置文件中所述,创建或编辑 CloudWatch 代理配置文件。

  2. 确保该文件名为 C:\ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json,并且它包含以下代码:

    ... "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "C:\\ProgramData\\Amazon\\CodeDeploy\\log\\codedeploy-agent-log.txt", "log_group_name": "codedeploy-agent-log", "log_stream_name": "{instance_id}-codedeploy-agent-log" }, { "file_path": "C:\\ProgramData\\Amazon\\CodeDeploy\\deployment-logs\\codedeploy-agent-deployments.log", "log_group_name": "codedeploy-agent-deployment-log", "log_stream_name": "{instance_id}-codedeploy-agent-deployment-log" } ] }, ... } }, ...

重新启动 CloudWatch 代理

进行更改后,按照启动 CloudWatch 代理中所述重新启动 CloudWatch 代理。