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监控
评论区