如何将IIS日志中的数据发送到CloudWatch日志

时间:2015-09-15 10:11:09

标签: amazon-cloudwatch cloudwatch

如何将IIS日志中的数据发送到Amazon CloudWatch日志,以便我可以监控网站的性能。

我要监控的其中一件事是我的网络请求的平均请求大小。我知道IIS日志有关于Web请求大小的数据(BytesRecv,ByteSent),我可以让CloudWatch日志读取我的IIS日志文件,但我无法弄清楚是什么方法告诉CloudWatch日志BytesRecv,ByteSent应该被处理作为2个数据点。

2 个答案:

答案 0 :(得分:0)

我认为CloudWatch Logs服务不具备该功能。当它像IIS一样提取日志时,您可以创建简单的过滤器以匹配某些内容,例如404错误,然后您可以在给定时间段内创建有关这些错误数量的数据点。但是,我还没有找到一种直接从CloudWatch中提取日志数据的方法。

我相信这个问题的解决方案是使用Amazon Kinesis从CloudWatch中获取日志文件,然后使用EMR处理它们以获取这些数据点,然后将这些信息放入S3。我知道,说起来容易做起来难得多。我认为最棘手的部分是编写EMR逻辑,然后将这些数据放入某种整合格式以写入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

答案 1 :(得分:0)

如果您可以在IIS日志中获取此信息,则可以将其共享到cloudwatch日志

您可以通过EC2Config服务或SSM代理发送日志,更多详细信息记录在this帖子中。

然后,您可以对日志组使用现有过滤器,或创建自定义过滤器以从日志->中提取所需的字段,从而使它成为基于log filters的自定义日志指标。例如

[serverip, method, uri, query, port, dash, clientip, useragent, status, zero1, zero2, millis]

或某些特定的过滤器。

因此,您现在可以使用如上所述的过滤器,也可以使用Log Insight查询创建仪表板。