为什么我的 metricbeat 扩展会忽略我在 Kibana docker 中的 ActiveMQ 代理主机配置?

Why does my metricbeat extension ignore my ActiveMQ broker host configuration in Kibana docker?

我正在尝试使用 ActiveMQ 设置本地 Kibana 实例以进行测试。我创建了一个名为 elastic-network 的 docker 网络。我的网络中有 3 个容器:elasticsearch、kibana,最后是 activemq。在我的 kibana 容器中,我使用以下 shell 命令

下载了 metric beats
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.11.2-linux-x86_64.tar.gz

在配置文件 metricbeat.reference.yml 中,我已经为我的 ActiveMQ 实例 运行ning 在容器 activemq

下更改了主机
- module: activemq
  metricsets: ['broker', 'queue', 'topic']
  period: 10s
  hosts: ['activemq:8161']
  path: '/api/jolokia/?ignoreErrors=true&canonicalNaming=false'
  username: admin # default username
  password: admin # default passwor

当我 运行 metricbeat 使用详细参数 ./metricbeat -e 时,我收到一些错误提示 ActiveMQ API 无法访问。我的问题是 metricbeat 忽略了我的活动 mq 代理配置并尝试连接到 localhost.

为什么我的配置会被忽略?

看了文档后,我看到 Linux 不像其他 OS,你还必须更改模块目录 module.d/activemq.yml 中的配置,而不仅仅是metricbeat.reference.yml

# Module: activemq
# Docs: https://www.elastic.co/guide/en/beats/metricbeat/7.11/metricbeat-module-activemq.html

- module: activemq
  metricsets: ['broker', 'queue', 'topic']
  period: 10s
  hosts: ['activemq:8161']
  path: '/api/jolokia/?ignoreErrors=true&canonicalNaming=false'
  username: admin # default username
  password: admin # default password