Filebeat yml 文件在 AWS Beanstalk 中获取环境变量值

问题描述

TL:DR; 如何将 AWS Beanstalk 中环境变量的值获取到 filebeat.yml 文件配置中?

我有 3 个 Beanstalk 环境;开发、测试、分期。每个环境都有一个日志文件,格式为 brainwaves-*.log 。 * 随环境变化。

我正在其中之一中配置 FileBeat 7.8 版。我已经安装了 FileBeat,现在正在修改 /etc/filebeat/filebeat.yml 文件。我需要 FileBeat 从该环境的日志文件获取输入:

filebeat.inputs:
- type: log
  enabled: true
  paths:
   - /home/webapp/brainwaves-'${/opt/elasticbeanstalk/bin/get-config environment -k BRAINWAVES-ENV-TYPE}'.log 

在这里,我需要做的是,获取名为 BRAINWAVES-ENV-TYPE(位于文件 /opt/elasticbeanstalk/bin/get-config)的环境变量的值,并使用该值来确定FileBeat 的输入路径。环境变量 BRAINWAVES-ENV-TYPE 已经由我自己设置,可以保存以下值之一:DEV、TEST、STAGING。因此,如果文件部署到 STAGING Beanstalk 环境中,则输入路径应如下所示:

/home/webapp/brainwaves-STAGING.log 

这样 FileBeat 将从脑波-STAGING.log 文件中收集输入。

然而,这种配置使filebeat 服务失败。那么我应该对我的语法做哪些修改

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...