大致步骤如下:
- 配置 CloudWatch 代理
- (按需)配置 CloudWatch 告警大盘
- 配置 CloudWatch 警报
一、配置 CloudWatch 监控的指标
即为了定义监控指标。
1.1 配置指标
方式一:手动修改 CloudAgent 配置(推荐)
大致步骤如下:
🎙️ 下面的配置文件中,不仅配置了需要采集的指标,同时配置了需要采集的日志文件。 采集指标有:
- mem_used_percent
- cpu_used_percent
- disk_used_percent 采集的日志文件有:
- /tmp/log/ads_dispatch/info.log
- /tmp/log/ads_docker/info.log
- /home/ubuntu/log/ads_extend/info.log
- 在 EC2 创建
/opt/aws/amazon-cloudwatch-agent/bin/config.json配置文件,文件内容如下
{
"agent": {
"metrics_collection_interval": 60
},
# 配置日志采集
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
# 采集的日志文件路径
"file_path": "/tmp/log/ads_dispatch/info.log",
# 日志存放的日志组(需提前在 CloudWatch 中创建)
"log_group_name": "ads",
# 日志组中的日志流(无需提前创建)
"log_stream_name": "ads_dispatch-{instance_id}",
"retention_in_days": 30
},
{
"file_path": "/tmp/log/ads_docker/info.log",
"log_group_name": "ads",
"log_stream_name": "ads_docker-{instance_id}",
"retention_in_days": 30
},
{
"file_path": "/home/ubuntu/log/ads_extend/info.log",
"log_group_name": "ads",
"log_stream_name": "ads_extend-{instance_id}",
"retention_in_days": 30
}
]
}
}
},
# 配置需要采集的指标
"metrics": {
# 指标存放的命名空间
"namespace": "CWAgent",
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"metrics_collected": {
"mem": {
"measurement": [
"used_percent",
"total"
]
},
"cpu": {
"measurement": [
"usage_active"
]
},
"disk": {
"measurement": [
"used_percent",
"total"
]
}
}
}
}
- 使用如下命令使配置生效
# 二选一
# 覆盖现有 CWA 配置
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
# 新增 CWA 配置(优先)
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
方式二:控制台配置 CloudAgent 配置(不推荐)
🎙️ 该方式需确保 EC2 的 SSM Agent 可用
Step 1:进入配置页
操作入口为:
- 选中需要配置的 EC2 实例
- 点击右上角 “操作”
- 选中 “监控和故障排除”
- 点击 “管理 CloudWatch 警报”
Step 2:根据步骤条的指引逐步配置指标
第 2 步:验证 IAM 权限 若提示无足够的权限,则通过以下方式修改 IAM 角色为 “ec2-cloudwatch” 或其他具有相应权限的角色:
🤖 第 5 步:选择配置 配置需要关注的指标,如下图,配置了 内存、CPU、磁盘 的利用率:
1.2 验证配置的指标是否生效
-
导航栏选择 “指标” -> “全部指标”,选择 Region
- 搜索 EC2 的实例 ID
- 选择命名空间 “CWAgent”,维度选择 “InstanceId”
因为在步骤 2 的第 5 步中创建的指标默认都在该命名空间下,维度使用的是 InstanceId
二、(按需)配置 CloudWatch 告警大盘
即为了可视化监控指标。
- 进入 CloudWatch 控制台
- 导航栏选择 “控制面板”
- 点击右上角 “创建控制面板”
三、配置 CloudWatch 告警
🚨 注意,这里的预警只会触发一次。 需持续触发,参考: 活用 CloudWatch 创建监控、告警为业务保驾护航 | Amazon Web Services
Step 1:创建通知器
参考以下内容创建钉钉通知器,其中的 SNS 主题在下面 👇 要用。
Step 2:配置告警规则
步骤如下:
- 进入 CloudWatch 控制台
- 导航栏选择 “警报” -> "全部告警" -> "创建警报"
- 选择指标及条件【找出第一步中创建的指标】
- 配置操作【选择通知,指定 Step1 中创建的 SNS 主题】
- 添加警报信息
- 创建警报