Docs 菜单
Docs 主页
/ /
Atlas App Services
/

Monitor Edge Server - Preview

在此页面上

  • 开始之前
  • 获取Edge Server实例状态
  • Edge Server日志
  • Edge Server Metrics

您可以查看 Edge Server 实例的指标和日志,以了解总体健康状况或有关使用情况、性能和错误的信息。

您可以监控实例:

  • 在 Atlas UI 中

  • 在本地硬件上的用户界面中

  • 通过 Admin API调用

您还可以将日志转发到 MongoDB 集合或外部服务。

本页包含有关如何查看 Edge Server 实例的指标和日志的详细信息,以及有哪些信息可用。

要在Atlas 用户界面中管理边缘服务器,您需要满足以下条件:

  • 具有项目所有者权限的MongoDB Atlas帐户。 要学习;了解如何注册免费帐户,请参阅 Atlas入门。

本地用户界面默认启用,并且只需要一个正在运行的Edge Server实例。

在不受信任的托管上,您可以通过运行以下 edgectl命令来禁用本地用户界面:

edgectl config --disable-local-ui=true

要使用 Admin API 管理边缘服务器,您需要满足以下条件:

  • 具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas

  • MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。

  • 您的应用的内部ObjectId 十六进制string 以及包含您的应用的ID 项目的项目Atlas 。要学习;了解如何查找这些元数据,请参阅获取应用元数据。

您可以通过以下几种方式获取有关 Edge Server 实例状态的详细信息:

  • 在 用户界面中查看 实例详细信息Edge ServerAtlas

  • 在本地用户界面查看状态详情

  • 使用edgectl检查状态

  • 向相关 Admin API 端点发出请求

可用的详细信息因访问方式而异。

Edge Server仪表盘列出了每个Edge Server实例的简要摘要,包括上次连接的日期和时间及其状态快照。 您可以选择查看每个实例的详细信息或日志。

要查看Edge Server仪表盘,请在左侧导航栏中选择 Edge Server

要查看特定Edge Server实例的详细信息,请单击该Edge Server实例的 View Details(查看详细信息)。 或者,单击App Logs浏览与该实例相关的日志。

查看Edge Server实例时提供的信息因实例状态而异。 有关详细信息,请参阅Edge Server实例详细信息。

要访问本地用户界面,请打开网络浏览器并Go http-port 上的 localhost。 您可以通过以下位置访问默认端口上的本地用户界面: http://localhost:80

您可以通过提供备用端口作为带有以下edgectl标志的Int来更改端口:

edgectl config --http-port=<YOUR-PORT-INT>

当Edge Server实例正在运行时,您可以使用以下命令查看实例的状态:

edgectl status

这将为您提供有关Edge Server容器状态的信息,以及同步服务器的详细状态以及重要信息的细分。 它可能看起来类似于以下内容:

{
"mongoContainerStatus": {
"message": "running"
},
"mongoDBStatus": {
"message": "ready"
},
"syncServerContainerStatus": {
"message": "running"
},
"syncServerStatus": {
"message": "ACTIVE"
},
"syncServerDetailedStatus": {
"version": "v0.22.3",
"status": "ACTIVE",
"cloud_connected": true,
"num_local_clients": 0,
"query": {
"Item": "truepredicate"
}
}
}

syncServerDetailedStatus 包含有关Edge Server实例状态的信息。 这包括有关与 Atlas 的连接以及连接的客户端的详细信息,如下所示:

字段名称
类型
version
字符串
实例运行的Edge Server代码的当前版本。 如果Edge Server实例的主要版本落后于最新可用版本一个以上,则无法连接到Atlas ,必须进行擦除和更新。 有关详细信息,请参阅升级Edge Server版本。
status
字符串

Edge Server实例的当前状态。 可能的值包括: "ACTIVE""FAILED""BOOTSTRAPPING"

"ACTIVE":实例正在运行,侦听连接并尝试同步。

"FAILED":实例遇到错误情况,需要干预。 有关详细信息,请参阅Edge Server实例故障排除。

"BOOTSTRAPPING":该实例正在执行数据集中相关文档的初始下载,尚未准备好使用。

cloud_connected
布尔
如果为 true,则Edge Server实例当前已连接到Atlas 。 如果为 false,则Edge Server实例未连接到Atlas 。 当实例未连接 Atlas 时,仍可接收本地连接并与本地客户端同步数据。 当它与 Atlas 重新连接时,它会尝试同步在未连接时更改的数据。
num_local_clients
Int
当前通过 连接到Edge Server 实例的客户端数量。Atlas Device SDK这包括通过传输协议进行的连接。
query
对象
Edge Server实例同步查询,以JSON对象形式呈现。 有关详细信息,请参阅指定Edge Server的查询。
1

使用您的 MongoDB Atlas API 密钥对调用管理员用户身份验证端点:

