docker - 无法使Metricbeat使用传递的env变量

标签 docker elasticsearch elastic-stack metricbeat

根据official documentation(版本7.2.0),我正在尝试在docker中运行metricbeat服务。这是我对setup的bash命令:

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主机而不是环境变量值。我该如何解决?

最佳答案

您输入了错误,s中缺少output.elasticsearch.hosts

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

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

上面的示例直接取自有关global flags的官方文档。

关于docker - 无法使Metricbeat使用传递的env变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57293408/

相关文章:

docker - 如何在群体模式下通过流利的收集日志

docker - 如何备份docker swarm mode服务配置进行容灾

sorting - Elasticsearch 对字符串本身中的单词进行排序,而不是对整体结果进行排序

elasticsearch - Elasticsearch中的关键字匹配(完全匹配)忽略了关键字的顺序

elasticsearch - 如何在Logstash中编写grok模式

linux - 运行 Alpine Linux 的 Docker 容器中 rrdgraph 中的自定义字体

elasticsearch - 在Django中使用Elasticsearch复制

elasticsearch - Elasticsearch无痛脚本按值获取嵌套字段?

elasticsearch - 脚本过滤器字段值在数组中

docker - 如何获得Kubernetes yaml中所有图像的解析sha摘要?