当我尝试将IIS或MSSQL日志推送到CloudWatch时,我可以看到服务器中的日志正在出现,但是它们在CW的单行中,就像在服务器中,它们是带有不同时间戳的两个不同事件
我曾经用"multi_line_start_pattern": "yyyy-MM-dd HH:mm:ss"
吓跑了,但这不能解决我的问题
CloudWatch Json文件:
{
"FullName": "AWS.EC2.Windows.CloudWatch.CustomLog.CustomLogInputComponent,AWS.EC2.Windows.CloudWatch",
"Id": "IISLogs",
"Parameters": {
"CultureName": "en-US",
"Encoding": "UTF-8",
"Filter": "",
"LineCount": "5",
"LogDirectoryPath": "C:\\logfiles",
"TimeZoneKind": "UTC",
"TimestampFormat": "\\%Y-%m-%d %H:%M:%S\\" (also tried "yyyy-MM-dd HH:mm:ss" format)
}
},
{
"FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",
"Id": "CloudWatchIISLogs",
"Parameters": {
"LogGroup": "/application/iis",
"LogStream": "{instance_id}",
"Region": "eu-west-1",
"multi_line_start_pattern": "yyyy-MM-dd HH:mm:ss"
}
}
在流量下:
“((IISLogs),CloudWatchIISLogs”,
我在CW中看到的日志:我看不到它们在每个结束行之间都没有区别,但是在IIS服务器中,我确实在下一行中分开了日志。对于MSSQL同样如此。
我希望与服务器/实例中提到的日志一样,将日志推送到CW中,如下所示:
在时间之下:我有时间戳记:
消息下方:此消息位于单个消息下,其中包含多个消息(user1的3个事件)
2019-05-31 12:19:42 ::1 GET / - 80 user ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 200 0 0 2032019-05-31 12:19:43 ::1 GET / - 80 user1 ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko - 200 0 0 152019-05-31 12:19:43 ::1 GET /libs/jquery-1.7.1.min.js - 80 user1 ::1 Mozilla/5.0+(Windows+NT+10.0;+WOW64;+Trident/7.0;+rv:11.0)+like+Gecko http://localhost/ 304 0 0 02019-05-31 12:19:43 ::1 GET /libs/canvg/canvg.js - 80 user1 ::1
状态代码正在与下一行(日期/时间)合并,因为日志未正确显示/拆分。
任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
我得到了答案,这是由于我们正在使用的代理-SSM,将其迁移到CW代理后已解决。