我想对监控 CloudWatch 代理指标且处于 INSUFFICIENT_DATA 状态的 Amazon CloudWatch 警报进行故障排除。
解决方法
检查配置是否不匹配
完成以下步骤:
- 验证配置文件位置:<br id=hardline_break/>
对于 Linux,请查看 /opt/aws/amazon-cloudwatch-agent/bi。<br id=hardline_break/>
对于 Windows,请查看 C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json。
- 验证指标描述(例如指标名称和维度)与代理用于发布指标的 CloudWatch 代理配置文件是否匹配。
CloudWatch 代理配置文件和警报配置之间不匹配的示例:
{
"metrics": {
"namespace": "CWAgent",
"metrics_collected": {
"cpu": {
"measurement": [
"usage_idle"
],
"metrics_collection_interval": 60,
"totalcpu": false
}
}
}
}
**注意:**在上述示例中,指标名称不匹配。
CloudWatch 为警报使用以下配置:
- 指标名称:cpu_utilization
- 维度: InstanceId
- 统计数据: 平均值
- 周期: 60 秒
- 阈值: 80%
检查 IAM 角色的权限
检查附加到 Amazon Elastic Compute Cloud (Amazon EC2) 实例的 AWS Identity and Access Management (IAM) 角色的权限。
验证 IAM 角色是否具有执行 PutMetricData 操作的权限。然后,将 CloudWatchAgentServerPolicy 托管策略附加到 IAM 角色。
有关详细信息,请参阅为什么统一 CloudWatch 代理未将我的指标或日志事件推送到 CloudWatch?
检查 CloudWatch 代理的日志文件
在 CloudWatch 代理日志文件中,检查是否有显示连接、权限、配置或指标收集存在问题的消息。
您可以在以下默认位置查找日志:
对于 Linux,请查看 /var/log/amazon/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log。
对于 Windows,请查看 C:\ProgramData\Amazon\AmazonCloudWatchAgent\Logs\amazon-cloudwatch-agent.log。
如果您在默认位置找不到配置文件,请改为查看以下位置:
对于Linux,请查看 /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d/file_config.json。
对于 Windows,请查看 C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs\file_config.json。
检查网络连接
验证您的 Amazon EC2 实例是否可以连接到互联网并允许 CloudWatch 代理向 CloudWatch 端点发送数据。如果您的 EC2 实例无法直接连接到互联网,请使用 Amazon Virtual Private Cloud (Amazon VPC) 端点。
然后,确认与 Amazon VPC 端点关联的安全组允许来自该实例的入站流量。
有关详细信息,请参阅为什么统一 CloudWatch 代理未将我的指标或日志事件推送到 CloudWatch?
测试指标收集
要手动测试收集和发布指标的流程,请在运行 CloudWatch 代理的实例上运行 put-metric-data 命令。
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
相关信息
如何对处于 INSUFFICIENT_DATA 状态的 CloudWatch 警报进行故障排除?
如何安装和配置统一 CloudWatch 代理,以便将指标和日志从 EC2 实例发送到 CloudWatch?
如何对我的 Amazon CloudWatch 指标中的数据点缺失问题进行故障排除?