Я новичок в ELK и никогда раньше не использовал AWS Elasticsearch.
Я пытаюсь перенести данные с сервера mysql на awsasticsearch с помощью logstash.
Однако я получилошибка, говорящая что-то вроде этого:
[ERROR][logstash.pipeline ] Error registering plugin {:pipeline_id=>"main", :plugin=>"<LogStash::OutputDelegator:0x3ad80dbe>", :error=>"undefined method `credentials' for nil:NilClass", :thread=>"#<Thread:0x1cddccdd run>"}
[ERROR][logstash.pipeline ] Pipeline aborted due to error {:pipeline_id=>"main", :exception=>#<NoMethodError: undefined method `credentials' for nil:NilClass>,
[ERROR][logstash.agent ] Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}
[ERROR][logstash.agent ] Failed to execute action {:action=>LogStash::PipelineAction::Stop/pipeline_id:main, :exception=>"NoMethodError", :message=>"undefined method `unlock' for nil:NilClass"
Я установил плагин aws logstash, используя:
bin/logstash-plugin install logstash-output-amazon_es
И мой конфигурационный файл следующий:
input {
jdbc {
jdbc_driver_library => "/library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/lib/mysql-connector-java-8.0.13.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql:SOMETHING"
jdbc_user => "USER"
jdbc_password => "PASSWORD"
statement => "select * from TABLE_NAME"
}
}
output {
amazon_es {
hosts => ["MY_AWS_ES_DOMAIN"]
region => "REGION"
index => "INDEX_NAME"
document_type => "TYPE"
}
stdout {
codec => rubydebug
}
}
Пожалуйстапомогите мне найти выход из этого: '((Заранее большое спасибо!
Спасибо, Сэм