Menu Docs
Página inicial do Docs
/
Atlas
/ /

Encaminhar registros para um serviço

Você pode configurar um encaminhador de registro para armazenar automaticamente os registros do lado do servidor do trigger e da função em uma coleção MongoDB ou enviá-los para um serviço externo. Você também 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 os registros são encaminhados.

  • Um filtro que controla quais registros são encaminhados.

  • Uma política que controla se os registros são encaminhados individualmente ou em lotes.

Considere configurar um encaminhador de registro se precisar realizar alguma das seguintes ações:

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

  • Integre registros em um serviço de registro externo.

  • Acesse registros no MongoDB Search, Online Archive e Charts.

1

Para criar um encaminhador de registros:

AVISO: Melhorias de navegação em andamento

No momento, estamos lançando uma experiência de navegação nova e aprimorada. Se as etapas a seguir não corresponderem à sua visualização na interface do usuário do Atlas , consulte a documentação de visualização.

  1. Se ainda não estiver exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Triggers sob o título Services.

    A página Acionadores é exibida.

  1. Clique no botão View All Apps.

  2. Clique no aplicativo que contém o trigger ou a função cujos registros você deseja encaminhar.

  3. Navegue até a página Logs.

  4. Selecione a guia Forwarding.

  5. Clique no botão Create a Log Forwarder.

  6. Especifique um nome exclusivo para o encaminhador de registro.

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>"
}
2

Você pode encaminhar todos os seus registros de trigger ou função ou enviar apenas um subconjunto para a coleção 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, triggers, 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. Em seguida, escolha um ou mais status para encaminhar no menu suspenso Log Status.

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>", ... ]
}

Você pode encaminhar os seguintes tipos de registro:

  • auth

  • endpoint

  • function

  • graphql

  • push

  • schema

  • service

  • trigger

  • trigger_error_handler

Você pode encaminhar os seguintes status de registro:

  • error

  • success

Importante

Um encaminhador de registro só encaminha um determinado registro se seu tipo e status forem especificados no filtro.

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

O filtro encaminharia o seguinte registro:

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

O filtro não encaminharia os seguintes registros:

{ "type": "triggers", "status": "success", ... }
{ "type": "functions", "status": "error", ... }
3

Você pode combinar vários registros em uma única solicitação em lote para reduzir a sobrecarga. A política de lote selecionada determina como um encaminhador de registros agrupa os registros.

Você pode escolher entre as seguintes políticas em lote:

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

  • Lote: o encaminhador de registros agrupa documentos em um lote conforme eles acontecem. Cada lote pode incluir até 100 entradas de registro. Quando um lote está cheio, o encaminhador de registro encaminha o lote inteiro em uma única solicitação. O encaminhador de registros 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 .

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>" }
}
4

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.

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 registros 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 registro, o encaminhador de registro poderá chamar uma função de encaminhamento de registro 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 registro, você poderá atribuí-la a um encaminhador de registro 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>"
}
}
5

Após configurar o encaminhador de registros, clique em Save. Se você tiver esquemas de distribuição habilitados, implemente 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 registro 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 UI do Atlas .

Observação

Se um encaminhador de registro for suspenso, um e-mail será enviado ao proprietário do projeto para notificá-lo sobre o problema.

Voltar

Registros

Nesta página