mongodb - 如何在 Kubernetes 中安装 MongoDb Exporter 进行 Prometheus 监控

标签 mongodb kubernetes prometheus kubernetes-helm

我想用 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 安装 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

关于mongodb - 如何在 Kubernetes 中安装 MongoDb Exporter 进行 Prometheus 监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64372557/

相关文章:

mongodb - 加速 MongoDB 聚合

kubernetes - 如何使用 Terraform 公开具有公共(public) IP 地址的 Azure Kubernetes 集群

azure - Docker-Compose/Kubernetes Yaml 文件上的 CentOS 镜像问题

azure - 引用 AKS 的 Ingress 使用的来自 Azure Key Vault 的 TLS 证书

kubernetes - 访问 Prometheus 的 etcd 指标

go - Prometheus 日志指标导出器

node.js - Mongoose,将数据添加/更新到集合的一组文档

mongoDB前缀通配符: fulltext-search ($text) find part with search-string

cpu-usage - 使用Prometheus监视CPU使用率

node.js - 在不创建重复项的情况下使用阵列进行Upsert