Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/

Encaminhar registros para um serviço

Nesta página

  • Visão geral
  • Por que devo configurar o encaminhamento de registros?
  • Como o encaminhamento de registros é cobrado?
  • Configurar um encaminhador de registros
  • 1. Criar um encaminhador de registros
  • 2. Escolha quais registros encaminhar
  • 3. Configurar agrupamento de registros em lote
  • 5. Definir uma ação
  • 6. Salve e implemente suas alterações
  • Reiniciar um encaminhador de registro suspenso

Você pode configurar um encaminhador de registros para armazenar automaticamente os registros do lado do servidor da sua aplicação em uma collection MongoDB ou enviá-los para um serviço externo. O Atlas App Services pode encaminhar registros individualmente à medida que são criados ou registros em lote juntos para reduzir a sobrecarga.

Um encaminhador de registros consiste nos seguintes componentes:

  • Uma ação que controla como e para onde o App Services encaminha os registros.

  • Um filtro que controla quais registros o App Services encaminha.

  • Uma política que controla se o App Services os registra em lote ou os encaminha individualmente.

Considere configurar um encaminhador de registros se você precisar fazer qualquer uma das seguintes ações:

  • Armazene registros por mais tempo do que o período de retenção do App Services de 10 dias.

  • Integrar registros em um serviço de registro externo

  • Acessar registros no Atlas Search, Atlas Online Archive e Charts

Cada invocação de ação de encaminhamento de registro (em um registro individual ou em lote) é cobrada como uma solicitação do App Services.

Para criar um novo encaminhador de registro, navegue até a página Logs e selecione a aba Forwarding . Em seguida, clique no botão Create a Log Forwarder .

Na próxima tela, especifique um nome exclusivo para o encaminhador de registros.

Para criar um novo encaminhador de registro, adicione um novo arquivo de configuração ao diretório log_forwarders da sua aplicação. O nome do arquivo deve corresponder ao valor no campo name da configuração.

/log_forwarders/<name>.json
{
"name": "<name>"
}

O App Services pode encaminhar todos os logs do seu aplicativo ou enviar somente um subconjunto para a collection ou serviço de destino. Você controla esse subconjunto para cada encaminhador de registro definindo filtros para o tipo de registro (por exemplo funções, sincronização, etc.) e status (ou seja, sucesso ou erro) que invocam a ação do encaminhador.

Escolha um ou mais tipos de registro para encaminhar no menu suspenso Log Type :

O menu suspenso para selecionar quais tipos de registro encaminhar

Escolha um ou mais status para encaminhar no menu suspenso Log Status :

O menu suspenso para selecionar quais status de registro encaminhar

Especifique um ou mais tipos e um ou mais status para o encaminhador corresponder e encaminhar:

/log_forwarders/<name>.json
{
"name": "<name>",
"log_types": [ "<type>", ... ],
"log_statuses": [ "<status>", ... ]
}

O App Services suporta o encaminhamento dos seguintes tipos de registro:

  • auth

  • endpoint

  • function

  • graphql

  • push

  • schema

  • service

  • sync

  • trigger

  • trigger_error_handler

O App Services suporta o encaminhamento dos seguintes status de registro:

  • error

  • success

Importante

O App Services só encaminha um determinado registro se seu tipo e status forem especificados no filtro.

Por exemplo, considere um encaminhador que filtra logs sync com status error .

O filtro encaminharia o seguinte registro:

{ "type": "sync", "status": "error", ... }

O filtro não encaminharia os seguintes registros:

{ "type": "sync", "status": "success", ... }
{ "type": "schema", "status": "error", ... }

O App Services pode combinar vários registros em uma única solicitação em lote para reduzir a sobrecarga. A maneira como os grupos do App Services fazem login em lotes é controlada por uma política de lote.

