如何将IIS日志中的数据发送到亚马逊CloudWatch日志,以便监控我的网站的性能。
我试图监控的一件事是我的web请求的平均请求大小。我知道IIS日志有关于web请求( BytesRecv,ByteSent)大小的数据,我可以让CloudWatch日志读取我的IIS日志文件,但我不明白的是,有一种方法可以告诉CloudWatch日志,BytesRecv,ByteSent应该被视为2个数据点。
发布于 2015-09-23 22:24:17
我不认为CloudWatch Logs服务具有这种能力。当它接收像IIS这样的日志时,您可以创建简单的过滤器来匹配某些内容,例如404个错误,然后您可以根据给定时间段内这些错误的数量创建数据点。但是,我还没有找到一种直接从CloudWatch中的日志中提取数据的方法。
我相信这个问题的解决方案是使用Amazon Kinesis从CloudWatch中获取日志文件,然后使用电子病历处理它们以获得这些数据点,然后将这些信息放入S3中。我知道,说起来容易做起来难。我认为最困难的部分是编写电子病历逻辑,然后将数据转换为某种统一的格式以写入S3。我建议你在那个地方寻求帮助。
另一种选择是让Amazon Kinesis删除S3中的日志文件,然后在上传这些日志文件时触发Amazon Lambda操作。然后Lambda函数可以解析这些日志文件,提取所需的信息,将其放入某种json、xml等中,并将其写入S3。这里最难的部分是编写lambda函数。这个链接描述了如何使用lambda来解析写入S3的CloudTrail日志,因此您可以遵循其中的许多逻辑来执行此操作。
http://docs.aws.amazon.com/lambda/latest/dg/wt-cloudtrail-events-adminuser.html
发布于 2019-03-29 20:42:50
如果您可以在IIS日志中获取此信息,则可以将其共享到cloudwatch日志
您可以通过EC2Config服务或SSM代理发送日志。有关详细信息,请参阅this帖子。
然后,您可以对您的日志组使用现有的筛选器,或者创建自定义筛选器,以便从日志->中提取所需的字段,从而使其成为基于log filters的自定义日志指标。例如:
[serverip, method, uri, query, port, dash, clientip, useragent, status, zero1, zero2, millis]或者一些特定的过滤器。
因此,您现在可以使用如上所述的过滤器或Log Insight查询来创建仪表板。
https://stackoverflow.com/questions/32583358
复制相似问题