• 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

Integração no host: formato de configuração padrão

Em dezembro de 2019, o agente de infraestrutura versão 1.8.0 passou a suportar este novo formato de configuração que utiliza um único arquivo de configuração (em vez de dois arquivos separados), e traz outras melhorias. Este documento explicará como funciona esse formato mais recente.

O formato de configuração de legado mais antigo também é suportado pelo agente de infraestrutura atual.

Para obter uma introdução à configuração, consulte Visão geral da configuração.

Estrutura de configuração

O YAML de configuração de uma integração no host deve ter uma seção de nível superior integrations contendo uma matriz YAML, onde cada entrada representa uma integração e sua configuração.

Para cada entrada de integração, apenas a propriedade name é obrigatória. As outras propriedades são opcionais.

Aqui está um exemplo de configuração recurso dois integração: nossa Docker integração integrada, que não requer configuração, e nossa integração MySQL :

integrations:
  # New Relic integration that does not require any configuration
  - name: nri-docker
  # New Relic integration that gets its configuration from the environment
  - name: nri-mysql
    env:
      PORT: 3306
      USERNAME: newrelic
      PASSWORD: 123456789 # to hide this field, read the secrets management documentation
  # Any free-form integration executed via a user-provided command
  - name: my-own-integration
    exec: python /opt/integrations/my-script.py --host=127.0.0.1

Você pode ter quantos arquivos YAML de configuração desejar e pode agrupar sua instância de integração.

Dica

Recomendamos lintar os arquivos de configuração YAML antes de usá-los para evitar problemas de formatação.

Cada arquivo YAML de configuração também pode conter seções de nível superior discovery e variables .

Importante

Este formato de configuração não requer reinicialização do agente. Quando salvas, as alterações são detectadas e implementadas imediatamente. Isso significa que salvar alterações de configuração intermediárias pode fazer com que a integração pare de funcionar.

Lista de propriedades de configuração

Esta é uma lista das propriedades gerais usadas para configurar uma integração. Para obter mais detalhes sobre o uso dessas propriedades, incluindo valores de exemplo, consulte a documentação após a tabela.

Configuração

Descrição

name

Nome da integração. Esta é a única propriedade de configuração obrigatória em toda integração no host. Se o campo exec não estiver definido, também será o nome do executável de integração.

cli_args

Lista opcional de argumentos de linha de comando quando name é usado para fornecer o executável de integração. Disponível desde a versão do agente 1.13.0.

exec

Caminho completo para o executável de integração, mais argumentos. Pode ser uma string de linha única ou uma matriz de strings. Se não for especificado, o campo exec será padronizado como o campo name .

env

Mapa YAML contendo as variáveis de ambiente a serem passadas para a integração, onde key é o nome da variável de ambiente e value é o valor da variável.

config

Configuração que está escrita como arquivo externo e o caminho que é passado para a integração com a variável de ambiente CONFIG_PATH ou a variável ${config.path} espaço reservado.

config_template_path

Qualquer arquivo externo cujo caminho é passado para a integração com a variável de ambiente CONFIG_PATH ou o espaço reservado da variável ${config.path} . Seu uso permite aplicar ligação de descoberta e segredos a qualquer configuração externa.

integration_user

Nome do usuário que executa a integração.

interval

Tempo entre execuções consecutivas da integração. Deve ser um número seguido de uma unidade de tempo (s, m ou h), sem espaços.

inventory_source

Permite substituir a categoria e o prazo da origem do inventário.

labels

Mapa com rótulos que decoram os dados (métrica, evento, inventário) reportados pela integração.

timeout

Um número seguido por uma unidade de tempo (ms, s, m ou h). Uma integração que não respondeu nesse período será encerrada e reiniciada.

working_dir

Diretório de trabalho para o binário de integração.

quando

A integração só é executada se a cláusula for avaliada como verdadeira.

As condições são definidas abaixo.

O restante deste documento descreve propriedades de configuração agrupadas por funcionalidade:

Selecione uma integração para executar

Existem duas propriedades para selecionar qual integração será executada: name e exec.

A única propriedade obrigatória em toda integração no host é name. As demais propriedades especificadas neste documento são opcionais.

Exemplo:

