下图是我想要实现的。简而言之,要将CloudTrail日志发送到CloudWatch日志组,然后对其进行扫描以查找特定事件,并在发生演唱会事件时最终发送电子邮件警报。如何通过电子邮件发送Cloudwatch日志详细信息?
我下面这个官方文件里面也有一个样品CloudFormation模板:http://docs.aws.amazon.com/awscloudtrail/latest/userguide/use-cloudformation-template-to-create-cloudwatch-alarms.html
使用cloudformation上面我已经能够发送电子邮件警报。但是,警报非常基本,它不会发送关键信息,例如哪个用户启动了此事件,发生的时间等。
逻辑上认为AWS :: Logs :: MetricFilter应将值传递给AWS :: CloudWatch ::然后发送信息的警报。我查看了MetricFilter和Alarm服务的文档。 Dimension
更接近我想要但尚未能够从日志中读取信息。
我原以为这是一个常见的用例,并且会有文档。我在这里错过了显而易见的东西吗?有没有人在这里解决这个问题?
AWS ::日志:: MetricFilter块:
"AuthorizationFailuresMetricFilter": {
"Type": "AWS::Logs::MetricFilter",
"Properties": {
"LogGroupName": { "Ref" : "LogGroupName" },
"FilterPattern": "{ ($.errorCode = \"*UnauthorizedOperation\") || ($.errorCode = \"AccessDenied*\") }",
"MetricTransformations": [
{
"MetricNamespace": "CloudTrailMetrics",
"MetricName": "AuthorizationFailureCount",
"MetricValue": "1"
}
]
}
},
AWS :: CloudWatch的警报::块
"AuthorizationFailuresAlarm": {
"Type": "AWS::CloudWatch::Alarm",
"Properties": {
"AlarmName" : "CloudTrailAuthorizationFailures",
"AlarmDescription" : "Alarms when an unauthorized API call is made.",
"AlarmActions" : [{ "Ref" : "AlarmNotificationTopic" }],
"Dimensions": [
{
"Name": "errorCode",
"Value": ""
},
{
"Name": "userIdentity",
"Value": ""
}
],
"MetricName" : "AuthorizationFailureCount",
"Namespace" : "CloudTrailMetrics",
"ComparisonOperator" : "GreaterThanOrEqualToThreshold",
"EvaluationPeriods" : "1",
"Period" : "300",
"Statistic" : "Sum",
"Threshold" : "1"
}
},
你不能这样做。这是Amazon真正需要添加的CloudWatch Logs的一项缺失功能。 –
人们会认为这是最常见的用例之一。奇怪的是,它还没有实施。 –