侧边栏壁纸
博主头像
背锅小王子博主等级

我从事运维工作有十年之久,主要从事云原生相关的工作,对k8s、devops、servicemesh、可观察性等较为熟悉!

  • 累计撰写 59 篇文章
  • 累计创建 64 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

prometheus应用实践(十)监控mongodb集群

背锅小王子
2023-03-11 / 0 评论 / 0 点赞 / 515 阅读 / 419 字
温馨提示:
本文最后更新于 2023-03-13,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1、介绍

MongoDB Exporter 主要是Prometheus用来监控mongodb的export,可以用来收集并导出 oplog、副本集、服务器状态、分片和存储引擎指标。

2、创建mongodb监控账号

连接mongodb的用户应该具有足够的权限来查询所需的统计信息,权限如下:

      {
         "role":"clusterMonitor",
         "db":"admin"
      },
      {
         "role":"read",
         "db":"local"
      }

3、安装部署

下载MongoDB Exporter

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helm repo update

helm pull prometheus-community/prometheus-mongodb-exporter

tar xf prometheus-mongodb-exporter-3.1.2.tgz

cd prometheus-mongodb-exporter

为了安全起见,我们使用secret方式来设置连接mongodb的用户名密码信息,mongodb-uri 格式如下:

# [mongodb[+srv]://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]

# 例如:
mongodb://username:passowrd@ip1:port1,ip2:port2,ip3:port3/admin?replicaSet=副本集名称

创建mongodb-uri的secret文件

apiVersion: v1
data:
  mongodb-uri: 你的mongodb-uri,需要base64加密
kind: Secret
metadata:
  name: mongodb-secret
  namespace: monitoring
type: Opaque

修改value.yaml文件,添加如下内容

extraArgs:
  - --collect-all
  - --compatible-mode # 开启旧指标兼容模式
  - --no-mongodb.direct-connect  # 非直连模式下,连接mongodb副本集群时,需要添加此参数,否则无法正常连接

# 使用创建的mongodb-secret
existingSecret:
  name: "mongodb-secret"
  key: "mongodb-uri" 

# 开启Prometheus监控
serviceMonitor:
  enabled: true  

安装MongoDB Exporter

helm install prometheus-mongodb-exporter . -n monitoring

查看服务

kubectl get po -n monitoring | grep mongodb

prometheus-mongodb-exporter-84b5659dbf-97gbr    1/1    Running   0    2h

查看服务日志

kubectl logs prometheus-mongodb-exporter-84b5659dbf-97gbr -n monitoring

level=info ts=2023-03-10T02:37:43.297Z caller=tls_config.go:195 msg="TLS is disabled." http2=false

查看Prometheus监控
image-1678522964806

0

评论区