是否需在远程Prometheus集群部署Metricbeat以向ELK拉取数据?
问题咨询
我需要通过Metricbeat的Prometheus模块,从外部网络的远程Prometheus主机向ELK集群拉取数据。目前已经将远程Prometheus主机名填入Metricbeat Prometheus模块配置的hosts字段中,想咨询:是否需要在远程Prometheus集群中也安装Metricbeat才能拉取数据,还是仅修改配置即可实现?
解答
不需要在远程Prometheus集群中安装Metricbeat,仅需正确配置部署在本地(可访问ELK集群和远程Prometheus的节点)的Metricbeat Prometheus模块即可实现数据拉取。
Metricbeat的Prometheus模块采用主动拉取模式:它会直接调用远程Prometheus暴露的HTTP API接口(默认端口9090)获取监控数据,再将数据发送至ELK集群。只要满足两个前提条件即可正常工作:
- 部署Metricbeat的节点能够通过网络访问到远程Prometheus的API端口
- Metricbeat的Prometheus模块配置正确(包括目标hosts、查询语句等参数)
参考配置示例
- module: prometheus period: 10s # 替换为你的远程Prometheus主机地址 hosts: ["remote-prometheus:9090"] metricsets: ["query"] queries: - name: 'up' path: '/api/v1/query' params: query: "up"
参考资料
- Elastic官方文档:Metricbeat配置指南
- Elastic官方文档:Metricbeat Prometheus模块说明
内容的提问来源于stack exchange,提问作者Santosh Kumar Panigrahy_HCL
相关产品推荐
相关产品推荐

