How to configure graylogs from logstash output

Hi
I am new to graylogs and I am using graylogs 3.0 version
I am using logstash to parse logs and now willing to ingest in graylogs via GELF plugin,
currently logstash configuration file look like this

input {
beats {
port => 5000
codec => “json”
}
}
output {
gelf {
host => “localhost”
port => 12201
}
}

and in gray logs use system => input GELF UDP

but i am getting error in logstash logs
[WARN ][logstash.outputs.gelf ] Trouble sending GELF event {:gelf_event=>{"short_message"=>nil, "full_message"=>"%{message}", "host"=>"%{host}", "_Response_status"=>"200", "_Crawl_bot"=>"false", "level"=>6}, :event=>#<LogStash::Event:0x10dce8b1>, :error=>#<ArgumentError: short_message is missing. Options version, short_message and host must be set.>}

I have’t idea what i done wrong
please help

short_message is missing. Options version, short_message and host must be set.

Just as a tip.

Also, why bother with Logstash? Graylog has a perfectly capable Beats input that you can point filebeat at.

got it i corrected it
and
also thanks for suggestion for using filebeat
its lowring CPU overhead.