【问题标题】:Grok pattern for Logstash input log fileLogstash 输入日志文件的 Grok 模式
【发布时间】:2020-10-28 18:22:33
【问题描述】:

[1603870834] 服务警报:localhost;Swap Usage;OK;SOFT;2;SWAP OK - 1% free (0 MB out of 1023 MB)

我必须为 Logstash 过滤 JSON 格式的字符串示例,这是我必须加载到我的 Nagios 日志文件输出ELK 使用 Logstash,我怎么能写到 grok 呢?

【问题讨论】:

    标签: string logstash logstash-grok nagios


    【解决方案1】:

    在 grok 中,这种类型的线有一个专用模式:NAGIOSLOGLINE

    所以在你的情况下试试这个:

     filter {
          grok {
            match => { "message" => "%{NAGIOSLOGLINE}" }
          }
        }
    

    有关信息,您可以使用 grokdebug 来测试更多模式 here

    【讨论】:

    • 实际上我正在寻找合适的 json 格式,我发现了类似预期的 Grok Patteren -- [%{NUMBER:unix_timestamp}]\s%{DATA:type}:\s%{DATA:host };%{DATA:service};%{DATA:status};%{DATA:nagios_status};%{DATA:int};%{GREEDYDATA:nagios_message}。
    【解决方案2】:

    这是你找到的修改后的 grok 模式:

    \[%{NUMBER:unix_timestamp}\]\s%{DATA:type}:\s%{DATA:host};%{DATA:service};%{DATA:status};%{DATA:nagios_status};%{DATA:int};%{GREEDYDATA:nagios_message}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多