Cloudwatch 日志 - 审计用户访问

Cloudwatch 日志 - 审计用户访问

我有一份用户列表,.passwd正在access_log上传到 Cloudwatch。我需要每周报告这份列表中哪些人访问了服务器。

有没有办法可以自动完成这个,而不是手动检查每个用户的日志?有几十种方法。

答案1

要自动执行这样的任务,您有几个选择。

  1. 批量处理-从 CloudWatch 下载日志,然后解析它们,正在寻找您的用户。

    您可以使用它aws logs describe-log-streams来查找日志流名称,并按时间戳进行过滤,以确保只处理最近的日志流。

    对于每个日志流调用aws logs get-log-events,它将为您提供实际的日志消息,然后解析它们,例如使用grep

    您可能不想使用aws,而是grep想编写一个小型下载器/解析器,例如,用python您选择的其他语言,并使用以下之一AWS 开发工具包用于访问日志的库。

  2. 在线处理- 捕获并处理匹配的日志记录一旦它们被写入 CloudWatch Logs。您可以设置CloudWatch Logs 过滤器模式并将匹配的access_log记录提供给Lambda 函数这将跟踪访问您网站的用户。例如,您可以将结果保存在DynamoDB,每个用户一个对象。

  3. 重量并使用ElasticSearch 服务或者格雷洛格或者Splunk或类似的东西日志处理服务。但这很可能超出您的使用情况。

希望有帮助:)

答案2

NXLog 可以使用 CloudWatch API 从 Amazon Cloudwatch 中提取日志,并且还有一个可用的 Python 脚本这里

相关内容