logstash: elasticsearch output plugin with user, password

c4fiber·2024년 12월 17일
0

udemy elasticsearch

목록 보기
1/1

ElasticSearch 8을 설치하면서 id, password를 설정하면 많은 귀찮음이 따릅니다.

curl -XGET, curl -POST, curl -XDELETE 등 HTTP Request를 전송할 때
1. Auth Header를 추가해주거나
2. url를 조금 변경하여 user:password@localhost:9200 로 요청보내기 처럼요

logstash에서 elasticsearch plugin을 사용할때도 동일하게 적용됩니다.
하나 다른점은 url 앞에 id:password를 넣는 방식은 사용이 불가능합니다.
url을 정상적으로 인식하지 못합니다.

[Converge PipelineAction::Create<main>] agent - Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::JavaLang::IllegalStateException", :message=>"Unable to configure plugins: (ArgumentError) URI is not valid - host is not specified", :backtrace=>["org.logstash.config.ir.CompiledPipeline.<init>(CompiledPipeline.java:137)"

elasticsearch plugin field에 user, password를 넣어줍니다.

# logstash/conf.d/mysql.conf 

output {
        stdout { codec => rubydebug }
        elasticsearch {
                hosts => ["localhost:9200"]
                user => "<id>"
                passowrd => "<password>"
                index => "movielens-sql"
        }
}

Bingo!

profile
amazing idiot

0개의 댓글