【发布时间】: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 ?
感谢您花时间阅读问题。
【问题讨论】: