docker - 为什么我的 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。
有没有理由可以忽略我的配置?
解决方案
翻阅文档后,我看到对于 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
推荐阅读
- java - Android Butterknife 实现错误说 compile 已过时并已替换为 'implementation' 和 'api'
- python - 将下一个单词从python中的文本文件附加到列表中并按列打印
- python - 两个查询集和 django 有什么区别?
- javascript - 使用复选框提交特定输入
- c++ - C++ 中特定对象的多线程
- python - TensorFlow Object Detection API Mask-RCNN 训练导致OOM错误
- webrtc - WebRtc 流而不损失质量
- java - java ee 使用 Morphia 时如何防止没有 sql 注入?
- python - 如何使用 python ISBNLIB 元方法捕获错误并继续
- python - 将 BDP 公式转换为 tia