# Syslog filter configuration in logstash

**URL:** <https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816>\
**Category:** Logstash\
**Created:** [December 6, 2018, 11:40pm UTC](https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816 "2018-12-06T23:40:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![David\_Moreno](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@David\_Moreno](https://discuss.elastic.co/u/David_Moreno)\
**Post date:** [December 6, 2018, 11:40pm UTC](https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816/1 "2018-12-06T23:40:50Z")

</div>

Hello,

I'm trying to format my raw syslog data into elk using logstash but getting in error.

Failed to execute action {:action=\>LogStash::PipelineAction::Create/pipeline\_id:main, :exception=\>"LogStash::ConfigurationError", :message=\>"Expected one of #, =\> at line 35, column 12 (byte 1144) after output {\n elasticsearch {\n hosts =\> ["localhost:9200"]\n stdout ", :backtrace=\>["/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:41:in `compile_imperative'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:49:in`compile\_graph'", "/usr/share/logstash/llogstash-core/lib/logstash/compiler.rb:11:in `block in compile_sources'", "org/jruby/RubyArray.java:2486:in`map'", "/usr/share/logstash/logstash-core/lib/logstash/compiler.rb:10:in`compile_sources'", "org/logstash/execution/AbstractPipelineExt.java:149:in`initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:22:in `initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:90:in`initialize'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline\_action/create.rb:38:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:309:in`block in converge\_state'"]}

```
filter {
if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => ["received_at", "%{@timestamp}"]
      add_field => ["received_from", "%{host}"]
    }
    syslog_pri { }
    date {
      match => ["syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss"]
    }
  }
}
```

---

<div class="post-metadata">

**Author:** ![NerdSec](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nerdsec/32/22056_2.png) [@NerdSec](https://discuss.elastic.co/u/NerdSec)\
**Post date:** [December 7, 2018, 4:08am UTC](https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816/2 "2018-12-07T04:08:05Z")

</div>

Hi David,

The issue seems to be here:

> [@David\_Moreno](#):
>
> message=\>"Expected one of #, =\> at line 35, column 12 (byte 1144) after output {\n elasticsearch {\n hosts =\> ["localhost:9200"]\n stdout ",

What is your complete config?

---

<div class="post-metadata">

**Author:** ![David\_Moreno](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@David\_Moreno](https://discuss.elastic.co/u/David_Moreno)\
**Post date:** [December 7, 2018, 4:31pm UTC](https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816/3 "2018-12-07T16:31:17Z")

</div>

`Preformatted text`  
input {  
beats {  
port =\> 5044  
}  
}

filter {  
if [type] == "syslog" {  
grok {  
match =\> { "message" =\> "%{SYSLOGTIMESTAMP:syslog\_timestamp} %{SYSLOGHOST:syslog\_hostname} %{DATA:syslog\_program}(?:[%{POSINT:syslog\_pid}])?: %{GREEDYDATA:syslog\_message}" }  
add\_field =\> ["received\_at", "%{@timestamp}"]  
add\_field =\> ["received\_from", "%{host}"]  
}  
syslog\_pri { }  
date {  
match =\> ["syslog\_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss"]  
}  
}  
}

output {  
elasticsearch {  
hosts =\> ["localhost:9200"]  
stdout { codec =\> rubydebug }  
}  
}

`Preformatted text`

---

<div class="post-metadata">

**Author:** ![NerdSec](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nerdsec/32/22056_2.png) [@NerdSec](https://discuss.elastic.co/u/NerdSec)\
**Post date:** [December 13, 2018, 6:54am UTC](https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816/4 "2018-12-13T06:54:52Z")

</div>

Hi David,

> [@David\_Moreno](#):
>
> stdout { codec =\> rubydebug }

The stdout section should be outside the elasticsearch output.

It will look like this:

```auto
output {
	elasticsearch {
		hosts => ["localhost:9200"]
	}
  	stdout { codec => rubydebug }
}

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [January 10, 2019, 6:55am UTC](https://discuss.elastic.co/t/syslog-filter-configuration-in-logstash/159816/5 "2019-01-10T06:55:01Z")

</div>

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