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 中指定的宿主上执行。请注意,directConnection=true
必须在 URI 中明确指定,除非指定,否则不会自动添加。
- 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 中所述。
度量集
提供以下度量集