在k8s上暴露EMQX(v4)的指标

1.开启prometheus 插件

部署的是 EMQX 4.4 开源版, 则需要通过 EmqxPlugin CRD 开启emqx_prometheus 插件:

bash 复制代码
cat << "EOF" | kubectl apply -f -
apiVersion: apps.emqx.io/v1beta4
kind: EmqxPlugin
metadata:
  name: emqx-prometheus
spec:
  pluginName: emqx_prometheus
  selector:
    apps.emqx.io/instance: emqx
    apps.emqx.io/managed-by: emqx-operator

获取AppID和AppSecret

bash 复制代码
curl -u {AppID}:{AppSecret} -X GET localhost:18083/api/v4/emqx_prometheus?type=prometheus

2.配置 EMQX 服务的 Kubernetes Service

确保 EMQX 的接口通过一个 Kubernetes Service 暴露。

yaml 复制代码
kind: Service
apiVersion: v1
metadata:
  name: emqx-prometheus
  labels:
    app: emqx
spec:
  ports:
    - name: prometheus
      protocol: TCP
      port: 18083
      targetPort: 18083
  type: ClusterIP
  selector:
    apps.emqx.io/instance: emqx
    apps.emqx.io/managed-by: emqx-operator

3.创建 ServiceMonitor

yaml 复制代码
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: emqx-monitor
spec:
  endpoints:
    - basicAuth:
        password:
          key: password
          name: emqx-basic-auth
        username:
          key: username
          name: emqx-basic-auth
      params:
        type:
          - prometheus
      path: /api/v4/emqx_prometheus
      port: prometheus
      scheme: http
  namespaceSelector:
    matchNames:
      - mes-emqx
  selector:
    matchLabels:
      app: emqx

4.创建 BasicAuth Secret

bash 复制代码
kubectl create secret generic emqx-basic-auth \
  --from-literal=username={AppID} \
  --from-literal=password={AppSecret}

5.验证Promethues 是否已经能读取到emqx的metric

相关推荐
阿里云云原生6 小时前
剧透丨AI 原生研发组织的探索和实践
云原生
名字还没想好☜7 小时前
Docker 网络实战:bridge/host/none/自定义网络、容器互通与端口映射踩坑
运维·docker·kubernetes
探索云原生9 小时前
KubeClipper 1.7.0 发布:Operation 优化与 Kubernetes 1.37 支持
linux·docker·云原生·kubernetes·go
fengkai454511 小时前
八、Docker详解1-3
运维·docker·容器
MrSYJ13 小时前
Veth pair 细讲
docker·云原生·容器
Elastic 中国社区官方博客14 小时前
将 Vercel 数据导入 Elastic:无需安装任何东西的无服务器可观测性
大数据·运维·elasticsearch·搜索引擎·云原生·serverless·全文检索
秦jh_14 小时前
【Docker】容器
运维·docker·容器
天天喝旺仔16 小时前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
大盛供应链·卢生1 天前
哪些国产芯片可以替代进口芯片,哪些替代不了
fpga开发·容器
Mr小林1 天前
Docker 安装教程(在线 + 离线)
运维·docker·容器