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-nginx
Um 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_balancer
Outro 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_balancer
Definiçõ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 |