我使用logstash:7.9.1图像使用logstash,当我启动docker-compose时出现此错误,我不知道该怎么办(我尝试使logstash配置错误并将其连接到错误的 flex 端口,但我的 docker 仍然连接到9200,所以我认为它没有从我的logstash配置中读取其数据)请帮助meeeee !!!
我的错误:
[logstash.licensechecker.licensereader] Attempted to resurrect connection to dead ES instance, but got an error. {:url=>"http://elasticsearch:9200/", :error_type=>LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError, :error=>"Got response code '401' contacting Elasticsearch at URL 'http://elasticsearch:9200/'"}
我的 docker 组成: zookeeper:
image: wurstmeister/zookeeper:3.4.6
container_name: zookeeper
ports:
- 2181:2181
networks:
- bardz
kafka:
image: wurstmeister/kafka:2.11-1.1.0
container_name: kafka
depends_on:
- zookeeper
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_CREATE_TOPICS: logs-topic:1:1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
ports:
- 9092:9092
volumes:
- kofka-volume:/var/run/docker.sock
networks:
- bardz
elasticsearch:
build:
context: elk/elasticsearch/
args:
ELK_VERSION: "7.9.1"
volumes:
- type: bind
source: ./elk/elasticsearch/config/elasticsearch.yml
target: /usr/share/elasticsearch/config/elasticsearch.yml
read_only: true
- type: volume
source: elasticsearch
target: /usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
ELASTIC_PASSWORD: changeme
# Use single node discovery in order to disable production mode and avoid bootstrap checks
# see https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html
discovery.type: single-node
networks:
- bardz
logstash:
image: logstash:7.9.1
restart: on-failure
ports:
- "5000:5000/tcp"
- "5000:5000/udp"
- "9600:9600"
volumes:
- logstash_data:/bitnami
- ./elk/logstash/logstash-kafka.conf:/opt/bitnami/logstash/config/logstash-kafka.conf
environment:
LOGSTASH_CONF_FILENAME: logstash-kafka.conf
networks:
- bardz
depends_on:
- elasticsearch
networks:
bardz:
external: true
driver: bridge
volumes:
elasticsearch:
zipkin-volume:
kofka-volume:
logstash_data:
我的logstash配置:
input {
kafka {
bootstrap_servers => "kafka:9092"
topics => ["logs-topic"]
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
user => elastic
password => changeme
index => "logs-topic"
workers => 1
}
}
最佳答案
您在7.9t中使用了错误的elastic
用户密码,该密码已从changeme
更改为password
,如ES contribution doc所示,但是我尝试过,并且这似乎仅在您从源代码运行ES时有效。
无论如何,您都会收到401表示取消验证访问权限,并且可以阅读更多关于它的信息here,
由于您不是从源代码运行ES代码,因此建议您按照this线程中提到的步骤更改密码,并在docker中运行它时,您需要通过docker exec -it <cont-id> /bin/bash
进入docker容器,然后运行提到的命令在线程中设置自己的密码。
关于elasticsearch - BadResponseCodeError,:error = >"Got response code ' 401'通过URL联系Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63913279/