EMQX集群搭建之(三)、Pull 方式集成Prometheus + Grafana

官方文档 & 接口注意事项

## 官方文档
    https://www.emqx.com/zh/blog/emqx-prometheus-grafana    #    没啥亮点
    https://docs.emqx.com/zh/emqx/latest/observability/prometheus.html

## EMQX 与 Prometheus 集成的方式有两种
    Pull 模式: Prometheus 直接通过 EMQX 的 REST API 采集指标
    Push 模式: EMQX 推送指标到 Pushgateway 服务,再由 Prometheus 从 Pushgateway 服务中采集指标。

## EMQX Pull 模式提供以下 REST API 供 Prometheus 采集系统指标
    /api/v5/prometheus/stats            # EMQX 的基础指标及计数器
    /api/v5/prometheus/auth             # 包含访问控制中认证和鉴权的关键指标及计数器
    /api/v5/prometheus/data_integration # 包含规则引擎,连接器,动作,Sink/Source,编解码相关指标及计数器
    # 上述接口,还支持使用URL查询参数mode来获取不同模式(单节点|集群聚合|集群非聚合)
        mode=node                   # 单节点模式,默认模式
        mode=all_nodes_aggregated   # 集群聚合模式,聚合集群指标
        mode=all_nodes_unaggregated # 集群非聚合模式,

## Tips: 上述三个API接口,默认都是没有鉴权的,说是可以开启基本认证,也没说怎么开,建议用防火墙封堵吧

## 可以用curl 进行数据获取测试(你会发现确实没鉴权)
    curl -k http://192.168.60.81:18083/api/v5/prometheus/stats
    curl -k http://192.168.60.81:18083/api/v5/prometheus/stats?mode=all_nodes_aggregated

Prometheus Pull EMQX-集群监控

场景A:若是HTTP方式

## 假设您的监控地址格式如下
    curl -k http://192.168.60.81:18083/api/v5/prometheus/stats
    curl -k http://192.168.60.81:18083/api/v5/prometheus/stats?mode=all_nodes_aggregated

## Prometheus 配置如下
  - job_name: 'emqx_stats'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.60.81:18083']
    metrics_path: '/api/v5/prometheus/stats'
    params:
      mode: ['all_nodes_aggregated']
    scheme: 'http'
#    basic_auth:
#      username: ''
#      password: ''

  - job_name: 'emqx_auth'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.60.81:18083']
    metrics_path: '/api/v5/prometheus/auth'
    params:
      mode: ['all_nodes_aggregated']
    scheme: 'http'

  - job_name: 'emqx_data_integration'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.60.82:18083']
    metrics_path: '/api/v5/prometheus/data_integration'
    params:
      mode: ['all_nodes_aggregated']
    scheme: 'http'

场景B:若是HTTPS方式(自签证书方式)

## 假设您的监控地址格式如下
    curl -k https://192.168.60.81:18084/api/v5/prometheus/stats
    curl -k https://192.168.60.81:18084/api/v5/prometheus/stats?mode=all_nodes_aggregated

## Prometheus 配置如下
  - job_name: 'emqx_stats'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.60.81:18084']
    metrics_path: '/api/v5/prometheus/stats'
    params:
      mode: ['all_nodes_aggregated']
    scheme: 'https'
#    basic_auth:
#      username: ''
#      password: ''
    tls_config:
      insecure_skip_verify: true  # 如果你的证书不是可信 CA 签发的,需要加上这行

  - job_name: 'emqx_auth'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.60.81:18084']
    metrics_path: '/api/v5/prometheus/auth'
    params:
      mode: ['all_nodes_aggregated']
    scheme: 'https'
#    basic_auth:
#      username: ''
#      password: ''
    tls_config:
      insecure_skip_verify: true

  - job_name: 'emqx_data_integration'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.60.81:18084']
    metrics_path: '/api/v5/prometheus/data_integration'
    params:
      mode: ['all_nodes_aggregated']
    scheme: 'https'
#    basic_auth:
#      username: ''
#      password: ''
    tls_config:
      insecure_skip_verify: true

Grafana部分(待续)

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1545.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/6/19作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录