MongoDB¶
如何设置PMM监控一个raybet雷竞技竞猜在线官网MongoDB或雷竞技下载官网MongoDB的Percona服务器数据库实例。
在开始之前¶
检查:
- 已安装PMM服务器并使用从客户端节点可访问的已知IP地址或主机名运行。
- 已安装PMM客户端和节点已注册到PMM服务器。
- 您在客户端主机上拥有超级用户(root)访问权限。
- 你有
adminUserAnyDatabase或超级用户角色特权,可以访问您想监视的任何数据库服务器。raybet雷竞技竞猜在线官网 - 您的MongoDB服务器版本为4.0或更高。
创建PMM帐号并设置权限¶
我们建议使用专用帐户将PMM Client连接到被监视的数据库实例。raybet雷竞技竞猜在线官网
运行下面的示例代码蒙戈会话:
- 创建具有创建/恢复备份和使用查询分析(QAN)所需权限的自定义角色
- 使用上述角色创建/更新数据库用户,加上内置的
clusterraybet雷竞技竞猜在线官网Monitor角色
用户名(用户)及密码(松材线虫病)都是例子。在使用这些代码段之前替换它们。
创建具有备份和QAN权限的角色¶
>db。getSiblingDB(“admin”).createRole({角色:“explainRole”,特权:[{资源:{db:"",集合:""},行动:[“listIndexes”,“listCollections”,“dbStats”,“dbHash”,“collStats”,“发现”]}),角色:[]})
>db。getSiblingDB(“admin”).createRole({“角色”:“pbmAnyAction”,“特权”:[{“资源”:{“anyResource”:真正的},“行动”:[“必有”]}),“角色”:[]});
创建/更新用户并分配创建的角色¶
>db。getSiblingDB(“admin”).createUser({用户:“pmm”,松材线虫病:“pmm”,角色:[{角色:“explainRole”,db:“admin”},{角色:“clusterraybet雷竞技竞猜在线官网Monitor”,db:“admin”},{角色:“读”,db:“本地”},{“数据库”:“admin”,“角色”:“读写”,“收集”:""},{“数据库”:“admin”,“角色”:“备份”},{“数据库”:“admin”,“角色”:“clusterraybet雷竞技竞猜在线官网Monitor”},{“数据库”:“admin”,“角色”:“恢复”},{“数据库”:“admin”,“角色”:“pbmAnyAction”}]})>db。getSiblingDB(“admin”).updateUser(“pmm”,{角色:[{角色:“explainRole”,db:“admin”},{角色:“clusterraybet雷竞技竞猜在线官网Monitor”,db:“admin”},{角色:“读”,db:“本地”},{“数据库”:“admin”,“角色”:“读写”,“收集”:""},{“数据库”:“admin”,“角色”:“备份”},{“数据库”:“admin”,“角色”:“clusterraybet雷竞技竞猜在线官网Monitor”},{“数据库”:“admin”,“角色”:“恢复”},{“数据库”:“admin”,“角色”:“pbmAnyAction”}]})
高级度量的权限¶
要获取高级指标,请使用以下命令为现有PMM用户提供额外权限:
{资源:{db:"",collection:“system.profile”},交流tions:[“collStats”,“dbStats”,“indexStats”]}
如果角色explainRole已经存在,那么您可以使用以下命令来提供额外的权限:
>db。runCommand({grantPrivilegesToRole:“explainRole”,特权:[{“资源”:{“数据库”:"",“收集”:“system.profile”},“行动”:[“indexStats”,“dbStats”,“collStats”]})})
分析¶
要使用PMM查询分析,必须打开MongoDB分析功能。
你可以设置分析:
- 永久地,通过编辑MongoDB配置文件并重新启动数据库实例(推荐);
- 当启动MongoDB时,通过传递参数
mongod在命令行上; - 直到下一个数据库实例重新启动,通过运行命令
蒙戈会话。
分析在默认情况下是关闭的,因为它会对数据库服务器的性能产生不利影响。
在配置文件中设置概要分析¶
编辑配置文件(通常
/etc/mongod.conf).对象中创建或添加此对象
operationProfiling部分。(阅读更多。)operationProfiling: mode: all slowOpThresholdMs: 200 rateLimit: 100 #(仅适用于MongoDB的Percona服务雷竞技下载官网器)重要的
这是一个YAML文件。缩进问题。
重新启动
mongod服务。(例子systemd。)systemctl重新启动mongod
在命令行上设置概要分析¶
mongod——dbpath=DATABASEDIR——简介2——slowms200——rateLimitOne hundred.
——dbpath:数据库文件的路径(通常为/var/lib/mongo).——简介: MongoDB剖析级别。值为2告诉服务器收集的分析数据所有操作。要降低服务器上的负载,请使用值1只记录慢操作。——slowms:操作类型为慢如果它运行的时间超过这个毫秒数。——rateLimit:(仅适用于MongoDB的Percona S雷竞技下载官网erver)分析查询的抽样率。值为One hundred.表示每100个样本th快速查询。(阅读更多。)谨慎
较小的值可以提高准确性,但会对服务器的性能产生不利影响。
在蒙戈会话¶
在一个蒙戈会话时,应该启用剖析器每数据库。中的分析器testdb,运行这个:
>使用testdb>db。setProfilingLevel(2,{slowms:0})
如果你已经知道了新增服务,您应该删除它,并在更改剖析级别后重新添加它。
添加服务¶
配置数据库服务器后,可以通过用户界面或命令行添加MongoDB服务。
使用用户界面¶
选择配置→PMM库存→添加实例。
选择MongoDB—添加远程实例。
为字段输入或选择值。
点击添加服务。
在命令行中¶
使用pmm-admin使用以下示例命令之一将数据库服务器添加为服务。
当成功时,PMM客户端将打印新增MongoDB服务服务的ID和名称。使用——环境和自定义标签选项,为服务设置标记以帮助识别它们。
提示
- 添加分片集群的节点时,请使用
——集群mycluster选项,以便正确地填充MongoDB Cluster Summary仪表板。 - Atlas不支持直接连接。连接到Atlas实例时,使用
pmm-admin选项——直接连接= false。(这样做会阻止replicaset状态正常工作,MongoDB Overview仪表板小部件将显示无效值。)
例子¶
pmm-admin添加mongodb\——用户名=pmm_mongodb——密码=密码\——query-source=分析器——集群=mycluster
pmm-admin添加mongodb\——用户名=pmm_mongodb——密码=密码\蒙戈127.0.0.1:27017
pmm-admin添加mongodb\——用户名=pmm_mongodb——密码=密码\——服务名称=mymongosvc——主机=127.0.0.1——港口=27017
通过UNIX套接字连接¶
pmm-admin添加mongodb——套接字=/ tmp / mongodb - 27017.的袜子
通过SSL/TLS连接¶
pmm-admin添加mongodb——tls\——tls-certificate-key-file=PATHTOCER\——tls-certificate-key-file-password=IFPASSWORDTOCERTISSET\——tls-ca-file=PATHTOCACERT——身份验证机制=身份验证机制——身份验证数据库=身份验证数据库
地点:
PATHTOCERT: TLS证书文件路径。IFPASSWORDTOCERTISSET: TLS证书文件密码。PATHTOCACERT:证书颁发机构文件路径。身份验证机制:认证机制。默认为空。使用MONGODB-X509SSL证书。身份验证数据库:认证数据库。默认为空。使用美元的外部SSL证书。
检查服务¶
使用用户界面¶
- 选择配置→PMM库存→库存清单。
- 看一下服务TAB,用于匹配服务类型(MongoDB),服务名称,地址,以及添加服务时使用的任何其他值。
- 看一下代理选项卡,以检查正在使用的所需数据源。
- 如果您的MongoDB实例已配置为使用TLS,请单击使用TLS进行数据库连接复选框,填写TLS证书和密钥。
- 如果使用TLS协议,认证机制将自动设置为
MONGODB-X509。
- 如果使用TLS协议,认证机制将自动设置为
在命令行中¶
在此命令的输出中查找您的服务。
pmm-admin库存列表服务——服务型=mongodb
检查数据¶
- 打开MongoDB实例概述仪表板。
- 设置服务名称到新添加的服务。
查询分析¶
- 开放PMM查询分析。
- 在过滤器面板:
- 下服务名称,选择您的服务。
- 下服务类型选择
mongodb。
删除服务¶
使用用户界面¶
- 选择配置→PMM库存→库存清单。
- 在第一列中,单击要删除的服务的复选框。
- 点击删除。
- 在确认行动对话框窗口:
- (可选)选择力模式也可以删除关联的代理。
- 点击继续进行。
在命令行中¶
pmm-admin删除mongodbSERVICE_NAME
SERVICE_NAME:添加服务的名称。(找到它pmm-admin列表。)