integrations:
- name: nri-docker
- name: my-integration
exec: /usr/local/bin/my-integration --metrics --inventory

Passe a configuração para o executável de integração

Muitas vezes os executáveis de integração precisam receber uma configuração para funcionar corretamente (por exemplo, nome do host e porta do sistema monitor, credenciais do usuário, etc.).

O agente de infraestrutura permite configurar os comandos de integração de três maneiras (que você pode combinar):

  • Variáveis de ambiente, usando a propriedadeenv . (recomendado)
  • Argumentos de linha de comando, passados na propriedadeexec .
  • Arquivos de configuração, cujo caminho precisa ser passado através de variáveis de ambiente ou argumentos de linha de comando (veja a propriedade config).

Exemplo:

integrations:
- name: my-integration
exec: /opt/path/bin/script --host 127.0.0.1 --port 8081
- name: nri-mysql
env:
STATUS_URL: http://10.0.0.3/server-status?auto
REMOTE_MONITORING: true

Configure como o agente executa sua integração

As propriedades desta seção modificam a forma como o agente de infraestrutura executa e interage com a integração, ou a forma como o agente decora os dados da integração.

Atualizar configuração de integração mais antiga

Em dezembro de 2019, o agente de infraestrutura versão 1.8.0 passou a utilizar um formato de configuração diferente.

A principal diferença entre esses formatos é que o formato de configuração mais antigo usa dois arquivos de configuração separados (um arquivo INTEGRATION_NAME-definition.yml e um arquivo INTEGRATION_NAME-config.yml ) e a versão mais recente usa um único arquivo de configuração.

Aqui estão alguns dos recursos adicionados pela funcionalidade de configuração mais recente:

  • Configuração flexível via argumentos de linha de comando, variáveis de ambiente ou arquivos externos.
  • Capacidade de agrupar diferentes integrações no mesmo arquivo.
  • Hot reload: adicionar uma nova integração ou alterar sua configuração não requer a reinicialização do agente.
  • Tempos limite: se uma integração não responder antes de um tempo especificado pelo usuário, o processo de integração será encerrado e reiniciado.

Nem toda integração no host vem com o formato de configuração mais recente, mas você pode atualizar a configuração para o novo formato para toda integração no host para aproveitar as vantagens do novo recurso.

O YAML a seguir mostra um exemplo de configuração de integração do Apache usando o formato de configuração mais antigo. Observe que esta configuração ainda funcionará com agentes mais recentes, mas recomendamos atualizar sua integração para aproveitar ao máximo o recurso.

integration_name: com.newrelic.apache
instances:
- name: apache-server-metrics
command: metrics
arguments:
status_url: http://127.0.0.1/server-status?auto
remote_monitoring: true
labels:
env: production
role: load_balancer
- name: apache-server-inventory
command: inventory
arguments:
remote_monitoring: true
labels:
env: production
role: load_balancer

Para atualizar uma configuração de integração mais antiga para o novo formato, use um dos seguintes métodos:

Método assistido

Usando a CLI do New Relic, execute o seguinte comando para converter automaticamente seus arquivos de definição/configuração antigos para o novo formato de configuração:

bash
$
newrelic agent config migrateV3toV4 -d /path/definitionFile -c /path/configFile -o /path/outputFile

Exemplos:

Método manual

Para converter o arquivo de integração manualmente:

  1. Renomeie a seção de nível superior instances para integrations.
  2. Remova a seção de nível superior integration_name e adicione-a a cada entrada de integração. Você não precisa mais manter um arquivo separado para cada tipo de integração e pode agrupar suas entradas de legado integração no mesmo arquivo de outras integração.

Aqui está um exemplo da nova versão da configuração de integração do Apache:

integrations:
- name: nri-apache
env:
METRICS: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 15s
labels:
env: production
role: load_balancer
- name: nri-apache
env:
INVENTORY: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 60s
labels:
env: production
role: load_balancer
inventory_source: config/apache

Importante

Observe que o formato de configuração mais antigo não suporta recarregamento a quente. Portanto, é necessário reiniciar o agente de infraestrutura para remover a configuração de integração antiga. Caso contrário, a instância antiga coexistirá com as novas.

Copyright © 2024 New Relic Inc.

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