(Metricbeat 6.6.2 linux)
看来,如果我有此配置:
metricbeat.yml:
metricbeat.config.modules:
path: ${path.config}/${MYAPPENVIRONMENT}/*.yml
reload.enabled: true
name: "myapp-jmx-metricbeat"
fields:
mycompany.application: "myapp"
myapplication.environment: "${MYAPPENVIRONMENT}"
,然后输入: $ {path.config} / $ {MYAPPENVIRONMENT} /myapplication1.jmx.yml:
- module: jolokia
metricsets: ["jmx"]
period: 1s
hosts: ["myhost:myport"]
namespace: "metrics"
fields:
myapplication.application.type: "tomcat"
myapplication.application.name: "brilliantapp"
myapplication.application.instance: "0"
...*lots of jmx stuff*
metricbeat生成的事件不包含“ fields.myapplication.environment”。
经过多次试验和错误,看来metricbeat.yml'fields.myapplication'字典(如果您要称呼它)被清除,并替换为模块jmx yml中的'fields.myapplication'条目。
我们的解决方法是将公用的“ myapplication.environment”从metricbeat.yml移到所有模块文件中。在metricbeat文档中看不到任何可以解释该问题的信息