【问题标题】:logstash mutate to replace field value in outputlogstash 变异以替换输出中的字段值
【发布时间】:2017-02-02 21:06:17
【问题描述】:

我正在尝试在我的 logstash 配置中将 10.100.251.98 替换为另一个 IP 10.100.240.199,我尝试使用带有 mutate 功能的过滤器,但是,我无法获得语法 wrtie

Sep 25 15:50:57 10.100.251.98 mail_logs: Info: New SMTP DCID 13417989 interface 172.30.75.10 address 172.30.75.12 port 25
Sep 25 15:50:57 10.100.251.98 local_mail_logs: Info: New SMTP DCID 13417989 interface 172.30.75.10 address 172.30.75.12 port 25
Sep 25 15:51:04 10.100.251.98 cli_logs: Info: PID 35559: User smaduser login from 10.217.3.22 on 172.30.75.10
Sep 25 15:51:22 10.100.251.98 cli_logs: Info: PID 35596: User smaduser login from 10.217.3.22 on 172.30.75.10

这是我的代码:

input { file { path => "/data/collected" } }

filter {
    if [type] == "syslog" {
        mutate {
        replace => [ "@source_host", "10.100.251.99" ]
      }
    }
}

output {

    syslog {
        facility => "kernel"
        host => "10.100.250.199"
        port => 514
   }
}

【问题讨论】:

    标签: logstash logstash-grok logstash-configuration logstash-forwarder


    【解决方案1】:

    我注意到关于您的配置的一些事情。首先,您没有任何日志解析。如果字段尚不存在,您将无法替换它。为此,您可以在输入块中使用codecgrok filter。我添加了一个简单的 grok 过滤器。

    您还检查了if [type] == "syslog"。您从不设置类型,因此检查将始终失败。如果你想设置一个类型,你可以在你的输入块input { file { path => "/data/collected" type => "syslog} }中做到这一点

    这是我用于测试 grok 模式和更换 IP 的示例配置。

    input { tcp { port => 5544 } }
    
    filter {
        grok { match => { "message" =>  "%{CISCOTIMESTAMP:log_time} %{IP:@source_host} %{DATA:log_type}: %{DATA:log_level}: %{GREEDYDATA:log_message}" } }
        mutate {
          replace => [ "@source_host", "10.100.251.199" ]
        }
    }
    
    output {
       stdout { codec => rubydebug }
    }
    

    输出这个:

    {
             "message" => "Sep 25 15:50:57 10.100.251.98 mail_logs: Info: New SMTP DCID 13417989 interface 172.30.75.10 address 172.30.75.12 port 25",
            "@version" => "1",
          "@timestamp" => "2016-09-25T14:03:20.332Z",
                "host" => "0:0:0:0:0:0:0:1",
                "port" => 52175,
            "log_time" => "Sep 25 15:50:57",
        "@source_host" => "10.100.251.199",
            "log_type" => "mail_logs",
           "log_level" => "Info",
         "log_message" => "New SMTP DCID 13417989 interface 172.30.75.10 address 172.30.75.12 port 25"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      相关资源
      最近更新 更多