
# 使用MAS实现MongoDB容灾切换
#### 概述
MongoDB监控器可对用户业务使用的MongoDB数据库进行探测，并且在数据库异常时自动触发流量切换。当用户场景需要主动切换流量时，也可以让用户手动实现切换操作，具体操作见[步骤四：切换MongoDB监控]。
本章通过完成配置一个MongoDB监控样例帮助您快速熟悉使用MongoDB监控实现容灾切换的过程。
使用MongoDB监控的步骤如下所示：
- [步骤一：准备MongoDB数据库]
- [步骤二：创建MAS应用]
- [步骤三：创建MongoDB监控]
- [步骤四：切换MongoDB监控]
 
 #### 步骤一：准备MongoDB数据库
在使用MongoDB监控前，需要提前准备一个多活实例和两个MongoDB数据库。您可以选择在华为云官网购买两个MongoDB数据库，也可以自己在本地两台机器上部署两个MongoDB数据库。
此处以在华为云购买MongoDB数据库为例，建议将两个数据库部署在同一Region下不同的可用区，以提供不同功能可用区之间的故障转移能力和高可用性。
1. 请参考MongoDB的[自定义购买](https://support.huaweicloud.com/usermanual-dds/dds_03_0302.html)，准备MongoDB数据库。两个MongoDB数据库需要配置为相同的数据库名称、用户名和密码。在MongoDB数据库实例中已创建好监控数据库和连接数据库。
2. 请参考[绑定弹性公网IP](https://support.huaweicloud.com/usermanual-dds/dds_03_0317.html)，绑定弹性IP。
3. 请参考[配置安全组规则](https://support.huaweicloud.com/usermanual-dds/dds_03_0318.html)，配置安全组规则。开放MongoDB数据库的默认端口8635。
 
 #### 步骤二：创建MAS应用
MAS通过应用来实现同一实例内不同用户间的资源隔离，用户在实例中创建的监控都要归属到某个应用下。
1. 登录MAS控制台，在"多活管理"页面单击实例，进入实例控制台。
2. 在页面顶端导航栏选择"应用列表"，单击页面左上角的"新增应用"。
3. 在新增应用弹窗填写应用信息，完成后单击"确定"。
   表1应用配置信息 
   | **参数** | **配置说明**         |
   |:---|:---|
   | 应用名称   | 自定义应用名称。         |
   | 描述     | 填写对该应用的描述内容，选填项。 |
      
   
 
 #### 步骤三：创建MongoDB监控
1. 登录MAS控制台，在"多活管理"页面单击实例（实例所属命名空间类型为同城多活），进入实例控制台。
2. 在页面顶端导航栏选择"监控列表"，单击页面左上角的"新增监控"。
3. 在新增监控页面配置监控基础配置，完成后单击"下一步：数据中心配置"。
   图1新增监控基础配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001497461317.png)
   表2基础配置信息 
   | **参数** | **配置说明**                                                                                                   |
   |:---|:---|
   | 监控     | 此处配置为"MongoDB监控"。                                                                                          |
   | 应用名称   | 选择[步骤二：创建MAS应用]中创建的应用。                                                  |
   | 监控器名称  | 自定义监控器名称。                                                                                                  |
   | 异常通知设置 | 默认为"关"，此处设置为"关"。 若设置为"开"，当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务，需要配置密钥。 |
   | 是否监控   | 默认"是"，选"否"则不会探测数据库异常情况。                                                                                    |
   | 是否自动切换 | 默认"是"，选"否"则不会自动切换数据库。                                                                                      |
   | 监控用户名  | 被监控MongoDB数据库的用户名。                                                                                         |
   | 监控用户密码 | 被监控MongoDB数据库的用户密码。                                                                                        |
   | 确认密码   | 再次填写MongoDB数据库的用户密码。                                                                                       |
      
   ![](https://support.huaweicloud.com/qs-mas/public_sys-resources/note_3.0-zh-cn.png)
   基础配置信息中监控用户名、监控用户密码与[步骤一：准备MongoDB数据库]的配置相同。
   
4. 填写数据中心配置，完成后单击"下一步：数据库配置"。
   图2新增监控数据中心配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001275445833.png)
   
   表3数据中心配置信息 
   | **参数** | **配置说明**                                                                       |
   |:---|:---|
   | 云选择    | 选择被监控的MongoDB数据库部署的环境。                                                         |
   | 局点     | 根据[步骤一：准备MongoDB数据库]中创建的MongoDB数据库选择的区域。    |
   | 连接地址   | 根据[步骤一：准备MongoDB数据库]中创建的MongoDB数据库的访问地址和端口。 |
      
   
5. 填写数据库配置，此处需要配置为[步骤一：准备MongoDB数据库]中配置的数据库名称。完成后单击"下一步：高级配置"。
   图3新建监控数据库配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001231245942.png) 
6. 填写高级配置，此处使用默认值即可，完成后单击"下一步：确认配置"。
   图4新增监控高级配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001275325989.png) 
7. 确认配置无误后单击"立即创建"，完成创建MongoDB监控。
 
 #### 步骤四：切换MongoDB监控
1. 进入"监控列表"页面，单击MongoDB监控所在行右侧的"切换"。
2. 在弹窗中单击"确定"。活跃数据库由数据中心1变为数据中心2。活跃数据库即主数据库。
3. 待数据中心1数据库正常后（即数据库连接正常，数据表读写正常），单击监控所在行右侧的"回切"按钮。
4. 在弹窗中单击"确定"。活跃数据库由数据中心2变为数据中心1。
 
