• /
  • 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

Crie sua própria integração: New Relic Flex

New Relic fornece integração e início rápido para muitos serviços e estruturas populares. Se você já estiver usando o New Relic e quiser relatar dados de um serviço para o qual não temos uma integração, você pode criar sua própria integração seguindo estas opções:

  • Com , você pode usar nossa ferramenta Flex leve (recomendada) ou construir uma integração completa no host usando nosso SDK de integração.
  • Para soluções de monitoramento de telemetria (métrica, trace), utilize nossos SDKs de telemetria.
  • Crie um aplicativo New Relic personalizado que use sua própria funcionalidade de interface JavaScript.

O que é o New Relic Flex?

Flex é uma integração completa e independente de aplicativo New Relic que permite coletar eventos e métricas de uma ampla gama de serviços. Ele vem junto com nosso agente de infraestrutura. Você pode instrumentar qualquer aplicativo que exponha métrica por meio de um protocolo padrão (HTTP, arquivo, shell) em um formato padrão (por exemplo, JSON ou texto simples): você cria um arquivo de configuração YAML, inicia o agente de infraestrutura e seus dados são reportados ao New Relic.

Depois de coletar e limpar os dados, você pode consultar os dados do Flex no New Relic, criar gráficos personalizados para eles e usar esses dados no seu painel.

Verifique a compatibilidade e os requisitos

Certifique-se de que seu sistema atende a estes requisitos:

  1. Crie uma conta gratuita se ainda não tiver feito isso. É grátis!

  2. A conta New Relic é compatível com estes sistemas operacionais e plataformas:

    • Kubernetes
    • Linux
    • Mac OS
    • Windows
  3. Veja nossos requisitos para o documento de agente de infraestrutura para garantir que seu sistema e qualquer integração no host que você configurar atendam aos requisitos.

  4. O Flex vem junto com nosso agente de infraestrutura versão 1.10.7 ou superior, rodando em Linux, Windows ou Kubernetes.

Veja como identificar versões desatualizadas do agente no documento da interface do usuário para verificar sua versão ou atualize o documento do agente de infraestrutura se precisar atualizá-lo.

instalação

Siga estas etapas para instalar o New Relic Flex:

Instalar o agente de infraestrutura

A partir da versão 1.10.7 do agente de infraestrutura New Relic , O Flex vem junto com o agente. Para instalar o agente de infraestrutura, consulte:

  • Instale o agente de infraestrutura para Linux

  • Instale o agente de infraestrutura para Windows

    Dica

    O agente deve ser executado no modo root/administrador . Você pode iniciar, parar e reiniciar o agente de infraestrutura a partir da linha de comando.

Verifique se o Flex está instalado e funcionando

Siga esses passos:

  1. Navegue até a pasta integração do agente de infraestrutura:

    • Para Linux: /etc/newrelic-infra/integrations.d
    • Para Windows: C:\Program Files\New Relic\newrelic-infra\integrations.d\
  2. Crie o arquivo de configuração de integração. Por exemplo, integrations.yml, se não existir.

  3. Adicione a configuração Flex ao arquivo:

    integrations:
    - name: nri-flex
    config:
    name: just-testing

    Se você já tiver uma seção integrations no arquivo, adicione nri-flex a ela.

  4. Após alguns minutos, vá para one.newrelic.com > All capabilities > Query your data e execute esta consulta:

    FROM flexStatusSample
    SELECT *
    LIMIT 1

    A consulta deve fornecer uma tabela semelhante a esta:

    Flex status table

    Vá para one.newrelic.com > All capabilities > Query your data, adicione sua consulta no criador de consulta e clique em Run.

    Dica

    Se você não obtiver nada, certifique-se de que seu arquivo de configuração YAML esteja bem recuado e que os níveis de recuo não usem tabulações em vez de espaços. Você pode usar um validador YAML, como o YAML Lint

Sua primeira integração Flex

Este exemplo mostra como coletar métricas de disco de sistemas de arquivos não suportados nativamente pelo New Relic usando o comando df no Linux.

O objetivo é processar a saída do comando df , mostrando o sistema de arquivos e blocos de 1 byte, excluindo sistemas de arquivos já suportados pelo agente. Se sistemas de arquivos não suportados não estiverem montados, remova os argumentos -x.

