将现有 MongoDB 进程添加到 Ops Manager
在此页面上
Ops Manager 提供了一个向导,用于将现有 MongoDB 部署添加到监控和管理中。 向导会提示您:
Considerations
唯一名称
部署在项目中必须具有唯一名称。
重要
同一项目中的副本集、分片集群和分片名称必须唯一。如果部署没有唯一名称,将导致备份快照损坏。
MongoDB 配置选项
自动化并不支持所有 MongoDB 选项,这可能会导致导入尝试失败。 要了解更多信息,请参阅MongoDB 设置和自动化支持。
TLS
如果启用 TLS ,则为 MongoDB 进程提供服务的主机的 FQDN 必须与该主机上 TLS 证书的 SAN 匹配。
重要
为防止中间人攻击,请尽可能缩小TLS证书的范围。 虽然您可以在多个 SAN 上使用一个 TLS 证书,或在每台主机上使用通配符 TLS 证书,但您不应该这样做。要了解详情,请参阅 RFC2818 的3 部分。1 。
首选主机名
在以下情况下,请设置首选主机名:
需要特定的主机名、 FQDN 、 IPv4地址或IPv6地址才能访问 MongoDB 进程,或者
必须指定用于具有多个别名的主机的主机名。
要了解详情,请参阅项目设置中的 Preferred Hostnames设置。
恢复之前删除的主机
如果您尚未从 Ops Manager 中完全删除主机并想要恢复该主机,则可以重新导入已删除的 MongoDB 进程。
如果您已从 Ops Manager 中完全删除主机,则需要先取消删除该主机。 要搜索已删除的主机,您必须具有 Global Owner
角色。
要查找并取消删除之前删除的主机,请执行以下操作:
导航到Deployment视图。
从More菜单中,单击Deleted Hosts 。
选择取消删除主机。
取消删除托管后,您可以导入现有进程。
注意
如果您的主机没有出现在Deleted Hosts列表中,您应该能够立即重新导入进程。
管理 Windows MongoDB 服务
如果要将作为 Windows 服务运行的现有 MongoDB 进程添加到自动化,则自动化:
停止并禁用现有服务
创建并启动新服务
源集群和目标集群上的身份验证档案
如果 Ops Manager 项目为其部署启用了 MongoDB 身份验证设置,则您导入的 MongoDB 部署必须支持该项目的身份验证机制。
我们建议您导入到没有运行的进程且未启用身份验证的新目标项目。
如果源集群使用身份验证,并且目标 Ops Manager 项目没有任何现有托管流程,则 Ops Manager 会在目标项目中启用身份验证,从源集群导入现有密钥文件,并使用它来对执行以下操作的用户进行身份验证:导入进程。
如果源集群和目标 Ops Manager 项目都使用身份验证,并且该项目有进程,则 Ops Manager 会在导入过程中尝试使用目标项目中的现有身份验证设置。For the import process to succeed, authentication credentials on the source cluster and the Ops Manager destination project must be the same.
为确保导入成功,在开始导入过程之前,请在源集群上添加MongoDB Ops Manager目标项目的档案。 要了解更多信息,请参阅副本集轮换密钥或分片集群轮换密钥。
身份验证使用案例
如果您的 MongoDB 部署需要身份验证,当您将 MongoDB 部署添加到 Ops Manager 进行监控时,您必须提供必要的凭证。
如果部署未使用自动化,但使用了备份和/或监控,则您可以在更新到MongoDB Agent之前的档案位置找到这些档案。
如果部署不使用自动化,但将使用备份和/或监控:
为凭证部署创建MongoDB。 要学习;了解更多信息,请参阅用于监控的MongoDB Agent所需的访问权限和用于备份的MongoDB Agent所需的访问权限。
MongoDB Ops Manager添加凭证进程后,将您授予这些函数的MongoDB 添加到 。要学习;了解更多信息,请参阅“添加用于监控的档案”和“添加用于备份的档案”。
如果部署使用自动化,则 Ops Manager 将使用来自 MongoDB Agent 的档案。您可以从旧版备份和监控代理中删除档案。 MongoDB Agent将这些档案用于其自动化、备份和监控功能。
如果部署将使用自动化,但在导入之前未使用自动化,请将
mms-automation
用户添加到导入的数据库进程中,并将用户的档案添加到 Ops Manager。
要了解更多信息,请参阅添加自动化档案。
导入时实现自动化并更新安全设置
将 MongoDB 部署添加到自动化中可能会影响 Ops Manager 项目和 MongoDB 部署的安全设置。
自动化启用了项目安全设置。 如果 MongoDB 部署需要身份验证,但 Ops Manager 项目未启用身份验证设置,则当您将 MongoDB 部署添加到自动化时,Ops Manager 会将项目的安全设置更新为新导入部署的安全设置。
仅当项目的安全设置当前处于禁用状态时,导入过程才会更新 Ops Manager 项目的安全设置。The import process doesn't disable the project's security setting or change its enabled authentication mechanism.
自动化导入 MongoDB 用户和角色。 以下声明适用于 MongoDB 部署需要身份验证或 Ops Manager 项目已启用身份验证设置的情况。
如果 MongoDB 部署包含用户或用户定义的角色,您可以选择导入这些用户和角色,以便 Ops Manager 进行管理。 导入的用户和角色适用于 Ops Manager 项目中的所有托管部署。 Synced
如果将项目的Enforce Consistent Set值设置为
Yes
,Ops Manager 将从 MongoDB 部署中删除未导入的用户和角色。如果将项目的Enforce Consistent Set值设置为
No
,则Ops Manager将停止管理项目中的未导入用户和角色。这些用户和角色保留在 MongoDB 部署中。 要托管这些用户和角色,您必须直接连接到 MongoDB 部署。
如果不希望 Ops Manager 项目管理特定用户和角色,请在导入期间使用Authentication & Users和Authentication & Roles页面删除这些用户和角色,然后再确认和部署更改。 要了解更多信息,请参阅管理或取消管理 MongoDB 用户。
如果导入的 MongoDB 部署在其数据库中已经有
mms-backup-agent
和mms-monitoring-agent
admin
用户,则导入过程会使用mms-backup-agent
mms-monitoring-agent
Ops Manager 项目中为 和 用户设置的角色覆盖这些用户的角色。自动化应用于项目中的所有部署。 项目的更新安全设置,包括由Ops Manager项目托管的所有用户和角色,适用于项目中的所有部署,包括导入的MongoDB部署。
Ops Manager 使用新设置重新启动项目中的所有部署,包括导入的 MongoDB 部署。 导入后,项目中的所有部署在重新启动时都会使用 Ops Manager 自动化密钥文件。
导入的部署必须使用与目标项目中现有进程相同的密钥文件,否则导入进程可能无法继续。 要了解更多信息,请参阅源集群和目标集群上的身份验证档案。
如果项目中的现有部署需要与导入进程不同的安全配置文件,请创建一个新项目,可以将源 MongoDB 部署导入其中。
导入用户示例
以下示例适用于 MongoDB 部署需要身份验证或 Ops Manager 项目已启用身份验证设置的情况。
如果导入 MongoDB 用户和自定义角色,一旦 Ops Manager 项目开始管理 MongoDB 部署,无论Enforce Consistent Set值如何,都会发生以下情况:
Ops Manager 项目启用身份验证,托管导入的用户和角色,并将新用户和角色同步到其所有托管部署。
MongoDB 部署的访问控制已启用,需要身份验证。 MongoDB 部署包含 Ops Manager 项目托管的所有用户和角色。这些用户和角色已将
Synced
设置为Yes
。
如果不导入 MongoDB 用户和自定义角色,一旦 Ops Manager 项目开始托管 MongoDB 部署,就会发生以下情况:
如果Enforce Consistent Set设立为Yes
:
Ops Manager 项目启用身份验证,并且不会更改其托管用户和角色。
MongoDB 部署的访问控制已启用,需要身份验证。
Ops Manager 会从部署中删除未导入的 MongoDB 用户和角色。
MongoDB 部署包含 Ops Manager 项目托管的所有用户和角色。这些用户和角色已将
Synced
设置为Yes
。
如果Enforce Consistent Set设立为No
:
Ops Manager 项目启用身份验证,并且不会更改其安全设置,包括用户和角色。
MongoDB 部署的访问控制已启用,需要身份验证。
未导入的MongoDB用户和角色保留在MongoDB 部署中。
MongoDB 部署包含由 Ops Manager 项目管理的所有用户和角色。 这些用户和角色已将
Synced
设置为Yes
。
先决条件
如果在部署上启用 mongod 作为服务,则可能会导致争用情况,因为
systemd
mongod
在重新启动时启动 ,而不是自动化。为了防止出现此问题,请确保在将部署添加到自动化之前禁用mongod
服务:验证是否已启用
mongod
服务:sudo systemctl is-enabled mongod.service 如果该服务已启用,请将其禁用:
sudo systemctl disable mongod.service
如果 Ops Manager 项目未启用身份验证设置,但 MongoDB 进程需要身份验证,请为 Ops Manager 项目添加具有适当角色的 MongoDB Agent 用户。导入过程会显示用户所需的角色。 添加的用户将成为项目的 MongoDB 助手用户。
如果 Ops Manager 项目启用了身份验证设置,请将 Ops Manager 项目的 MongoDB Agent 用户添加到 MongoDB 进程。
要查找MongoDB Agent用户,请依次单击 Deployments、Security 和 Users。
要查找 Ops Manager 项目的 MongoDB Agent 用户的密码,请使用以下方法之一:
按照“添加 MongoDB 进程”过程中的步骤在用户界面中启动向导。 当到达显示Do you want to add automation to this deployment?的模态窗口时:
选择 Add Automation and Configure Authentication 。
单击 Show Password(连接)。
使用自动化配置资源端点:
curl --user "{username}:{apiKey}" --digest \ --header "Accept: application/json" \ --include \ --request GET "<host>/api/public/v1.0/groups/<Group-ID>/automationConfig" 在首选文本编辑器中打开
mmsConfigBackup
文件,找到autoPwd
值。例子
如果MongoDB Ops Manager项目选择了用户名/密码机制作为其身份验证设置,请将项目的MongoDB Ops Manager MongoDB助手用户
mms-automation
添加到要导入的MongoDB部署中的admin
数据库。db.getSiblingDB("admin").createUser( { user: "mms-automation", pwd: <password>, roles: [ 'clusterAdmin', 'dbAdminAnyDatabase', 'readWriteAnyDatabase', 'userAdminAnyDatabase', 'restore', 'backup' ] }
导入进程要求源集群和目标集群上的身份验证凭证和密钥文件相同。 要学习;了解更多信息,请参阅源集群和目标集群上的身份验证档案。
要将现有副本集成功导入 Ops Manager,实例必须运行正常。
步骤
添加 MongoDB 进程
要将现有 MongoDB 进程添加到 Ops Manager,请执行以下操作:
单击 Add并选择 Existing MongoDB Deployment。
将身份验证档案添加到部署中
将现有MongoDB进程添加到MongoDB Ops Manager后,如果已为导入部署的项目启用身份验证,则可能必须为新部署添加身份验证档案。 请参阅身份验证使用案例,了解在哪些情况下必须为新部署添加自动化、监控或备份档案。
如果您要添加打算实时迁移到Atlas的部署,则只需为监控添加该部署(及其凭证)。
选择要使用的身份验证机制:
添加自动化凭证
要为将使用自动化但在导入到 Ops Manager 之前未使用自动化的部署添加档案,请执行以下操作:
将MongoDB Agent用户添加到数据库中。
MongoDB Agent用户对MongoDB数据库执行自动化任务。 确保此MongoDB用户具有适当的权限。
添加相应的档案:
设置 | 值 |
---|---|
MongoDB Agent Username | 输入MongoDB Agent用户名。 |
MongoDB Agent Password | 输入MongoDB Agent用户名的密码。 |
设置 | 值 |
---|---|
MongoDB Agent LDAP Username | 输入LDAP用户名。 |
MongoDB Agent LDAP Password | 输入MongoDB Agent的LDAP用户名的密码。 |
MongoDB Agent LDAP Group DN | 输入MongoDB Agent的LDAP群组的标识名。 仅当您使用 MongoDB AgentLDAP授权时才提供 LDAP的 群组 DN 。每个MongoDB Agent都应拥有并使用自己的LDAP群组DN 。 |
所需的值取决于您是连接到 Linux 服务的 KDC 还是 Windows Active Directory 服务器。
设置 | 值 |
---|---|
Monitoring Kerberos Principal | Kerberos主体。 |
Monitoring Keytab Path | MongoDB Agent助手 Keytab 的绝对文件Ppath。 |
Monitoring LDAP Group DN | 输入MongoDB Agent的LDAP群组的标识名。 然后,将LDAP组 DN 创建为MongoDB中的角色,以授予MongoDB Agent适当的权限。 如果使用LDAP授权,则只需提供LDAP群组 DN。 |
设置 | 值 |
---|---|
MongoDB Agent Username | Active Directory 用户名。 |
MongoDB Agent Password | Active Directory 密码。 |
Domain | Active Directory 域服务中域的 NetBIOS 名称。 必须全部大写。 |
设置 | 值 |
---|---|
MongoDB Agent Username | LDAP3输入从MongoDB Agent 的 PEM 密钥文件派生的 v 标识名。 |
TLS/SSL CA File Path | 磁盘上包含PEM格式的受信任证书颁发机构 (CA) 证书的路径。 这些证书可验证任何使用TLS / SSL运行的MongoDB实例返回的服务器证书。 您必须至少输入一个TLS / SSL CA文件路径。 |
MongoDB Agent PEM Key file | 如果您的MongoDB部署需要客户端证书,请在相应操作系统的行上提供服务器上MongoDB Agent的PEM密钥文件所使用的客户端证书的路径和 .pem 文件名。 您必须为至少一个MongoDB Agent PEM 密钥文件输入一个值。 |
MongoDB Agent PEM Key Password | 如果PEM密钥文件已加密,请提供该文件的密码。 |
MongoDB Agent LDAP Group DN | 输入MongoDB Agent的LDAP群组的标识名。 MongoDB AgentLDAP如果使用 授权,则只需提供 的 群组 DN。LDAP |
添加用于监控的凭证
要为不使用自动化但使用监控的部署添加凭证,请执行以下操作:
添加相应的档案:
设置 | 值 |
---|---|
Monitoring Username | 输入监控用户名。 |
Monitoring Password | 输入监控用户名的密码。 |
设置 | 值 |
---|---|
Monitoring LDAP Username | 输入LDAP用户名。 |
Monitoring LDAP Password | 输入监控LDAP用户名的密码。 |
Monitoring LDAP Group DN | 输入监控LDAP群组的标识名。 仅当使用 LDAP 授权时才提供监控的 LDAP 群组 DN 。每个监控都应拥有并使用自己的LDAP群组DN 。 |
所需的值取决于您是连接到 Linux 服务的 KDC 还是 Windows Active Directory 服务器。
设置 | 值 |
---|---|
Monitoring Kerberos Principal | Kerberos主体。 |
Monitoring Keytab Path | 监控密钥表的绝对文件Ppath。 |
Monitoring LDAP Group DN | 输入监控LDAP群组的标识名。 然后,将LDAP组 DN 创建为MongoDB中的角色,以授予监控适当的权限。 如果使用LDAP授权,则只需提供LDAP群组 DN。 |
设置 | 值 |
---|---|
Monitoring Username | Active Directory 用户名。 |
Monitoring Password | Active Directory 密码。 |
Domain | Active Directory 域服务中域的 NetBIOS 名称。 必须全部大写。 |
设置 | 值 |
---|---|
Monitoring Username | 输入从监控的 PEM 密钥文件派生的 LDAP v 标识名。3 |
Monitoring PEM Key file | 在相应操作系统的命令行上提供服务器上监控的PEM密钥文件的路径和文件名。 |
Monitoring PEM Key Password | 如果PEM密钥文件已加密,请提供该文件的密码。 |
Monitoring LDAP Group DN | 输入监控LDAP群组的标识名。 如果使用 LDAP 授权,则只需提供监控的 LDAP 群组 DN。 |
添加备份档案
要为不使用自动化但使用备份的部署添加档案,请执行以下操作:
添加相应的档案:
设置 | 值 |
---|---|
Backup Username | 输入备份用户名。 |
Backup Password | 输入备份用户名的密码。 |
设置 | 值 |
---|---|
Backup LDAP Username | 输入LDAP用户名。 |
Backup LDAP Password | 输入备份的LDAP用户名的密码。 |
Backup LDAP Group DN | 输入备份LDAP群组的标识名。 仅当使用 LDAP 授权时才提供备份的 LDAP 群组 DN 。每个备份都应拥有并使用自己的LDAP群组DN 。 |
所需的值取决于您是连接到 Linux 服务的 KDC 还是 Windows Active Directory 服务器。
设置 | 值 |
---|---|
Monitoring Kerberos Principal | Kerberos主体。 |
Monitoring Keytab Path | 备份密钥表的绝对文件Ppath。 |
Monitoring LDAP Group DN | 输入备份LDAP群组的标识名。 然后,在MongoDB中将LDAP组 DN 创建为角色,以向备份授予适当的权限。 如果使用LDAP授权,则只需提供LDAP群组 DN。 |
设置 | 值 |
---|---|
Backup Username | Active Directory 用户名。 |
Backup Password | Active Directory 密码。 |
Domain | Active Directory 域服务中域的 NetBIOS 名称。 必须全部大写。 |
设置 | 值 |
---|---|
Backup Username | 输入从备份的 PEM 密钥文件派生的 LDAP v3 标识名。 |
Backup PEM Key file | 在相应操作系统的命令行上提供服务器上备份的PEM密钥文件的路径和文件名。 |
Backup PEM Key Password | 如果PEM密钥文件已加密,请提供该文件的密码。 |
Backup LDAP Group DN | 输入备份LDAP群组的标识名。 如果使用 LDAP 授权,则只需提供备份的 LDAP 群组 DN。 |