linux - 适合awslogs的datetime_format配置上传audit.log

标签 linux amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs

我正在配置适用于 Linux (RHEL) 的 AWS CloudWatch 客户端,以将所有重要日志上传到 CloudWatch。我坚持为 audit.log 配置客户端部分。我不断收到消息

...回退到当前时间...原因:无法解析时间戳...

我认为日志文件的格式(系统默认)不适合awslogs 客户端解析。我最好的行动方案是什么?有没有办法为审计日志文件配置 awslogs 客户端,或者我应该更改审计日志文件的格式以更好地满足 awslogs 的期望?

最佳答案

audit.log 条目如下所示:

type=ADD_USER msg=audit(1539364777.590:6): pid=2710 uid=0 auid=4294967295 ses=4294967295 msg='op=adding user id=500 exe="/usr/sbin/useradd" hostname=? addr=? terminal=? res=success'

带有句点和冒号的数字是纪元审计ID。审核 ID 可能会在文件中重复。

不幸的是,strftime 没有标准的纪元格式(有 %s,但它不在规范中并且在 python 中不受支持)。而 cwlogs.parser.DateTimeParser 没有解决方法。而且 cwlogs.util.epoch() 永远不会对原始格式起作用。呜呜。

因此,您需要使用 awslogs 默认发送带有当前时间(而不是日志时间)的条目。

关于linux - 适合awslogs的datetime_format配置上传audit.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47433938/

相关文章:

android - Gradle 构建运行需要很长时间

amazon-ec2 - 如何将 EBS 卷制作成可启动的 AMI? (从公共(public)实例创建的实例。现在我想把它变成我自己的......)

amazon-web-services - 只允许CloudFormation删除CloudFormation创建的资源

amazon-web-services - 使用 CloudFormation 将 CloudWatch 添加到堆栈

c# - 如何在 C# 中更新 Cloudwatch 自定义指标?

node.js - 为什么我无法使用 Lambda 函数将文件上传到 s3?

linux - 在写阻塞套接字上使用 TCP Keep-Alive 获取断开连接通知

linux - 如何从 GNU make 文件运行 Linux shell 命令来设置构建目标的先决条件

java - 拦截 Shell 命令

amazon-web-services - 如何在 AWS Athena 中创建范围分区?