$ df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4
Filesystem Type 1-blocks Used Available Capacity Mounted on
devtmpfs devtmpfs 246296576 0 246296576 0% /dev
go_src vboxsf 499963170816 361339486208 138623684608 73% /go/src

Você precisa converter a saída de texto tabular acima em um conjunto de amostras JSON equivalentes com o seguinte formato. Observe que o agente decora cada amostra com campos extras:

{
"event": {
"event_type": "FileSystemSample",
"fs": "go_src",
"fsType": "vboxsf",
"capacityBytes": 499963170816,
"usedBytes": 361345331200,
"availableBytes": 138617839616,
"usedPerc": 73,
"mountedOn": "/go/src"
}
}

Primeiro, você precisa informar ao Flex como executar a transformação do texto da tabela acima em JSON, especificando o seguinte:

  • Nome da métrica: FileSystem
  • Qual comando executar: df -PT -B1 ...
  • Como dividir a tabela de saída de df
  • Como atribuir valores a nomes métricos fornecidos

Isso é feito colocando o conteúdo abaixo no arquivo de configuração YAML:

integrations:
- name: nri-flex
config:
name: linuxFileSystemIntegration
apis:
- name: FileSystem
commands:
- run: 'df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4'
split: horizontal
split_by: \s+
row_start: 1
set_header: [fs,fsType,capacityBytes,usedBytes,availableBytes,usedPerc,mountedOn]
perc_to_decimal: true
  • apis é uma matriz de entradas para cada amostra. Cada entrada define um nome para a amostra, bem como os comandos e procedimentos para obter e processar a amostra. A primeira entrada no exemplo é chamada FileSystem, que é usada para nomear o evento FileSystemSample .

  • commands especifica como obter as informações do aplicativo CLI:

    • run: 'df -PT -B1... especifica o comando a ser executado.
    • split: horizontal afirma que cada linha de saída pode retornar uma métrica.
    • split_by explica como dividir cada linha em campos diferentes. Neste caso, usamos a expressão regular \s+ , que informa ao Flex que qualquer sequência de um ou mais espaços em branco é um separador.
    • row_start especifica que os dados começam logo após a primeira linha (que é 0).
    • set_header especifica, em ordem, um nome correspondente para cada valor da matriz mencionada.
    • perc_to_decimal: true indica converter qualquer sequência de porcentagem em um valor decimal, removendo o símbolo % à direita.

Depois de criar a configuração do Flex, o agente de infraestrutura detecta automaticamente a nova configuração e começa a coletar dados. Para verificar se sua nova integração está funcionando, execute esta consulta:

FROM FileSystemSample
SELECT mountedOn, fs, usedBytes, capacityBytes, usedBytes

A consulta deve fornecer uma tabela semelhante a esta:

Flex status table

Vá para one.newrelic.com > All capabilities > Query your data, adicione sua consulta no criador de consulta e clique em Run.

Como adicionar mais integração Flex

Você pode adicionar mais integração Flex adicionando a configuração no arquivo ìntegrations.d . A configuração autônoma do Flex começa com o nome da integração e você pode testá-la invocando o Flex a partir da linha de comando:

bash
$
sudo /var/db/newrelic-infra/newrelic-integrations/bin/nri-flex --verbose --pretty --config_file ./myconfig.yml

Por exemplo, se você quiser adicionar esta integração:

name: linuxOpenFD
apis:
- name: linuxOpenFD
commands:
- run: cat /proc/sys/fs/file-nr | awk '{print $1-$2,$3}'
split: horizontal
set_header: [openFD,maxFD]
regex_match: true
split_by: (\d+)\s+(.*)

Você deve abrir o arquivo ìntegrations.d e adicioná-lo assim:

integrations:
- name: nri-flex
config:
name: linuxFileSystemIntegration
apis:
- name: FileSystem
commands:
- run: 'df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4'
split: horizontal
split_by: \s+
row_start: 1
set_header: [fs,fsType,capacityBytes,usedBytes,availableBytes,usedPerc,mountedOn]
perc_to_decimal: true
- name: linuxOpenFD
commands:
- run: cat /proc/sys/fs/file-nr | awk '{print $1-$2,$3}'
split: horizontal
set_header: [openFD,maxFD]
regex_match: true
split_by: (\d+)\s+(.*)

Se você precisar adicionar várias configurações Flex ao arquivo ìntegrations.d , siga este padrão:

