Monitor Edge Server - Preview
Nesta página
Você pode visualizar métricas e registros de suas instâncias do Edge Server para obter um status geral de integridade ou informações sobre uso, desempenho e erros.
É possível monitorar uma instância:
Na IU do Atlas
Em uma interface do usuário no hardware local
Por meio de chamadas de API admin
Você também pode encaminhar logs para uma coleção do MongoDB ou para um serviço externo.
Esta página contém detalhes sobre como visualizar métricas e registros de suas instâncias do Edge Server e quais informações estão disponíveis.
Antes de começar
Você precisa do seguinte para gerenciar servidores de borda na UI do Atlas :
Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como se inscrever em uma conta gratuita, consulte Comece a usar o Atlas.
A UI local é habilitada por padrão e requer apenas uma instância do Edge Server em execução.
Em um host não confiável, você pode desabilitar a UI local executando o seguinte comando edgectl
:
edgectl config --disable-local-ui=true
Você precisa do seguinte para gerenciar servidores de borda com a API de administrador:
Uma conta do MongoDB Atlas com permissões de Proprietário do Projeto. Para saber como criar uma conta gratuita, consulte Comece a usar o Atlas .
Uma admin API do MongoDB Atlas par de chaves pública/privada. A chave da API deve ter permissões do Proprietário do projeto para trabalhar com o App Services Admin API.
A string hexadecimal ObjectId interna do seu aplicativo e o ID do Projeto do Projeto Atlas que contém seu aplicativo. Para saber como encontrá-los, consulte Obter metadados do aplicativo.
Obter status da instância Edge Server
Há algumas formas de obter detalhes sobre o status da instância do Edge Server:
Visualizar os detalhes da instância do Edge Server na UI do Atlas
Exibir os detalhes de status na interface do usuário local
Use
edgectl
para verificar o statusFazer uma solicitação para o endpoint relevante da API Admin
Os detalhes disponíveis variam dependendo de como você os acessa.
O dashboard do Edge Server lista um breve resumo para cada instância do Edge Server , incluindo a data e a hora da última conexão e um instantâneo de seu status. Opcionalmente, você pode visualizar detalhes ou registros de cada instância.
Para visualizar o painel do Edge Server , escolha Edge Server na barra lateral de navegação à esquerda.
Para visualizar os detalhes de uma instância específica do Edge Server , clique em View Details para esta instância do Edge Server . Alternativamente, clique em App Logs para procurar registros associados à instância.
As informações disponíveis ao visualizar uma instância do Edge Server variam dependendo do estado da instância. Para obter detalhes, consulte Detalhes da instância doEdge Server .
Para acessar a UI local, abra um navegador da web e Go para localhost
no http-port
. Você pode acessar a UI local na porta padrão em: http://localhost:80
Você pode alterar a porta fornecendo uma porta alternativa como Int
com o seguinte sinalizador edgectl
:
edgectl config --http-port=<YOUR-PORT-INT>
Quando a instância do Edge Server está em execução, você pode ver o status da instância com:
edgectl status
Isso fornece informações sobre o estado dos containers do Edge Server e um status detalhado do servidor de sincronização com um detalhamento de informações importantes. Pode parecer semelhante a:
{ "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" } } }
O syncServerDetailedStatus
contém informações sobre o estado da instância do Edge Server . Isso inclui detalhes sobre sua conexão com o Atlas e os clientes conectados a ele, como segue:
Nome do campo | Tipo | Valor |
---|---|---|
version | String | A versão atual do código do Edge Server que a instância está executando. Se a instância do Edge Server ficar mais de uma versão principal atrás da versão mais recente disponível, ela não conseguirá se conectar ao Atlas e deverá ser limpa e atualizada. Para obter mais informações, consulte Atualizar a versão do Edge Server . |
status | String | O status atual da instância do Edge Server . Os valores possíveis incluem:
|
cloud_connected | Boolean | Se true , a instância do Edge Server está atualmente conectada ao Atlas. Se false , a instância do Edge Server não estará conectada ao Atlas. Quando a instância não está conectada ao Atlas, ela ainda pode receber conexões locais e sincronizar dados com clientes locais. Quando se reconecta ao Atlas, ele tenta sincronizar os dados que foram alterados enquanto não estava conectado. |
num_local_clients | Int | O número de clientes que estão atualmente conectados à instância do Edge Server por meio do Atlas Device SDK. Isso não inclui conexões através do Protocolo de Fio. |
query | Objeto | A query Sync do Edge Server, apresentada como um objeto JSON. Para mais informações, consulte Especificar a query do Edge Server. |
Autenticar um usuário do MongoDB Atlas
Chame o endpoint de autenticação do usuário administrador com seu par de chaves da API do MongoDB Atlas:
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>" }'
Se a autenticação for bem-sucedida, o corpo da resposta conterá um objeto JSON com um valor access_token
:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
O access_token
concede acesso à App Services Admin API. Você deve incluí-lo como um token do portador no cabeçalho Authorization
para todas as solicitações de API Admin.
Obtenha a lista de instâncias do Edge Server
Ligue para o endpoint List Edge Servers da API Admin para obter uma lista de todas as instâncias de servidores de borda.
Sua solicitação deve incluir um Authorization
cabeçalho com seu token de acesso à API Admin como um token de portador.
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>'
Uma solicitação bem-sucedida retorna um código 200
e uma chave edge_servers
cujos valores são uma array de objetos contendo detalhes resumidos para cada instância do Edge Server associada ao appId
.
{ "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" } ] }
Para obter informações mais detalhadas, encontre o id
da instância cujos detalhes você deseja visualizar.
Ligue para o endpoint de informações do Edge Server
Ligue para o API Edge Server endpoint de informações do Obter de Administração para obter informações detalhadas sobre uma Edge Server instância do .
Sua solicitação deve incluir um Authorization
cabeçalho com seu token de acesso à API Admin como um token de portador.
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>'
Uma solicitação bem-sucedida retorna um código 200
, bem como um objeto JSON com informações detalhadas sobre a instância do 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... ] }
Para obter mais informações sobre esse corpo de resposta, consulte a especificação da API.
Registros do Edge Server
Edge Server usa os seguintes tipos de log:
Registros de autenticação: quando uma instância do Edge Server tenta autenticar com Atlas ou os clientes tentam autenticar com uma instância do Edge Server , isso gera um registro de autenticação.
Registros doDevice Sync : quando uma instância do Edge Server é sincronizada com o Atlas ou um cliente do Atlas Device SDK é sincronizado com o Edge Server, isso gera um registro do Device Sync .
Acesse os logs do Edge Server
Você pode acessar seus registros com o API endpoint de API registros do App Services da de administração Filtre para o user_id
correspondente à instância do Edge Server user_id
. Ou você pode visualizar os registros ao visualizar os Detalhes da instância doEdge Server na UI do Atlas .
Encaminhar logs do Edge Server
Você pode configurar encaminhadores de registros para armazenar registros em uma collection do MongoDB ou enviá-los para um serviço externo. Para obter mais informações, consulte Encaminhar registros para um serviço.
Edge Server Metrics
Uma instância do Edge Server acompanha uma variedade de métricas sobre:
O hardware do host
Solicitações
Conexões de protocolo de fio e sua atividade
sincronizar
Você pode acessar seus dados de métricas com o endpoint de informações do Admin API Get Edge Server da API Admin. Ou você pode exibir um subconjunto dessas métricas ao visualizar os Detalhes da instância doEdge Server na UI do Atlas .
As métricas exatas retornadas podem estar sujeitas a alterações.
Chave de métrica | Nome | categoria | unidade | Descrição |
---|---|---|---|---|
edge_host_memory_percent | Uso de memória | Anfitrião | Porcentagem (% ) | Porcentagem de memória usada pelos containers do Edge Server . |
edge_host_cpu_percent | Uso da CPU | Anfitrião | Porcentagem (% ) | Porcentagem de CPU utilizada pelos containeres do Edge Server. |
overall_request_success | Solicitações bem-sucedidas | No geral | Int | O número total de solicitações bem-sucedidas. |
global_request_fail | Solicitações com falha | No geral | Int | O número total de solicitações com falha. |
wire_protocol_request_success | Solicitações de protocolo de fio bem-sucedidas | Protocolo de fio | Int | O número total de solicitações bem-sucedidas do protocolo de fio. |
wire_protocol_request_fail | Solicitações de protocolo de fio com falha | Protocolo de fio | Int | O número total de solicitações de protocolo de conexão com falha. |
wire_protocol_egress_bytes | Transferência de dados do protocolo de fio | Protocolo de fio | bytes | O número total de bytes retornados pelo protocolo de fio. |
edge_wire_protocol_connection_count | Contagem de conexões do protocolo de fio | Protocolo de fio | Int | O número total de clientes atualmente conectados usando o Protocolo de Fio. Essas conexões incluem MongoDB Drivers, MongoDB Shell, MongoDB Compass e outras ferramentas que usam a conexão do Wire Protocol. |
sync_requests_success | Solicitações de sincronização bem-sucedidas | sincronizar | Int | O número total de solicitações de sincronização bem-sucedidas. |