curl -X POST \
https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"username": "<Public API Key>",
"apiKey": "<Private API Key>"
}'

如果身份验证成功,响应正文将包含一个具有access_token值的JSON对象:

{
"access_token": "<access_token>",
"refresh_token": "<refresh_token>",
"user_id": "<user_id>",
"device_id": "<device_id>"
}

access_token授予对App Services Admin API的访问权限。 您必须将其作为持有者令牌包含在所有 Admin API请求的Authorization标头中。

提示

另请参阅:

2

调用Admin API 列出边缘服务器端点以获取所有边缘服务器实例的列表。

您的请求必须包含Authorization 标头,其中包含作为持有令牌的 Admin API访问权限 令牌。

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>'

成功的请求将返回一个 200 代码和一个 edge_servers 键,该键的值是一个对象数组,其中包含与 appId 关联的每个Edge Server实例的摘要详细信息。

{
"edge_servers": [
{
"id": "6622b8f5118368b943d228a9",
"created": "2024-04-19T08:51:00Z",
"name": "Edge-Store-42",
"user_id": "6622b8f5118368b943d2288a",
"status": "active",
"hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com",
"last_connection": "2024-04-19T09:51:00Z"
}
]
}

有关更多详细信息,请找到要查看其详细信息的实例的id

3

调用Admin API获取Edge Server信息端点以获取有关Edge Server实例的详细信息。

您的请求必须包含Authorization 标头,其中包含作为持有令牌的 Admin API 访问 令牌。

curl -X GET \
https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/edge/{edgeServerId} \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <AccessToken>'

成功的请求会返回200 代码以及包含JSON 实例详细信息的Edge Server 对象:

{
"id": "6622b8f5118368b943d228a9",
"created": "2024-04-19T08:51:00Z",
"name": "Edge-Store-42",
"user_id": "6622b8f5118368b943d2288a",
"status": "active",
"hostname": "ec2-13-58-70-88.us-east-2.compute.amazonaws.com",
"last_connection": "2024-04-19T09:51:00Z",
"query": {
"Item": "(store_id == \"641cb3d99e425c794ef69315\")"
},
"package_version": "v0.21.2",
"latest_package_version": "v0.22.2",
"metrics": [
{
"key": "edge_host_memory_percent",
"name": "Memory Usage",
"category": "host",
"detail": "Percentage of memory used by the edge container",
"value": 15,
"unit": "%"
},
...additional Edge Server metrics...
]
}

有关此响应正文的更多信息,请参阅 API 规范。

Edge Server使用以下日志类型:

  • 身份验证日志:当Edge Server实例尝试使用Atlas进行身份验证,或者客户端尝试使用Edge Server实例进行身份验证时,会生成身份验证日志。

  • Device Sync日志:当Edge Server实例与Atlas同步,或者Atlas Device SDK客户端与Edge Server同步时,会生成Device Sync日志。

您可以使用 Admin API 的Admin API检索App Services日志端点访问权限日志。 筛选与Edge Server实例user_id 匹配的 user_id。 或者,您可以在 用户界面中查看Edge Server 实例详细信息 Atlas时查看日志。

您可以配置日志转发器以存储日志存储在MongoDB集合中或将日志发送到外部服务。 有关更多信息,请参阅将日志转发到服务。

Edge Server 实例追踪有关以下方面的各种指标:

  • 主机硬件

  • 请求

  • 传输协议连接及其活动

  • 同步

您可以使用 Admin API的Admin API获取Edge Server信息端点访问权限指标数据。 或者,您可以在 用户界面中查看Edge Server 实例详细信息 Atlas时查看这些指标的子集。

返回的确切指标可能会发生变化。

指标键
名称
category
单位
说明
edge_host_memory_percent
内存使用量
主机
百分比 (%)
Edge Server容器使用的内存百分比。
edge_host_cpu_percent
CPU 使用率
主机
百分比 (%)
Edge Server 容器使用的 CPU 百分比。
overall_request_success
成功的请求
总体
Int
成功请求的总数。
total_request_fail
请求失败
总体
Int
失败请求的总数。
wire_protocol_request_success
成功的传输协议请求
传输协议
Int
成功的传输协议请求总数。
wire_protocol_request_fail
失败的传输协议请求
传输协议
Int
失败的传输协议请求总数。
wire_protocol_egress_bytes
有线协议数据传输
传输协议
字节
传输协议返回的总字节数。
edge_wire_protocol_connection_count
传输协议连接计数
传输协议
Int
当前使用传输协议连接的客户端总数。 这些连接包括MongoDB驱动程序、 MongoDB Shell、 MongoDB Compass和其他使用传输协议连接的工具。
sync_requests_success
成功的同步请求
同步
Int
成功的同步请求总数。

后退

权限指南