如何为 Kubernetes 中的 Prometheus 监控安装 MongoDb Exporter

How to Install MongoDb Exporter for Prometheus Monitoring in Kubernetes

我想用 prometheus 监控我的 MongoDb。我目前的 MongoDb 是这样部署的

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongodb-deployment
  labels:
    app: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      containers:
      - name: mongodb
        image: mongo
        ports:
        - containerPort: 27017
        env:
        # These variables, used in conjunction, create a new user and set that user's password (From Mongo Docker Image)
        - name: MONGO_INITDB_ROOT_USERNAME
          valueFrom:
            secretKeyRef:
              name: mongodb-secret
              key: mongo-root-username
        - name: MONGO_INITDB_ROOT_PASSWORD
          valueFrom: 
            secretKeyRef:
              name: mongodb-secret
              key: mongo-root-password

和这项服务

apiVersion: v1
kind: Service
metadata:
name: mongodb-service
spec:
selector:
    app: mongodb
ports:
    - protocol: TCP
    port: 27017
    targetPort: 27017

然后我通过 helm 安装了 prometheus helm install stable/prometheus-operator

我知道这个 MongoDb Helm 图表 https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-mongodb-exporter。但据我了解,这会安装 MongoDb 和 MongoDb Exporter,所以因为我已经安装了 MongoDb,所以这对我没有用,对吗?

仅安装 Mongo Exporter 并将其与我的 Mongo 数据库连接的步骤是什么?我所知道的是,我需要创建一个标签为 release: prometheus-operator-1602753506.

ServiceMonitor

抱歉这个初学者问题,我对 kubernetes 和 helm 还是很陌生,所以我现在很困惑

helm chart 不安装 mongodb,它需要一些配置才能连接到 mongodb 并从中提取指标。还说 helm chart 有自己的服务监视器,所以你不需要创建一个新的:

https://github.com/prometheus-community/helm-charts/tree/main/charts/prometheus-mongodb-exporter#service-monitor