Hi All,
I would like to do multiple output to elasticsearch by logstash conf, but the following syntax of logstash conf seems incorrect
I check redis (redis-cli monitor) received two keys miki and miki2, and sent it to logstash center, but following logstash conf didn't write miki or miki2 to elasticsearch, am I missing something?
input {
redis {
host => "redis"
port => 6379
type => "redis-input"
data_type => "list"
key => "miki"
}
redis {
host => "redis"
port => 6379
type => "redis-input"
data_type => "list"
key => "miki2"
}
}
output {
stdout { codec => rubydebug }
if [key] == "miki" {
elasticsearch {
cluster => "elasticsearch"
host => "elasticsearch"
codec => "json"
protocol => "http"
user => "es_admin"
password => "iiiiii"
}
}
if [key] == "miki2" {
elasticsearch {
host => "elasticsearch"
codec => "json"
protocol => "http"
user => "es_admin"
password => "iiiiii"
index => "franky"
}
}
}
Jason
warkolm
(Mark Walkom)
August 17, 2015, 7:06am
2
Why does it seem incorrect?
Hi Mark,
because the logstash center doesn't write miki or miki2 to elasticsearch, if I comment some line, it can be work, the following content only writes one index
input {
redis {
host => "redis"
port => 6379
type => "redis-input"
data_type => "list"
key => "miki"
}
# redis {
# host => "redis"
# port => 6379
# type => "redis-input"
# data_type => "list"
# key => "miki2"
# }
}
output {
stdout { codec => rubydebug }
# if [key] == "miki" {
elasticsearch {
# cluster => "elasticsearch"
host => "elasticsearch"
codec => "json"
protocol => "http"
user => "es_admin"
password => "iiiiii"
}
# }
# if [key] == "miki2" {
# elasticsearch {
# cluster => "elasticsearch"
# host => "elasticsearch"
# codec => "json"
# protocol => "http"
# user => "es_admin"
# password => "iiiiii"
# index => "franky"
#
# }
# }
}
warkolm
(Mark Walkom)
August 17, 2015, 7:35am
4
That's still not clear.
Is it not creating a logstash-YYYY.MM.DD
index for miki
of the franky
index for miki2
?
Hi Mark,
Yes, it doesn't create any index as my previous logstash conf content post
It works fine as my 2nd post (comment someline)
$tail -f /var/log/logstash/logstash.log
{:timestamp=>"2015-08-18T13:55:23.817000+0800", :message=>"Failed to flush outgoing items", :outgoing_count=>21, :exception=>#<Manticore::SocketException: Connection refused>, :backtrace=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/manticore-0.4.1-java/lib/manticore/response.rb:35:in `initialize'", "org/jruby/RubyProc.java:271:in `call'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/manticore-0.4.1-java/lib/manticore/response.rb:61:in `call'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/manticore-0.4.1-java/lib/manticore/response.rb:225:in `call_once'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/manticore-0.4.1-java/lib/manticore/response.rb:128:in `code'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.12/lib/elasticsearch/transport/transport/http/manticore.rb:71:in `perform_request'", "org/jruby/RubyProc.java:271:in `call'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.12/lib/elasticsearch/transport/transport/base.rb:190:in `perform_request'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.12/lib/elasticsearch/transport/transport/http/manticore.rb:54:in `perform_request'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/elasticsearch-transport-1.0.12/lib/elasticsearch/transport/client.rb:119:in `perform_request'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/elasticsearch-api-1.0.12/lib/elasticsearch/api/actions/bulk.rb:80:in `bulk'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-1.0.1-java/lib/logstash/outputs/elasticsearch/protocol.rb:103:in `bulk'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-1.0.1-java/lib/logstash/outputs/elasticsearch.rb:505:in `submit'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-1.0.1-java/lib/logstash/outputs/elasticsearch.rb:504:in `submit'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-1.0.1-java/lib/logstash/outputs/elasticsearch.rb:529:in `flush'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-1.0.1-java/lib/logstash/outputs/elasticsearch.rb:528:in `flush'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/stud-0.0.20/lib/stud/buffer.rb:219:in `buffer_flush'", "org/jruby/RubyHash.java:1341:in `each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/stud-0.0.20/lib/stud/buffer.rb:216:in `buffer_flush'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/stud-0.0.20/lib/stud/buffer.rb:112:in `buffer_initialize'", "org/jruby/RubyKernel.java:1511:in `loop'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/stud-0.0.20/lib/stud/buffer.rb:110:in `buffer_initialize'"], :level=>:warn}
{:timestamp=>"2015-08-18T13:55:24.825000+0800", :message=>"Got error to send bulk of actions: Connection refused", :level=>:error}