0

我在从客户生产环境中捕获交换日志时遇到问题。日志存在于一组目录中,并被标记为:

-- .../dir1/http_2021101002-1.log
-- .../dir1/http_2021101003-1.log
-- .../dir1/http_2021101004-1.log 
-- .../dir1/http_2021101004-2.log (if previous log reached max size for example)

这些日志将涵盖 10 月 10 日 02、03 时和 04 时的两组。

现在,我可以在配置中添加一个 ossec 条目,例如:

<localfile>
    <log_format>syslog</log_format>
    <location>C:\Program Files\microsoft\exchange server\v15\logging\httpproxy\Ecp\HttpProxy_%Y%m%d%H-2.log</location>
  </localfile>

但是,问题在于这个小时字段,与日期字段的其余部分一样,strftime 替换仅在代理启动/重新启动时进行评估。因此,如果我在零小时添加一个条目,它可能会捕获一天的第一个,但除非我每小时重新启动,否则它不会捕获任何日志。有什么办法可以从一天中的每个小时捕获日志吗?我不能将通配符和 strftime 混合使用,所以如果我使用通配符,整个文件名 wazuh 将在负载下崩溃,因为一个已知问题是它只能在硬死之前处理这么多的流量。有什么想法吗?

4

1 回答 1

0

Logcollector 位置字段仅允许年、月和日strftime格式字符串 ( https://documentation.wazuh.com/current/user-manual/reference/ossec-conf/localfile.html#location )。由于每天都会更新要读取的文件名,因此无法使用每小时文件。

正如您所说,唯一的解决方案是使用通配符或选择整个目录作为位置值。关于重载问题,有几种可能的解决方案,可以一起使用,也可以单独使用:

于 2021-10-20T07:51:38.670 回答