【问题标题】:Split rsyslog files拆分 rsyslog 文件
【发布时间】:2022-11-21 02:58:30
【问题描述】:

我试图找到一种方法使 rsyslog 同时将日志写入多个文件,这些文件是从同一主机接收的。例如写入两个文件,并切换每个日志行。

我有一台主机发送大量数据(每天 600 GB),我想将此日志写入多个文件而不是一个文件。

这是因为 Splunk 出于索引目的读取此文件,无法在同一文件上使用多个管道(也称为多个 CPU 线程),这会导致瓶颈。

我正在考虑让 rsyslog 每秒写入一个新文件,但这听起来不是最佳选择。

非常感谢任何建议:)

我无法在 rsyslog 中找到任何描述此功能的文档。

【问题讨论】:

  • 欢迎来到 SO!这个(至少据我所知)不可能以你想要的方式。 Rsyslog 只能过滤逻辑。这意味着如果你想在文件之间拆分消息,你需要某种日志消息标识符 - 这大概每天 600GB 的数据是不可行的。
  • 但是你可以做一些后期处理(不在 rsyslog 中)您将日志文件拆分为多个文件的位置。

标签: rsyslog


【解决方案1】:

解决方案是使用部分亚秒将文件随机(使用最后 2 位数字,纳秒)同时拆分为 100 个文件。

template(name="template_nano_file_format" type="list") {
  property(name="$.path")
  property(name="fromhost-ip")
  constant(value="/")
  property(name="$year")
  property(name="$month")
  property(name="$day")
  constant(value="-")
  property(name="$hour")
  constant(value="-")
  property(name="timegenerated" dateFormat="subseconds" regex.expression="..$" regex.type="ERE")
  constant(value=".log")
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-26
    • 2023-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 2020-07-11
    相关资源
    最近更新 更多