elasticsearch logstash不将日志推送到AWS Elasticsearch,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch logstash不将日志推送到AWS Elasticsearch,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch logstash不将日志推送到AWS Elasticsearch

elasticsearch logstash不将日志推送到AWS Elasticsearch,elasticsearch,logstash,elasticsearch,Logstash,我试图将日志从logstash推送到elasticsearch,但失败了。这是我的logstash.conf文件: input { file { path => "D:/shweta/ELK_poc/test3.txt" start_position => "beginning" sincedb_path => "NUL"

我试图将日志从logstash推送到elasticsearch,但失败了。这是我的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"
        }
    } 
我在hosts中提供的ES端点是开放的,因此不应该有访问ISSUE,但它仍然会给出以下错误:

_[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

在我看来,您只需显式添加端口443,它就可以工作了。我认为如果没有明确给出端口,
elasticsearch
output插件

    elasticsearch {
        hosts => [ "https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com:443" ]
        index => "testindex4-5july"
        document_type => "test-file"
    }
另一种方法是不添加端口,而是指定
ssl=>true
,如


为什么您没有在
主机中提供端口号?i、 e
9200
?@SufiyanGhori AWS ES在端口443(SSL)上工作,因此这是正确的。如果运气好,我们可以从AWS之外的机器将数据摄取到amazon ES实例中吗?当摄入源不是EC2实例时,我面临着类似的问题。但我可以查询索引。
    elasticsearch {
        hosts => [ "https://search-test-domain2-2msy6ufh2vl2ztfulhrtoat6hu.us-west-2.es.amazonaws.com" ]
        index => "testindex4-5july"
        document_type => "test-file"
        ssl => true
    }