【问题标题】:Can't make Metricbeat use passed env variable无法让 Metricbeat 使用传递的环境变量
【发布时间】:2019-12-09 03:06:29
【问题描述】:

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

【问题讨论】:

    标签: docker elasticsearch elastic-stack metricbeat


    【解决方案1】:

    您打错了,output.elasticsearch.hosts 中缺少s

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

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

    以上示例直接取自官方文档global flags

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 2021-06-25
      • 2018-09-18
      • 1970-01-01
      • 2018-12-02
      • 2013-12-29
      • 1970-01-01
      相关资源
      最近更新 更多