作为服务启动时,Filebeat 未替换 windows 上的环境变量

Filebeat not replacing environment variable on windows when started as a service

我正在尝试在 Windows 10 机器上使用 filebeat 运行。

在我的配置中,我有一些环境变量,例如:

filebeat.inputs:
- type: log
  enable: true
  paths:
    - '${My_Env_Variable}\logs\data.log*'

当我通过命令行启动 filebeat 时一切正常:filebeat.exe -e -v。但是当我作为服务开始时:Start-Service filebeat 我的日志中有以下错误:

2018-07-16T16:57:19.545+0200 ERROR instance/beat.go:691 Exiting: Error in initing input: missing field accessing 'filebeat.inputs.0.paths.0' (source:'C:\Program Files\Filebeat\filebeat.yml')

我试过使用单引号、双引号或根本不使用引号。

这可能是这个问题的重复:Environment Variable replacement in Logstash when running as a service in Ubuntu

感谢您的帮助!

当 filebeat 作为服务启动时,用户是 root,因此请确保您的环境变量是系统范围的