根据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 host而不是环境变量值。我该如何解决?
答案 0 :(得分:1)
您输入了错字,@echo off
setlocal enabledelayedexpansion
for %%f in (C:\Users\CHRW\Desktop\EDILocalTest\*.edi) do (
SET "output=C:\Users\CHRW\Desktop\EDILocalTest\Output\"
for %%a in (%%f) do (
set "outputfile=!output!%%~na_update%%~xa"
)
(for /f "delims=" %%i in (%%f) do (
set "line=%%i"
setlocal enabledelayedexpansion
set "line=!line:'=^!"
echo(!line!
endlocal
))>> !outputfile!
)
中缺少s
。
在整个环境变量定义中也使用双引号,在主机值周围使用单引号,例如:
output.elasticsearch.hosts
以上示例直接取自有关global flags的官方文档。