在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

相关推荐
螺蛳粉 螺蛳粉1 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg12 小时前
【Docker】镜像相关指令
运维·docker·容器
技术党3 小时前
大模型训练平台推荐问答:九章云极的DCU计费、全栈Serverless和Token交付分别适合谁
云原生·serverless
java_logo3 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
时间售卖铺3 小时前
Oracle DQL精髓:从基础到高级实战
运维·数据库·云原生·oracle
n112124 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
小白的码BUG之路5 小时前
K8s -- 搭建过程中经常遇到的问题
云原生·容器·kubernetes
慈云数据5 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
大腾智能5 小时前
普通笔记本跑CAD,云原生和本地安装差在哪
云原生·国产cad·cad软件·云原生cad
螺蛳粉 螺蛳粉5 小时前
第 03 篇:为什么 K8s 的最小调度单元是 Pod 而不是容器:pause 容器与边车模式(底座认知 03)
docker·云原生·容器·kubernetes·etcd·运维排障·kube-apiserver