Logstash sending /var/log/messages to Elastic

Hi Everyone,

I am using the following 6.x stack:

Filebeat -> Logstash -> Elastic -> Kibana

I am trying to configure filebeat/logstash to send a specific logfile only to Elastic. Right now it appears to be sending everything.

When I look in Kibana I see most messages from /var/log/messages.

Filebeat config:

filebeat.inputs:

  • type: log
    enabled: true
    paths:
    #- /var/log/*.log
    • /var/log/nginx/app.access.log
      #- c:\programdata\elasticsearch\logs*

output.logstash:
hosts: ["localhost:5044"]
index: logstash

Logstash Config:

input {
beats {
port => "5044"
}
}

filter {
grok {
match => {"message" => '%{IP:client} - %{USERNAME:username} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{DATA: http_x_forwarded_for} %{DATA:gzip_ratio} rt=%{NUMBER:request_time} uct=%{NUMBER:upstream_connect_time} uht=%{NUMBER:upstream_header_time} urt=%{NUMBER:upstream_response_time} %{NUMBER:user_id}'}
}
grok {
match => {"request" => "/dataset/%{NUMBER:dataset_id}"}
}
kv {
source => "request"
field_split => "&?"
transform_key => "lowercase"
}
if "/search" in [request] and [q] {
mutate {add_field => {"search_action" => "search" }}
}
if [request] =~ "/dataset/%{NUMBER:dataset_id}" {
mutate {add_field => {"dataset_id" => dataset_id}}
}
mutate {
convert => {
"user_id" => "integer"
"dataset_id" => "integer"
}
}
}

output {
elasticsearch {
codec => "json"
hosts => ["127.0.0.1:9200"]
}
stdout { codec => rubydebug }
}

With this configuration I should only be getting /var/log/nginx/app.access.log data sent to elastic?

Within Kibana I see all activity from multiple log files:

/var/log/messages
/var/log/secure

Any ideas why this happening as I can't really find any solutions to this?

Thanks

Have you restarted beats since making that configuration change?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.