首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rsyslog:使用不同的模板将不同的消息类型转发到同一台服务器

rsyslog:使用不同的模板将不同的消息类型转发到同一台服务器
EN

Server Fault用户
提问于 2019-02-10 10:36:08
回答 1查看 321关注 0票数 0

我有以下rsyslog配置:

代码语言:javascript
复制
template(name="logz.io" type="string" string="[TOKEN] 
         <%pri%>%protocol-version% %timestamp:::date-rfc3339% [hostname] 
         %app-name% %procid% %msgid%  tag=\"syslog\"] %msg%\n")

# Send messages over TCP using the template.
action(type="omfwd" protocol="tcp" target="listener.logz.io" port="5001"
       template="logz.io" StreamDriver="gtls" StreamDriverMode="1"
       StreamDriverAuthMode="x509/name" StreamDriverPermittedPeers="*.logz.io")

现在,我希望根据其中一个type="string"设置消息类型。因此,我可以为每种类型创建单独的模板,如

代码语言:javascript
复制
template(name="logz.io_nginx" type="nginx" string="[TOKEN] 
         <%pri%>%protocol-version% %timestamp:::date-rfc3339% [hostname] 
         %app-name% %procid% %msgid%  tag=\"nginx\"] %msg%\n")

但是,这意味着操作应该根据类型调用正确的模板。

  1. 如何将rsyslog配置为使用不同模板的相同操作?
  2. 我可以只有一个模板吗?但是,例如,根据消息类型动态地设置type参数吗?
EN

回答 1

Server Fault用户

发布于 2019-04-01 09:01:11

如何让rsyslog知道消息类型,它是logz概念而不是rsyslogd概念?您可能需要使用if语句,根据syslogtag/programname区分操作,并在if-然后-块中选择适当的模板。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/953204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档