MongoDB 模块
编辑MongoDB 模块
编辑此模块定期从 MongoDB 服务器获取指标。
模块特定配置说明
编辑配置 hosts
选项时,必须使用以下格式的 MongoDB URL
[mongodb://][user:pass@]host[:port][?options]
或者
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
URL 可以很简单,例如:
- module: mongodb hosts: ["localhost"]
或者更复杂,例如:
- module: mongodb hosts: ["mongodb://myuser:mypass@localhost:40001", "otherhost:40001"]
其他一些受支持的 URL 是:
- module: mongodb hosts: ["mongodb://127.0.0.1:27017,localhost:27022,localhost:27023"]
- module: mongodb hosts: ["mongodb://127.0.0.1:27017/?directConnection=true"]
当连接 URI 中包含参数 directConnection=true
时,所有操作都在 URI 中指定的主机上执行。需要注意的是,必须在 URI 中显式指定 directConnection=true
,因为它不会自动添加,除非指定。
- module: mongodb hosts: ["mongodb://127.0.0.1:27017,localhost:27022,localhost:27023/?replicaSet=dbrs"]
用户名和密码可以包含在 URL 中,也可以使用相应的配置选项设置。URL 中的凭据优先于用户名和密码配置选项。
- module: mongodb metricsets: ["status"] hosts: ["localhost:27017"] username: root password: test
默认的度量集是 collstats
、dbstats
和 status
。
兼容性
编辑MongoDB 度量集已在 MongoDB 5.0 上进行了测试,预计适用于所有版本 >= 5.0。
MongoDB 权限
编辑为了使用度量集,模块配置中指定的 MongoDB 用户需要具有一定的 权限。
我们建议使用 clusterMonitor
角色 来涵盖所有必要的权限。
您可以在 Mongo shell 中使用以下命令创建特权用户(确保使用 db
命令在 Mongo shell 中使用 admin
数据库)。
db.createUser( { user: "beats", pwd: "pass", roles: ["clusterMonitor"] } )
您可以在 Mongo shell 中使用以下命令将角色授予现有用户(确保使用 db
命令在 Mongo shell 中使用 admin
数据库)。
db.grantRolesToUser("user", ["clusterMonitor"])
MongoDB 模块支持在 模块 中描述的标准配置选项。这是一个示例配置
metricbeat.modules: - module: mongodb metricsets: ["dbstats", "status", "collstats", "metrics", "replstatus"] period: 10s enabled: true # The hosts must be passed as MongoDB URLs in the format: # [mongodb://][user:pass@]host[:port]. # The username and password can also be set using the respective configuration # options. The credentials in the URL take precedence over the username and # password configuration options. hosts: ["localhost:27017"] # Optional SSL. By default is off. #ssl.enabled: true # Mode of verification of server certificate ('none' or 'full') #ssl.verification_mode: 'full' # List of root certificates for TLS server verifications #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"] # Certificate for SSL client authentication #ssl.certificate: "/etc/pki/client/cert.pem" # Client Certificate Key #ssl.key: "/etc/pki/client/cert.key" # Username to use when connecting to MongoDB. Empty by default. #username: user # Password to use when connecting to MongoDB. Empty by default. #password: pass
使用 ssl
配置字段时,此模块支持 TLS 连接,如 SSL 中所述。
以下度量集可用