2017-02-24 3 views
2

Ich versuche, dies auszuführen:Fehler bei elasticsearch_http Logstash

input { 
    twitter { 
     # add your data 
     consumer_key => "shhhhh" 
     consumer_secret => "shhhhh" 
     oauth_token => "shhhhh" 
     oauth_token_secret => "shhhhh" 
     keywords => ["words"] 
     full_tweet => true 
    } 
} 
output { 
    elasticsearch_http { 
     host => "shhhhh" 
     index => "idx_ls" 
     index_type => "tweet_ls" 
    } 
} 

Dies ist der Fehler, den ich habe:

Sending Logstash's logs to /usr/local/Cellar/logstash/5.2.1/libexec/logs which is now configured via log4j2.properties 
[2017-02-24T04:48:03,060][ERROR][logstash.plugins.registry] Problems loading a plugin with {:type=>"output", :name=>"elasticsearch_http", :path=>"logstash/outputs/elasticsearch_http", :error_message=>"NameError", :error_class=>NameError, :error_backtrace=>["/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/plugins/registry.rb:221:in `namespace_lookup'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/plugins/registry.rb:157:in `legacy_lookup'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/plugins/registry.rb:133:in `lookup'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/plugins/registry.rb:175:in `lookup_pipeline_plugin'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/plugin.rb:129:in `lookup'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/pipeline.rb:452:in `plugin'", "(eval):12:in `initialize'", "org/jruby/RubyKernel.java:1079:in `eval'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/pipeline.rb:98:in `initialize'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/agent.rb:246:in `create_pipeline'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/agent.rb:95:in `register_pipeline'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/runner.rb:264:in `execute'", "/usr/local/Cellar/logstash/5.2.1/libexec/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/local/Cellar/logstash/5.2.1/libexec/logstash-core/lib/logstash/runner.rb:183:in `run'", "/usr/local/Cellar/logstash/5.2.1/libexec/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/local/Cellar/logstash/5.2.1/libexec/lib/bootstrap/environment.rb:71:in `(root)'"]} 
[2017-02-24T04:48:03,073][ERROR][logstash.agent   ] fetched an invalid config {:config=>"input { \n twitter {\n  # add your data\n  consumer_key => \"shhhhh\"\n  consumer_secret => \"Shhhhhh\"\n  oauth_token => \"shhhh\"\n  oauth_token_secret => \"shhhhh\"\n  keywords => [\"word\"]\n  full_tweet => true\n }\n}\noutput { \n elasticsearch_http {\n  host => \"shhhhh.amazonaws.com\"\n  index => \"idx_ls\"\n  index_type => \"tweet_ls\"\n }\n}\n", :reason=>"Couldn't find any output plugin named 'elasticsearch_http'. Are you sure this is correct? Trying to load the elasticsearch_http output plugin resulted in this error: Problems loading the requested plugin named elasticsearch_http of type output. Error: NameError NameError"} 

Ich habe versucht, elasticsearch_http Installation aber es tut ein Paket zu sein scheint . Ive versuchte auch

logstash-Plugin logstash-input-Elasticsearch und logstash-Plugin installieren logstash-output-Elasticsearch

, die aber den gleichen Fehler bekam installieren tat installieren.

Völlig neu zu logstash, so könnte dies sehr einfach sein. Ich versuche, diese https://www.rittmanmead.com/blog/2015/08/three-easy-ways-to-stream-twitter-data-into-elasticsearch/

Ich habe versucht, die Antwort von Val zu folgen und bekam dies:

[2017-02-24T05:12:45,385][WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>#<URI::HTTP:0x4c2332e0 URL:http://shhhhh:9200/>, :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [http://sshhhhhh:9200/][Manticore::ConnectTimeout] connect timed out"} 

ich auf die URL gehen kann und ich eine Antwort auf Browser bekommen und ich setze auf Berechtigungen so Im nicht offen sicher, was das Problem damit wäre.

Antwort

1

Der Ausgang elasticsearch_http ist nicht mehr aktiv. Sie müssen stattdessen den elasticsearch-Ausgang verwenden.

elasticsearch { 
    hosts => "localhost:9200" 
    index => "idx_ls" 
    document_type => "tweet_ls" 
} 
+0

versucht und es hat nicht funktioniert. Bitte sehen Sie mein Update, danke! – Bren

+0

Entschuldigung, ich hatte den falschen Namen kopiert/eingefügt, bitte versuchen Sie es erneut – Val

+0

Ich sah das und änderte es, als ich es versuchte. – Bren

0

Nur eine Ergänzung zu @ Vals Antwort. Was passiert, wenn Sie Ihren hosts Parameter ohne den Hafen haben:

output {   
     elasticsearch {   
      index => "idx_ls" 
      document_type => "tweet_ls" 
      hosts => "localhost"    
     } 
} 

standardmäßig ES läuft auf Port so müssen Sie nicht explizit um es einzurichten.

+0

Ich bekomme einen Timeout-Fehler dabei. – Bren

+0

Wenn Sie den Port nicht angeben, wird es standardmäßig 80 nehmen – Val

+0

@Val Oh ich dachte ES läuft normalerweise auf 9200. Sah es hier [zu] (https://www.elastic.co/guide/en/ elasticsearch/guide/aktuelle/_talking_to_elasticsearch.html # _restful_api_with_json_over_http) – Kulasangar

Verwandte Themen