O App Services oferece suporte às seguintes políticas de lote:

  • Sem lote: o App Services encaminha os registros individualmente à medida que suas solicitações correspondentes ocorrem.

  • Lote: o encaminhador agrupa documentos em um lote conforme eles acontecem. Cada lote pode incluir até 100 entradas de registro. Quando um lote está cheio, o App Services encaminha todo o lote em uma única solicitação. O App Services encaminha os registros pelo menos uma vez por minuto, independentemente do número de registros no lote atual.

Para configurar o lote, selecione a política No batch ou Batching .

As seleções da política de lotes: "Sem lote" e "Batching".

Para configurar o lote, especifique o tipo de política, single ou batch, no campo policy :

/log_forwarders/<name>.json
{
"name": "<name>",
"log_types": [ "<type>", ... ],
"log_statuses": [ "<status>", ... ],
"policy": { "type": "<single|batch>" }
}

Um encaminhador de registros pode armazenar registros automaticamente em uma coleção MongoDB vinculada ou chamar uma função personalizada que envia os registros para um serviço externo.

Para armazenar registros em uma collection, selecione a ação To Collection e insira os nomes do cluster vinculado, do reconhecimento de data center e da collection que devem manter os registros encaminhados.

A ação "Para a coleção" com um cluster, banco de dados de dados e coleção especificados.

Para armazenar registros em uma collection, especifique um action do tipo collection que inclui os nomes do cluster vinculado, banco de dados de dados e collection que devem manter os registros encaminhados.

/log_forwarders/<name>.json
{
"name": "<name>",
"log_types": [ "<type>", ... ],
"log_statuses": [ "<status>", ... ],
"policy": { "type": "<single|batch>" },
"action": {
"type": "collection",
"data_source": "<data source name>",
"database": "<database name>",
"collection": "<collection name>"
}
}

Para encaminhar registros para um serviço externo, escreva uma função que aceite uma array de objetos de log e chame o serviço por meio de uma API, SDK ou biblioteca.

Observação

Dependendo da sua política de lote e da frequência de registros, o App Services pode chamar uma função de encaminhamento de registros com uma array de até 100 objetos de registro.

A função deve ter a mesma assinatura do exemplo a seguir:

/functions/<nome da<function name> função>.js
exports = async function(logs) {
// `logs` is an array of 1-100 log objects
// Use an API or library to send the logs to another service.
await context.http.post({
url: "https://api.example.com/logs",
body: logs,
encodeBodyAsJSON: true
});
}

Depois de escrever a função de encaminhamento de registros, você pode atribuí-la a um encaminhador de registros por nome.

Para atribuir uma função a um encaminhador de registro, selecione a ação To Function e, em seguida, selecione a função na entrada suspensa.

Para atribuir uma função a um encaminhador de registro, especifique um action do tipo function que inclui o nome da função de encaminhamento de registro.

/log_forwarders/<name>.json
{
"name": "<name>",
"log_types": [ "<type>", ... ],
"log_statuses": [ "<status>", ... ],
"policy": { "type": "<single|batch>" },
"action": {
"type": "function",
"name": "<function name>"
}
}

Após configurar o encaminhador de registro, clique em Save . Se você tiver esquemas de distribuição habilitados, certifique-se de distribuir suas alterações.

Depois de configurar o encaminhador de registro, salve o arquivo de configuração e envie a configuração atualizada do aplicativo:

appservices push

Um encaminhador de registros pode ser suspenso em resposta a um evento que o impeça de continuar, como uma interrupção da rede ou uma alteração no cluster subjacente que armazena os registros. Uma vez suspenso, um encaminhador não pode ser invocado e não encaminha nenhum registro.

Você pode reiniciar um encaminhador de registro suspenso na tela Logs > Forwarding da interface do usuário do App Services.

Observação

Se um encaminhador de registro for suspenso, o App Services enviará ao proprietário do projeto um e-mail alertando-o sobre o problema.

Voltar

Exibir logs do aplicativo