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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

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.