【发布时间】:2017-08-06 03:29:00
【问题描述】:
我添加了一个 \Program Files\Amazon\SSM\Plugins\awsCloudWatch\AWS.EC2.Windows.Cloudwatch.json 文件,如我的用户数据启动中所述,并重新启动了 ssm 服务,如 windows 2016 文档中所述。 ssm 代理日志中没有错误。但是,我没有看到 AWS.Cloudwatch.exe 正在运行,也没有日志进入 cloudwatch。
我真的只对应用程序和系统事件日志以及 \programdata\amazon\ecs\log 目录感兴趣。如果我能正常工作,我也会添加启动日志。
我在哪里可以找到线索?我确实尝试过手动启动 aws.cloudwatch.exe,但不知道配置参数应该是什么样子。
这是我的配置
$ssmconfig = @"
{
"IsEnabled": true,
"EngineConfiguration": {
"PollInterval": "00:00:05",
"Components": [
{
"Id": "ApplicationEventLog",
"FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"LogName": "Application",
"Levels": "1"
}
},
{
"Id": "SystemEventLog",
"FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"LogName": "System",
"Levels": "7"
}
},
{
"Id": "SecurityEventLog",
"FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"LogName": "Security",
"Levels": "7"
}
},
{
"Id": "CustomLogs",
"FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"LogDirectoryPath": "C:\\ProgramData\\Amazon\ECS\Log
",
"TimestampFormat": "MM/dd/yyyy HH:mm:ss",
"Encoding": "UTF-8",
"Filter": "",
"CultureName": "en-US",
"TimeZoneKind": "Local"
}
},
{
"Id": "CloudWatchLogs",
"FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"Region": "MYREGION}",
"LogGroup": "MYLOGGGROUP/win-host-eventlog",
"LogStream": "THISINSTANCEID"
}
},
{
"Id": "CloudWatchEcsLogs",
"FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
"Parameters": {
"Region": "MYREGION",
"LogGroup": "MYLOGGROUP/win-host-ecs-logs",
"LogStream": "THISINSTANCEID"
}
}
],
"Flows": {
"Flows": [
"(ApplicationEventLog,SystemEventLog),CloudWatchLogs"
"CustomLogs,CloudWatchEcsLogs"
]
}
}
}
"@
Add-Content "C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\AWS.ECS.Windows.CloudWatch.json" $ssmconfig
Restart-Service AmazonSSMAgent
`
【问题讨论】:
-
您是否为您的实例分配了 CloudWatch 监控 IAM 角色?
-
这是添加的权限,听起来您指的是现有策略? “ssm:UpdateInstanceInformation”、“ssm:ListInstanceAssociations”、“ssm:ListAssociations”、“logs:CreateLogStream”、“logs:PutLogEvents”
-
不,这似乎是正确的。修改 JSON 文件后是否重启了 AmazonSSMAgent 服务?
-
是的,这是我在此处发布的 powershell 脚本的最后一行
-
对于发现此问题的任何人,除了 logs:CreateLogStream 之外,还需要向策略添加一项额外权限:logs:CreateLogGroup。至少在我们的例子中,您可能有正在使用的预先存在的日志组
标签: windows amazon-ec2 amazon-cloudwatch amazon-ecs