【问题标题】:Dynamic key name in rsyslog actionrsyslog 操作中的动态键名
【发布时间】:2016-11-22 19:48:01
【问题描述】:

我正在尝试将系统上的所有日志发送到 redis 数据库。为此我 在文件“/etc/rsyslog.d/redis.conf”中有以下配置。
我使用队列模式按照here 的说明进行操作。关注
是我的配置:

module(load="omhiredis")

action(
  name="push_redis"
  type="omhiredis"
  mode="queue"
  key="testqueue"
)          

问题:
上面的配置将日志写入redis数据库,但“key”为
对于所有日志保持不变,即“testqueue”。

Expected Output :   

我想,当一个程序登录时,应该在 redis 中创建一个新的密钥,与
程序的名称。那么我就可以查看
的日志了 每个程序分开。

Attempts :

我尝试使用如下过滤器:

if $programname == 'logger' then {
  action(
      name="push_redis"
      type="omhiredis"
      mode="queue"
      key="logger"
    )
}  

但是我将不得不为每个程序编写一个过滤器,这是可能的
但不是一个可接受的解决方案。

Is there any way to create a key dynamically when a program logs into redis ?

感谢您花时间阅读问题。

【问题讨论】:

    标签: logging redis rsyslog


    【解决方案1】:

    这已使用 8.23 https://github.com/rsyslog/rsyslog/pull/1218 上的 dynakey 参数解决。

    理论上也可以使用mode="template",但是当message包含空格时就不能正常工作了。

    【讨论】:

      猜你喜欢
      • 2013-09-30
      • 1970-01-01
      • 2021-04-14
      • 2017-01-04
      • 2017-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多