A integração New Relic Infrastructure nenhum host pode usar um dos dois tipos de formatos de configuração. Este documento explica o formato de configuração legado mais antigo.
Importante
A New Relic recomenda usar o novo formato de configuração padrão aprimorado. Para atualizar seu arquivo de configuração para este novo formato, verifique a seção de atualização
Para obter uma introdução à configuração, consulte Visão geral da configuração.
Estrutura do arquivo de configuração
Uma integração no host que usa o formato de configuração padrão requer dois arquivos de configuração:
Arquivo de definição
O arquivo de definição possui um formato de nomenclatura como INTEGRATION_NAME-definition.yml. Este arquivo fornece informações descritivas sobre a integração, tais como: a versão do protocolo JSON que suporta, uma lista de comandos que pode executar e argumentos que aceita. Ele reside neste diretório:
Linux:
/var/db/newrelic-infra/newrelic-integrationsWindows:
C:\Program Files\New Relic\newrelic-infra\newrelic-integrations
Aqui está um exemplo de arquivo de definição de integração NGINX com duas seções de comando em um sistema Linux:
name: com.myorg.nginxprotocol_version: 2description: Collect metric and configuration data from NGINXos: linuxcommands:  metrics:    command:      - myorg-nginx      - --metrics    interval: 15  inventory:    command:      - myorg-nginx      - --inventory    interval: 120    prefix: integration/myorg-nginxUm arquivo de definição pode ser dividido em duas partes:
Cabeçalho do arquivo de definição
Aqui estão as explicações dos elementos de cabeçalho de um arquivo de definição:
Campo de cabeçalho de definição  | Descrição  | 
|---|---|
  | Obrigatório. Um nome exclusivo   | 
  | Obrigatório. O número da versão do protocolo. A New Relic usa isso para garantir a compatibilidade entre a integração e o agente. Caso o agente não reconheça a versão de uma integração, ele filtrará essa integração e criará uma mensagem do log. A versão atual do protocolo JSON é   | 
  | Opcional. Explicação amigável sobre o que a integração faz.  | 
  | Opcional. O sistema operacional onde a integração é executada. New Relic usa isso para filtrar integrações que você pretende rodar apenas em sistemas operacionais específicos. Padrão: execute a integração independentemente do valor  Para restringir a integração a um sistema operacional específico, use uma destas opções: 
  | 
Comandos de arquivo de definição
Após o cabeçalho há uma lista de comandos. A seção de comandos define:
- Um ou mais modos operacionais independentes para o executável
 - Os dados de tempo de execução necessários para que ele seja executado
 
A seção de comandos é um mapa YAML de definições de comando, onde cada chave é o nome alternativo exclusivo do comando no arquivo de configuração da integração que especifica o executável a ser executado.
Comandos de definição  | Descrição  | 
|---|---|
  | Obrigatório. A linha de comando real a ser executada como uma matriz YAML de partes de comando. Eles são montados para executar o comando real. Para comandos simples, a matriz pode ser apenas um elemento. Regras de comando adicionais incluem: 
  | 
  | Opcional. O número de segundos entre duas execuções consecutivas do comando, em particular entre o final da execução anterior e o início da próxima execução. 
  | 
  | Opcional. A categorização do inventário no formato  O prefixo não é um caminho específico da plataforma. A barra é o separador correto entre a categoria e  O prefixo pode ter no máximo dois níveis. Caso contrário, o inventário não será reportado. Valor padrão se não for definido:   | 
Arquivo de configuração
O arquivo de configuração possui um formato de nomenclatura como INTEGRATION_NAME-config.yml. Este arquivo especifica quais executáveis serão executados e os parâmetros necessários para executá-los. Ele reside neste diretório:
Linux:
/etc/newrelic-infra/integrations.d/Windows:
C:\Program Files\New Relic\newrelic-infra\integrations.d
Dica
Recomendamos lintar os arquivos de configuração YAML antes de usá-los para evitar problemas de formatação.
Aqui está um exemplo de arquivo de configuração com uma instância definida. As explicações desses campos são explicadas abaixo do exemplo.
integration_name: com.myorg.nginxinstances:  - name: nginx1.myorg.com-metrics    command: metrics    arguments:      status_url: http://127.0.0.1/status    labels:      environment: production      role: load_balancerOutro exemplo de arquivo de configuração com duas instâncias definidas.
integration_name: com.myorg.nginxinstances:  - name: nginx1.myorg.com-metrics    command: metrics    arguments:      status_url: http://one.url/status    labels:      environment: production      role: load_balancer - name: nginx2.myorg.com-metrics   command: metrics   arguments:     status_url: http://another.url/status   labels:     environment: production     role: load_balancerDefinições de campo do arquivo de configuração
Campo do arquivo de configuração  | Descrição  | 
|---|---|
  | Obrigatório. Este é o cabeçalho e é usado para identificar quais executáveis serão executados. Esse nome deve corresponder exatamente ao nome especificado no arquivo de definição da integração. Recomendação: Para garantir nomes exclusivos, use a notação reversa de nome de domínio.  | 
  | Obrigatório. Este é o nome da invocação específica (instância) da integração. Isto é usado para ajudar a identificar qualquer mensagem do log gerada por esta integração e também é útil para resolução de problemas.  | 
  | Obrigatório. Este é o comando a ser executado. Deve corresponder exatamente a um dos nomes de alias exclusivos especificados no arquivo de definição da integração.  | 
  | Opcional. Um objeto YAML onde: 
  | 
  | Opcional. Um objeto YAML onde: 
  | 
  | Opcional. String com o nome que o agente utilizará para executar o binário de integração. Padrão: depende de  Quando presente, o agente de infraestrutura executará o binário de integração como o usuário especificado. Por exemplo, para executar o binário de integração como usuário root ao executar o agente em um   |