首页 > 解决方案 > 为什么我的 metricbeat 扩展忽略我在 Kibana docker 中的 ActiveMQ 代理主机配置?

问题描述

我正在尝试使用 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 实例的主机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

有没有理由可以忽略我的配置?

标签: dockerkibanametricbeat

解决方案


翻阅文档后,我看到对于 Linux,与其他操作系统不同,您还必须更改模块目录中的配置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  

推荐阅读