integrations:
- name: nri-flex
config:
name: flexName_1
# Flex config goes here
- name: nri-flex
config:
name: flexName_2
# Flex config goes here
- name: nri-flex
config:
name: flexName_3
# Flex config goes here

Para minimizar problemas de recuo, você pode vincular a arquivos de configuração Flex independentes usando a diretiva config_template_path :

integrations:
- name: nri-flex
config_template_path: /path/to/flex/integration.yml

Você pode encontrar muitos exemplos de especialização personalizada no repositório Flex.

Flex e Kubernetes

Há 3 imagens de contêiner que você pode usar, dependendo de como deseja configurar o Flex no Kubernetes:

  • Para executar o Flex apenas para monitor serviços em execução no Kubernetes, use a imagem do contêiner newrelic/infrastructure. Esta imagem contém apenas o agente de infraestrutura, e a integração docker e Flex. Com esta opção, você não poderá realizar a descoberta de serviços ou usar outras integrações New Relic .

  • Para executar o Flex junto com outras integrações New Relic , use a imagem do contêiner newrelic/infrastructure-bundle. Isso adiciona todas as outras integrações New Relic .

  • Se você também quiser monitor seu cluster do Kubernetes, use a imagem de contêiner newrelic/infrastructure-k8s. Esta imagem adiciona toda a integração, incluindo a integração Kubernetes .

Importante

Se você estiver executando serviços no Kubernetes, recomendamos usar as imagens de contêiner oficiais do New Relic. Consulte Introdução à integração do Kubernetes para obter mais informações.

Configurar o Flex no Kubernetes

Após instalar a integração do Kubernetes, você terá o agente de infraestrutura em execução no seu cluster, bem como estes 2 configMap:

  • nri-default-integration-cfg: Este é um configMap usado para habilitar a integração do New Relic Kubernetes. Você pode removê-lo se não quiser usar esta integração. Se você instalou o Kubernetes com o comando Helm, o valor integrations_config precisa ser preenchido. Veja o repositório de gráficos Helm do New Relic para mais informações.

  • nri-integration-cfg-example: Este é um configMap usado para habilitar a integração do Flex e de outros New Relic.

Para habilitar o Flex, crie uma seção de dados em configMap e adicione a configuração de integração do agente de infraestrutura nesta nova seção:

apiVersion: v1
kind: ConfigMap
metadata:
name: nri-integration-cfg-example
namespace: default
data:
nri-flex.yml: |
integrations:
- name: nri-flex
config:
name: example
apis:
- event_type: ExampleSample
url: https://my-host:8443/admin/metrics.json

Configuração de amostra

Procurando por amostras diferentes? Aqui estão alguns exemplos de configuração para ajudar você a começar com várias fontes de dados:

Resolução de problemas

Se você encontrar algum problema com a configuração do Flex, poderá seguir estas etapas básicas de resolução de problemas:

  • Teste a configuração sem o agente de infraestrutura: você pode testar manualmente um arquivo de configuração para garantir que a saída atenda às suas expectativas executando um comando como este. Lembre-se de substituir <FILE_NAME> pelo nome do seu arquivo de configuração:

    bash
    $
    # Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/
    $
    ./nri-flex -verbose -pretty -config_path /etc/newrelic-infra/integrations.d/<FILE_NAME>
    $
    $
    # Windows default path: C:\Program Files\New Relic\newrelic-infra\newrelic-integrations
    $
    .\nri-flex.exe -verbose -pretty -config_path "C:\Program Files\New Relic\newrelic-infra\integrations.d\<FILE_NAME>"

    Isso fornecerá uma saída mostrando o log de depuração e a carga JSON que será integrada ao agente de infraestrutura. Certifique-se de que o Flex esteja obtendo e formatando sua telemetria conforme esperado antes de continuar com o restante das etapas de resolução de problemas. Saiba mais sobre como testar a configuração do Flex no repositório GitHub.

  • Teste com o agente de infraestrutura no modo dry-run : use o sinalizadordry-run no agente de infraestrutura para testar sua configuração do Flex. Verifique se a saída contém a telemetria que você espera relatar ao New Relic.

  • Depure a integração com o agente de infraestrutura: certifique-se de que o agente esteja reportando os dados de telemetria conforme esperado, habilitando o log de depuração no agente de infraestrutura.

Dica

Você pode obter o binário autônomo aqui. Veja o arquivo README para saber mais sobre o Flex

Copyright © 2024 New Relic Inc.

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