logstash не загружает журналы в AWS Elasticsearch - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь переместить мои журналы с logstash наasticsearch, но это не удается. вот мой файл logstash.conf:

input {
            file {
                    path => "D:/shweta/ELK_poc/test3.txt"
                    start_position => "beginning"
                    sincedb_path => "NUL"
                    ignore_older => 0
                }}

    output {
        elasticsearch {
            hosts => [ "https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com" ]
            index => "testindex4-5july"
            document_type => "test-file"
        }
    } 

Конечная точка ES, которую я указал в хостах, открыта, поэтому не должно быть доступа, но она все равно выдает следующую ошибку:

_[2018-07-05T13:59:05,753][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com:9200/, :path=>"/"}_
_[2018-07-05T13:59:05,769][WARN ][logstash.outputs.elasticsearch] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError, :error=>"Elasticsearch Unreachable: [https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com:9200/][Manticore::ResolutionFailure] This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server (search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com)"}_

Я застрял здесь. Но когда я скачал ES, установил его на свою машину и запустил локально, заменив хосты: hosts => [ "localhost:9200" ], в результате все работало хорошо, передавая данные локальным es:

Я пробовал много способов, но не смог решить проблему, может кто-нибудь, пожалуйста, помогите. Я не хочу давать localhost, но конечную точку домена AWS ES. Любые советы или рекомендации будут высоко оценены

Спасибо заранее Shweta

1 Ответ

0 голосов
/ 06 июля 2018

На мой взгляд, вам просто нужно явно добавить порт 443, и он будет работать. Я думаю, что elasticsearch плагин вывода автоматически использует порт 9200 , если порт явно не указан.

    elasticsearch {
        hosts => [ "https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com:443" ]
        index => "testindex4-5july"
        document_type => "test-file"
    }

В качестве альтернативы можно было бы не добавлять порт, а указать ssl => true, как показано в официальных документах AWS ES

    elasticsearch {
        hosts => [ "https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com" ]
        index => "testindex4-5july"
        document_type => "test-file"
        ssl => true
    }
...