Я могу подключиться к серверу elasti c, используя curl, как показано ниже.
# curl --user "root:xxxxx" https://search-testme-gvzxezayzzc4pcw2xcyvndb6jq.us-east-1.es.amazonaws.com/_aliases
Я получил ожидаемый ответ, и это означает, что учетные данные верны.
{".kibana_3506402_root":{"aliases":{}},".opendistro_security":{"aliases":{}},".kibana_1":{"aliases":{".kibana":{}}}}
Но те же учетные данные не работают в packetbeat
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["search-testme-gvzxezayzzc4pcw2xcyvndb6jq.us-east-1.es.amazonaws.com:80"]
# Optional protocol and basic auth credentials.
protocol: "https"
username: "root"
password: "xxxxx"
Согласно журналам, он пытается подключиться к порту 9200, даже если порт 80 указан в файле конфигурации.
# tail /var/log/packetbeat/packetbeat
2020-03-01T13:56:03.234Z ERROR pipeline/output.go:100 Failed to connect to backoff(elasticsearch(https://search-testme-gvzxezayzzc4pcw2xcyvndb6jq.us-east-1.es.amazonaws.com:9200)): Get https://search-testme-gvzxezayzzc4pcw2xcyvndb6jq.us-east-1.es.amazonaws.com:9200: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
2020-03-01T13:56:03.234Z INFO pipeline/output.go:93 Attempting to reconnect to backoff(elasticsearch(https://search-testme-gvzxezayzzc4pcw2xcyvndb6jq.us-east-1.es.amazonaws.com:9200)) with 10 reconnect attempt(s)
Как подключиться к AWS elasti c с помощью открытого дистрибутива через packagebeat? Подобная конфигурация работает без проблем, если я использую облако elasti c, размещенное на AWS.