如何在Rsyslog中使用startmsg.regex

分类 : 互动问答 | 发布时间 : 2018-04-27 16:20:55 | 评论 : 1 | 浏览 : 80 | 喜欢 : 0

以下是我的conf文件。我想为添加配置startmsg.regex .

我在配置文件中添加了以下行:

 startmsg.regex =“^ [[:digit:]] {4} \ / [[:digit: ]] {2} \ / [[:digit:]] {2} [[:digit:]] {2}:[[:digit:]] {2}:[[:digit:]] {2}“
 ModLoad imfile
$ InputFilePollInterval 10
$ PrivDropToGroup代理
$ WorkDirectory / var / spool / rsyslog


$ InputFileName /var/log/app/cache.log
$ InputFileTag应用程序错误:
$ InputFileStateFile stat-app-error
$ InputFileSeverity错误
$ InputFilePersistStateInterval 20000
$ InputRunFileMonitor

  startmsg.regex =“^ [[:digit:]] {4} \ / [[:digit:]] {2} \ / [[:digit:]] {2} [[:digit:]] {2} :[[:位:]] {2}:[[:位:]] {2}”





$ template AppError,“error%msg%\ n”

如果$ programname =='app-error'then @@ 0.0.0.0:12345; AppError
如果$ programname =='app-error'then〜

当我使用 rsyslogd -N1检查我的配置文件时,出现错误。 什么是使用此功能的正确方法?

回答(1)

  • 1楼
  • 以下是我用来通过rsyslog发送日志的conf文件。 我还添加了示例日志

    此配置将匹配每个事件以YYYY / MM / DD开头HH:MM:SS 然后发送到我的TCP端点。 该配置可以用于多行日志

    模块(load =“imfile”PollingInterval =“10”)#需要完成一次
    #文件1
    输入(类型= “imfile”
      文件= “/无功/日志/应用/ my.log”
      标签=“应用程序错误”
      严重性=“错误”
      startmsg.regex =“^ [[:digit:]] {4} / [[:digit:]] {2} / [[:digit:]] {2} [[:digit:]] {1,2} :[[:数字:]] {1,2}:[[:数字:]] {1,2}”
    )
    
    
    $ PrivDropToGroup代理
    $ WorkDirectory / var / spool / rsyslog
    
    
    $ template AppError,“error%msg%\ n”
    
    如果$ programname =='app-error'then @@ 0.0.0.0:12345; AppError
    如果$ programname =='app-error'then〜
    

    示例日志:

     2017/10/24 09:14:06 id1 |花了0.00秒(0.00输入/秒)。
    CPU使用率:0.052秒= 0.032用户+ 0.020系统
    最大常驻尺寸:104944 KB
    具有物理I / O的页面错误:0
    2017/10/24 09:14:06 id1 |发现错误
    

    现在rsyslog会将我的多行日志作为单个事件发送到我的tcp端点,如下所示:

     2017/10/24 09:14:06 id1 |花了0.00秒(0.00输入/秒)。 \ nCPU用法:0.052秒= 0.032用户+ 0.020 sys \ n最大常驻大小:104944 KB \ n具有物理I / O的页面错误:0
    2017/10/24 09:14:06 id1 |发现错误

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注