使用 fluent.d 解析 linux 审计日志

时间:2021-06-14 18:55:40

标签: fluentd

我正在尝试将 Linux 审核日志发送到弹性端点。我已经通过 RPM 包安装了它。对于上下文,我使用的是 CentOS Linux 版本 8.3.2011。我的 Linux 审计日志位于:/var/log/audit/audit.log。我已经检查并仔细检查审核日志是否存在。

日志从来没有表明我一直在跟踪日志。这是我的配置:

<source>
  @type tail
  tag linux_logs.raw
  path /var/log/audit/audit.log
  read_from_head true
  pos_file /etc/td-agent/test.pos
  <parse>
    @type regexp
    expression /(?<message>.+)/
    time_format %Y-%m-%d %H:%M:%S
    utc true
  </parse>
</source>
####
## Filter descriptions:
##

<filter **>
  @type record_transformer
  <record>
    hostname "${hostname}"
    timestamp "${time}"
  </record>
</filter>
####
## Output descriptions:
##
<match **>
  @type http
  endpoint https://myendpoint/
  open_timeout 2
  headers {"Authorization":"Bearer <token> <token2>"}
  <format>
    @type json
  </format>
  <buffer>
    @type memory
    flush_interval 10s
    compress gzip
  </buffer>
</match>

日志从未表明我曾经跟踪过 audit.log 文件。

2021-06-14 14:42:59 -0400 [info]: starting fluentd-1.12.3 pid=10725 ruby="2.7.3"
2021-06-14 14:42:59 -0400 [info]: spawn command to main:  cmdline=["/opt/td-agent/bin/ruby", "-Eascii-8bit:ascii-8bit", "/opt/td-agent/bin/fluentd", "--log", "/var/log/td-agent/td-agent.log", "--daemon", "/var/run/td-agent/td-agent.pid", "--under-supervisor"]
2021-06-14 14:43:00 -0400 [info]: adding filter pattern="**" type="record_transformer"
2021-06-14 14:43:00 -0400 [info]: adding match pattern="**" type="http"
2021-06-14 14:43:00 -0400 [warn]: #0 Status code 503 is going to be removed from default `retryable_response_codes` from fluentd v2. Please add it by yourself if you wish
2021-06-14 14:43:00 -0400 [info]: adding source type="tail"
2021-06-14 14:43:00 -0400 [warn]: #0 define <match fluent.**> to capture fluentd logs in top level is deprecated. Use <label @FLUENT_LOG> instead
2021-06-14 14:43:00 -0400 [info]: #0 starting fluentd worker pid=10734 ppid=10731 worker=0
2021-06-14 14:43:00 -0400 [info]: #0 fluentd worker is now running worker=0

这是权限问题吗??如果我做一个 tmp 文件,尾随工作,所以它似乎是一个权限问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

是的,这是一个权限问题。 Fluentd 由 RPM 安装,因此守护进程以“td-agent”用户和“td-agent”组运行。

您需要检查“/var/log/audit/audit.log”文件权限,如果您有:

-rw-------

我建议您以 root 身份运行 Fluentd。为此,您需要从以下位置更改“/lib/systemd/system/td-agent.service”文件:

[Service]
User=td-agent
Group=td-agent

[Service]
User=root
Group=root

最后,重新加载守护进程并重启服务 (Fluentd)