在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

相关推荐
wuxingge6 分钟前
docker设置代理,通过代理服务器拉取镜像
docker·容器
SZ17011023111 分钟前
K8s 部署所需的配置文件
云原生·容器·kubernetes
小池先生16 分钟前
docker 安装gitlab
docker·容器·gitlab
赫尔·普莱蒂科萨·帕塔18 分钟前
Kurator 分布式云原生环境技术深度分析与实践指南
分布式·云原生
永亮同学21 分钟前
【探索实战】从“工具堆叠”到“平台治理”:基于 Kurator 构建统一分布式云原生管理底座的实践与思考
分布式·云原生
rchmin25 分钟前
云原生概念与技术详解
云原生
A-刘晨阳33 分钟前
【探索实战】基于Kubernetes部署Kurator
运维·云原生·容器·kubernetes·kurator
晨欣1 小时前
[eBPF硬核] Gemini阿吉学习笔记:Tetragon企业版两类核心日志 & 冷热数据分流架构设计 & 学习资源推荐
笔记·学习·云原生·云安全·ebpf·谷歌gemini
橙 子_1 小时前
在 Amazon Bedrock 中推出 Claude Sonnet 4.5:Anthropic 最智能的模型,最适合编码和复杂代理
人工智能·python·云原生·html
寰天柚子2 小时前
IaaS+PaaS全解析:云计算时代的全栈技术支撑方案
云原生·云计算·paas