从logstash中的消息字符串中过滤ip

时间:2015-11-19 00:34:14

标签: logstash logstash-configuration

我正在使用ELK来推送/ var / log / secure日志。 在提供错误密码时,我们会在安全日志“

中收到以下日志
   "Failed password for invalid user cds-eng from 32.97.110.55 port 8023 ssh2"

我想在日志中添加ip地址作为字段和消息字符串。 我的logstash配置文件如下所示

 input {
lumberjack {
port => 5050
type => "logs"
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
 }
 }
 filter {
   kv {
add_field => { "remote_ip" => "%{IP}" }
 }
 }
 output {
   elasticsearch {
    hosts => "127.0.0.1:9200"
}
}

我正在使用logstash 2.0。 我尝试使用logstash的IP模式,但它无法正常工作。 任何建议。

由于

1 个答案:

答案 0 :(得分:0)

您需要使用grok {}过滤器将您的消息解析为字段。这就是你使用%{IP}模式的地方。最简单的方法是在grok debugger进行测试。 grok {}可以为你添加字段,因此以后不需要add_field。

此外,kv {}过滤器会尝试根据您似乎没有的键/值对来分割您的邮件。