• /
  • EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Configuração de minion privado conteinerizado (chamadas por minuto)

Importante

A partir de 26 de agosto de 2024, você não poderá mais criar novos monitores usando tempos de execução legados em locais públicos ou privados.

Em 22 de outubro de 2024, encerraremos a vida útil do minion privado conteinerizado (chamadas por minuto) e do legado runtime do Synthetics versões que ele suporta. Revise nossas etapas de migração recomendadas para evitar a degradação do seu monitor de localização privada.

Este documento orienta você na configuração do seu minion privado em contêiner (CPM).

Você pode fazer o seguinte para personalizar suas chamadas por minuto:

Você não pode modificar nenhum arquivo de chamadas por minuto e a New Relic não se responsabiliza por quaisquer modificações que você fizer.

Configuração usando variáveis de ambiente

As variáveis ambientais permitem ajustar a configuração das chamadas por minuto para atender às suas necessidades ambientais e funcionais específicas.

Diretrizes para montagem de volumes

Todos os diretórios e arquivos must recebem propriedade de grupo como 3729 com permissões de leitura/gravação. Isso garante que o Runner, que usa uid: 1000 e gid: 3729, tenha acesso a todos os volumes montados. No entanto, o Minion pode ser executado como root (uid: 0) ou com qualquer uid entre o intervalo de [2000, 4000], inclusive. Para obter mais informações, consulte executando como não root no Kubernetes ou Docker.

Docker

  • Os diretórios são montados em um contêiner como volumes especificando um argumento -v dentro docker run
  • Por exemplo, docker run ... -v /path/to/src:/path/to/dest:rw

Kubernetes

  • É possível adicionar um diretório a um volume persistente (PV) usando kubectl cp. No entanto, há suporte para abordagens alternativas, desde que as permissões de arquivo sejam definidas adequadamente.
  • Por exemplo, kubectl cp /path/to/src <POD_NAME>:/path/to/dest adicionará um diretório a cada PV no pod especificado
  • Cada PV deve ter uma cópia separada dos diretórios. Por exemplo, um cluster com n réplicas minion deve ter n PVs, cada um com sua própria cópia de diretórios
  • Os diretórios e arquivos devem ser adicionados antes da inicialização do Minion , caso contrário, o Minion deve ser reiniciado para detectar as atualizações

Módulos de nós personalizados

Os módulos de nós personalizados são exclusivos para chamadas por minuto. Eles permitem que você forneça um conjunto arbitrário de módulos de nó e os disponibilize para monitor com script no monitoramento sintético.

Para configurar os módulos:

  1. Crie um diretório contendo um package.json, seguindo as diretrizes oficiais do npm, na raiz do diretório. Tudo o que estiver contido no campo dependencies será instalado pelas chamadas por minuto no início e disponibilizado ao executar o monitor naquele Minion privado.

    Opcionalmente, você pode substituir o nível raiz package.json por um diretório específico da versão do Node.js. Isso permite que um script seja atualizado por tempo de execução do monitor se uma versão Node.js de um tempo de execução não for mais compatível com sua dependência. Veja um exemplo disso abaixo.

  2. Depois de criar o diretório de módulos personalizados e o package.json você pode aplicá-lo às suas chamadas por minuto para Docker e Kubernetes.

  3. Consulte o registro de chamadas por minuto de "... Initialization of Custom Modules ..." para ver se os módulos foram instalados corretamente ou se houve algum erro. O log de instalação do npm será mostrado.

Agora você pode adicionar "require('async');" ao script de monitor que você envia para esta localização privada.

Mudar package.json

Você também pode usar módulos Node.js junto com módulos locais e hospedados. Para alterar os módulos personalizados usados pelas suas chamadas por minuto, modifique package.json e reinicie as chamadas por minuto. Ele detectará a alteração na configuração durante a reinicialização e, em seguida, limpará e reinstalará.

Cuidado

Módulos locais: embora seu package.json possa incluir qualquer módulo local, esses módulos devem residir na árvore no diretório do módulo personalizado. Se armazenado fora da árvore, o processo de inicialização falhará e você verá uma mensagem de erro no docker log após iniciar chamadas por minuto.

Armazenamento permanente de dados

Chamadas por minuto é um aplicativo stateless e não preserva informações de solicitações ou sessões anteriores por padrão. No entanto, você pode preservar os dados entre os lançamentos ativando o armazenamento permanente de dados. Por exemplo, você pode definir permanentemente como o minion se identifica (por exemplo, Minion_ID) e usá-lo para associar esses dados ao minion exato que os produziu.

Para definir o armazenamento permanente de dados no Docker:

  1. Crie um diretório.

  2. Lançar as chamadas por minuto, montando o diretório em /var/lib/newrelic/synthetics.

    Exemplo:

    bash
    $
    docker run ... -v /example-permanent-dir:/var/lib/newrelic/synthetics:rw ...

Para definir o armazenamento permanente de dados no Kubernetes:

  1. Lançar as chamadas por minuto, definindo um valor para o valor de configuração persistence.permanentData na linha de comando ou em um arquivo YAML durante a instalação. O valor deve especificar o subcaminho no volume persistente do seu minion onde você deseja que os dados sejam salvos.

    Exemplo:

    bash
    $
    helm install ... --set persistence.permanentData=PERMANENT_DATA_SUBPATH ...

Variáveis de ambiente definidas pelo usuário para monitor com script

Minion privado em contêiner permite configurar variáveis de ambiente para uso em monitor com script. Essas variáveis ficam hospedadas localmente nas chamadas por minuto e podem ser acessadas via $env.USER_DEFINED_VARIABLES. Existem duas maneiras de definir variáveis definidas pelo usuário: montando um arquivo JSON ou fornecendo uma variável de ambiente para as chamadas por minuto no lançamento. Se ambos forem fornecidos, as chamadas por minuto utilizarão apenas valores fornecidos pelo ambiente.

Acessando variáveis de ambiente definidas pelo usuário a partir do script

Para fazer referência a uma variável de ambiente definida pelo usuário configurada, use o $env.USER_DEFINED_VARIABLES reservado seguido do nome de uma determinada variável com notação de ponto.

Por exemplo, $env.USER_DEFINED_VARIABLES.MY_VARIABLE

Cuidado

Variáveis de ambiente definidas pelo usuário não são limpas do log. Para informações confidenciais, considere usar o recurso de credenciais seguras .

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.