加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – rsyslogd:有什么方法可以绕过当地设施的数量?

发布时间:2020-12-13 18:04:14 所属栏目:Linux 来源:网络整理
导读:我们有大约9-10个设备,我们希望将日志记录定向到我们的rsyslog服务器.但是,只有8个当地设施(0-7).我们怎样才能解决这个限制? 解决方法 在邮件中记录应用程序名称.过滤应用程序名称而不是设施.如果您的应用程序没有直接生成系统日志消息,您可以应用输出过滤
我们有大约9-10个设备,我们希望将日志记录定向到我们的rsyslog服务器.但是,只有8个当地设施(0-7).我们怎样才能解决这个限制?

解决方法

在邮件中记录应用程序名称.过滤应用程序名称而不是设施.如果您的应用程序没有直接生成系统日志消息,您可以应用输出过滤器(例如,sed)按摩事物以查找您想要的方式.

查看filter conditions上的Rsyslog文档,了解如何配置此行为.根据该页面中的信息,这里是一个如何将以“application1”字符串开头的消息放入/ var / log / application1的示例:

if $msg startswith 'application1' then /var/log/application1

如果您的应用程序正确设置,您还可以显式过滤程序名称:

if $programname == 'application1' then /var/log/application1

您可以在rsyslog.conf中执行各种复杂的过滤;阅读文档以获取更多信息和示例.

编辑:rsyslog可以使用模板为每个服务器创建单独的文件.类似下面的内容应该将所有日志消息放入每个主机名的单独文件中. (这是从联机帮助页中解除的.)

$template DynFile,"/var/log/system-%HOSTNAME%.log
*.*                             ?DynFile

以下内容类似,但不记录调试消息.它还使用连接主机名而不是消息主机名. (这是基于我开发的用于记录Obi100输出的内容.)

$template HostFormat,"%timegenerated% %fromhost% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%n"
$template HostFile,"/var/log/system-%fromhost%.log
if $syslogseverity < 7 then -HostFile;HostFormat

如果您有更复杂的需求,或者想了解上述内容,请阅读联机帮助页和文档.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读