2

metricbeat根据官方文档(版本 7.2.0) ,我正在尝试在 docker 中运行服务。这是我的 bash 命令setup

docker run -d --name=metricbeat docker.elastic.co/beats/metricbeat:7.2.0 setup\
 -e setup.kibana.host=http://XXX.XXX.XXX.XXX:5601\
 -e output.elasticsearch.host=["XXX.XXX.XXX.XXX:9200"]\
 -e output.elasticsearch.password=XXXXXXXX

如您所见,我正在传递output.elasticsearch.host变量,它绝对不等于默认值。但这是metricbeat容器日志的一部分:

2019-07-31T14:32:40.335Z        INFO    elasticsearch/client.go:166     Elasticsearch url: http://elasticsearch:9200

这意味着metricbeat使用默认的 Elastic 主机而不是环境变量值。我该如何解决?

4

1 回答 1

1

你打错字了,里面少了s一个output.elasticsearch.hosts

在整个环境变量定义周围使用双引号,在主机值周围使用单引号,例如:

-E "output.elasticsearch.hosts=['http://myhost:9200']"

上面的例子直接取自关于全局标志的官方文档。

于 2019-07-31T15:57:33.767 回答