停止监控进程
本教程向您展示如何停止监控进程。 一旦停止监控进程, MongoDB Ops Manager就会停止显示其状态并跟踪其指标。
了解目标
了解如何使用 Ops Manager Administration API 执行以下操作:
查找进程的主机 ID。
停止监控与主机 ID 匹配的进程。
确认 Ops Manager 不再监控该进程。
满足先决条件
在完成本教程之前,请先完成这些先决条件。
获取更改监控设置所需的权限。 您需要以下角色之一:
在停止监控进程之前,请终止进程的备份。
按照以下步骤操作
要使用 API 停止监控进程,请完成以下所有步骤。
查找进程的主机 ID。
使用“按主机名和端口获取一台主机”资源查找进程并检索id
值。
了解此步骤的作用
按主机名和端口获取一台主机资源使用您指定的主机名和端口来查找进程。 然后,它会返回有关此进程的信息。 您可以在响应中找到下一步所需的id
。
发出此命令
复制以下 curl 命令。 将其粘贴到您的首选终端或控制台中。 将显示的占位符替换为以下值:
占位符 | 说明 |
---|---|
{PUBLIC-KEY} | API密钥的公共部分。 |
{PRIVATE-KEY} | API密钥的私有部分。 |
{PROJECT-ID} | 拥有主机的项目的唯一标识符。 |
{HOSTNAME} | Ops Manager 用于连接到实例的主节点主机名。 这可以是主机名、 FQDN 、 IPv4地址或IPv6地址。 |
{PORT} | 进程侦听的端口。 |
替换命令中的占位符,然后执行。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/hosts/byName/{HOSTNAME}:{PORT}"
复制主机 ID
在响应正文中,复制id
字段中返回的值。 您需要该值用于下一步。
例子
1 { 2 "alertsEnabled" : true, 3 "aliases": [ "server1.example.com:27017", "203.0.113.3:27017" ], 4 "authMechanismName" : "SCRAM-SHA-1", 5 "clusterId" : "<cluster-ID-1>", 6 "created" : "2021-04-22T19:56:50Z", 7 "groupId" : "<project-ID-1>", 8 "hasStartupWarnings" : false, 9 "hidden" : false, 10 "hostEnabled" : true, 11 "hostname" : "server1.example.com", 12 "id" : "{HOST-ID}", 13 "ipAddress": "203.0.113.3", 14 }
停止监控与主机 ID 匹配的进程。
使用“停止监控一个主机”资源停止监控该主机。
了解此步骤的作用
“停止监控一个主机”资源实际上不会删除主机。 该资源会从 Ops Manager 监控的主机列表中删除该主机。 这会将进程从监控中删除。
发出此命令
复制以下 curl 命令。 将其粘贴到您的首选终端或控制台中。 将显示的占位符替换为以下值:
占位符 | 说明 |
---|---|
{PUBLIC-KEY} | API密钥的公共部分。 |
{PRIVATE-KEY} | API密钥的私有部分。 |
{PROJECT-ID} | 拥有主机的项目的唯一标识符。 |
{HOST-ID} | Unique identifier of the host for the process. 使用第 1 步中的 id 。 |
替换命令中的占位符,然后执行。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request DELETE "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}"
确认 Ops Manager 不再监控该进程。
再次使用“按主机名和端口获取一台主机”资源,尝试通过主机名和端口查找进程。 然后,验证details
是否返回No host with hostname
and port {HOSTNAME}:{PORT} exists in group {PROJECT-ID}
。
了解此步骤的作用
按主机名和端口获取一台主机资源使用您指定的主机名和端口来查找进程。 然后,它会返回有关此进程的信息。 如果响应中的details
值为No host with hostname
and port {HOSTNAME}:{PORT} exists in group {PROJECT-ID}
,则可以看出 Ops Manager 不监控该进程。这意味着 Ops Manager 在其监控的进程列表中找不到该主机。
发出此命令
复制以下 curl 命令。 将其粘贴到您的首选终端或控制台中。 将显示的占位符替换为以下值:
占位符 | 说明 |
---|---|
{PUBLIC-KEY} | API密钥的公共部分。 |
{PRIVATE-KEY} | API密钥的私有部分。 |
{PROJECT-ID} | 拥有主机的项目的唯一标识符。 |
{HOSTNAME} | Ops Manager 用于连接到此实例的主节点主机名。这可以是主机名、FQDN、IPv4 地址或 IPv6 地址。 |
{PORT} | 进程侦听的端口。 |
替换命令中的占位符,然后执行。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/hosts/byName/{HOSTNAME}:{PORT}"
检查响应详情
在响应正文中,检查details
字段中返回的值。 如果details
返回No host with hostname
and port {HOSTNAME}:{PORT} exists in group {PROJECT-ID}
,则成功。 Ops Manager 不再监控该进程。