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

Instalar o agente de infraestrutura como um contêiner

O agente de infraestrutura para Linux suporta ambientes de contêiner por padrão. Se você estiver executando um SO de contêiner ou tiver restrições que exijam a implantação do agente como um contêiner, você poderá executar uma versão conteinerizada do nosso agente de infraestrutura. Isso pode monitor métricas do próprio contêiner, bem como do host subjacente.

Usar a configuração personalizada (recomendada) ou básica permite que o agente de infraestrutura seja executado dentro de um ambiente de contêiner. Um host só pode executar uma instância do agente por vez, seja o agente em contêiner ou a versão não em contêiner.

O que você precisa

A versão conteinerizada do agente de infraestrutura requer Docker 1.12 ou superior.

A partir da versão 1.42, o agente de infraestrutura suporta containerd, portanto pode ser usado no Kubernetes v1.24+, que removeu o suporte para Dockershim, ou qualquer outra solução baseada em containerd . Se os soquetes de tempo de execução containerd e dockerd estiverem disponíveis, o agente de infraestrutura operará com o soquete de tempo de execução containerd . O contêiner deve ser executado em uma distribuição e versão Linux suportada pelo agente de infraestrutura. A imagem do contêiner está disponível e é suportada em AMD64 e ARM64 arquitetura.

O encaminhador de logs não está incluído no agente conteinerizado. Recomendamos instalar o agente no host subjacente que fornece todos os recursos.

Configuração personalizada (recomendado)

A seguir estão instruções básicas para criar uma imagem Docker personalizada no Linux. Isso permite implantar o agente de infraestrutura como um contêiner que pode monitor seu host subjacente.

Recomendação: Estenda a imagemnewrelic/infrastructure e use seu próprio arquivo de configuração do agente newrelic-infra.yml. Depois que sua imagem for construída, você poderá facilmente criar um contêiner sem precisar fornecer mais configuração de tempo de lançamento. Não forneça segredos usando variáveis de ambiente com Docker.

Docker CLI

  1. Crie o arquivo de configuração do agente newrelic-infra.yml com seu New Relic . Para obter explicações sobre opções de configuração, consulte definições de configuração.

    license_key: YOUR_LICENSE_KEY
  2. Crie o Dockerfile estendendo a imagem newrelic/infrastructure e adicione sua configuração a /etc/newrelic-infra.yml:

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  3. Crie e tag sua imagem:

    bash
    $
    docker build -t YOUR_IMAGE_NAME .
  4. Execute o contêiner a partir da imagem que você criou com os sinalizadores de execução necessários:

    bash
    $
    docker run \
    >
    -d \
    >
    --name newrelic-infra \
    >
    --network=host \
    >
    --cap-add=SYS_PTRACE \
    >
    --privileged \
    >
    --pid=host \
    >
    --cgroupns=host # required on cgroup v2 \
    >
    -v "/:/host:ro" \
    >
    -v "/var/run/docker.sock:/var/run/docker.sock" \
    >
    YOUR_IMAGE_NAME
  5. Para possíveis próximas etapas, como ver os dados na interface, consulte O que vem a seguir?

Docker Compor

  1. Crie uma pasta para armazenar os arquivos de configuração:

    bash
    $
    mkdir ~/newrelic-infra-setup
  2. Mude o diretório para aquele que você acabou de criar:

    bash
    $
    cd ~/newrelic-infra-setup
  3. Crie o arquivo de configuração do agente newrelic-infra.yml com seu New Relic . Para obter explicações sobre opções de configuração, consulte definições de configuração.

    bash
    $
    echo "license_key: YOUR_LICENSE_KEY" > newrelic-infra.yml
  4. Crie o newrelic-infra.dockerfile estendendo a imagem newrelic/infrastructure e adicione sua configuração a /etc/newrelic-infra.yml:

    bash
    $
    touch newrelic-infra.dockerfile
    bash
    $
    vim newrelic-infra.dockerfile # you can use any text editor
  5. Coloque o seguinte conteúdo no arquivo:

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  6. Crie docker-compose.yaml:

    bash
    $
    touch docker-compose.yaml
    bash
    $
    vim docker-compose.yaml # you can use any text editor

    Coloque o seguinte conteúdo no arquivo:

    version: '3'
    services:
    agent:
    container_name: newrelic-infra
    build:
    context: .
    dockerfile: newrelic-infra.dockerfile
    cap_add:
    - SYS_PTRACE
    network_mode: host
    pid: host
    privileged: true
    volumes:
    - "/:/host:ro"
    - "/var/run/docker.sock:/var/run/docker.sock"
    restart: unless-stopped
  7. Construa e inicie docker-compose:

    bash
    $
    docker-compose -f docker-compose.yaml up -d
  8. Para possíveis próximas etapas, como ver os dados na interface, consulte O que vem a seguir?

Configuração básica

Para usar a configuração básica com uma imagem base New Relic Infrastructure :

Docker CLI

  1. Execute o contêiner com os sinalizadores de execução necessários:

    bash
    $
    docker run \
    >
    -d \
    >
    --name newrelic-infra \
    >
    --network=host \
    >
    --cap-add=SYS_PTRACE \
    >
    --privileged \
    >
    --pid=host \
    >
    --cgroupns=host # required on cgroup v2 \
    >
    -v "/:/host:ro" \
    >
    -v "/var/run/docker.sock:/var/run/docker.sock" \
    >
    -e NRIA_LICENSE_KEY=YOUR_LICENSE_KEY \
    >
    newrelic/infrastructure:latest
  2. Para possíveis próximas etapas, como ver os dados na interface, consulte O que vem a seguir?

Docker Compor

  1. Crie docker-compose.yaml:

    bash
    $
    touch docker-compose.yaml
    bash
    $
    vim docker-compose.yaml # you can use any text editor

    Coloque o seguinte conteúdo no arquivo:

    version: '3'
    services:
    agent:
    container_name: newrelic-infra
    image: newrelic/infrastructure:latest
    cap_add:
    - SYS_PTRACE
    network_mode: host
    pid: host
    privileged: true
    volumes:
    - "/:/host:ro"
    - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
    NRIA_LICENSE_KEY: "YOUR_LICENSE_KEY"
    restart: unless-stopped
  2. Construa e inicie docker-compose:

    bash
    $
    docker-compose -f docker-compose.yaml up -d
  3. Para possíveis próximas etapas, como ver os dados na interface, consulte O que vem a seguir?

Privilégios de contêiner necessários

Devido ao isolamento de recursos do host e de outros contêineres via namespace Linux, um contêiner tem uma visão e controle muito restritos dos recursos de seu host subjacente por padrão. Sem esses privilégios extras, o agente de infraestrutura não poderá monitor o host e seu contêiner.

O agente de infraestrutura coleta dados sobre seu host usando arquivos de sistema e chamadas de sistema. Para mais informações sobre como o agente de infraestrutura coleta dados, consulte nossa documentação sobre monitoramento de infraestrutura e segurança. Os privilégios necessários incluem:

Obrigatório ao usar o Docker no cgroup v2, pois é privado por padrão. Isto permite ao agente reunir contêineres métricos. Está disponível desde a API do Docker engine v1.41.

Privilégio

Descrição

--network=host

Define o namespace de rede do contêiner como o namespace de rede do host. Isto permite ao agente coletar as métricas da rede sobre o host.

-v "/:/host:ro"

Bind monta o volume raiz do host no contêiner. Este acesso somente leitura à raiz do host permite ao agente coletar métricas de processo e armazenamento, bem como dados de inventário do host.

--cap-add=SYS_PTRACE

Adiciona a capacidade do Linux para trace processos do sistema. Isso permite que o agente colete dados sobre processos em execução no host. Leia mais aqui.

--privileged

--pid=host

--cgroupns=host

-v "/var/run/docker.sock:/var/run/docker.sock"

O Bind monta o soquete Docker daemon do host no contêiner. Isso permite que o agente se conecte à API do Engine através do soquete Docker daemon para coletar os dados do contêiner do host. Se você interagir com o ambiente de execução containerd, substitua esta montagem por /run/containerd/containerd.sock:/run/containerd/containerd.sock.

Este documento ajudou você na instalação?

Próximas etapas após a instalação

Para saber as próximas etapas após a conclusão da instalação, consulte O que vem a seguir?

Inventário coletado

O inventário é coletado do coletor de dados integrado do agente de infraestrutura. O agente de infraestrutura coleta esses dados para sistemas Linux rodando com contêiner.

Categoria

Fonte

Dados coletados usando

metadata

agent_config

Arquivo de configuração completo do agente

system

uptime -s, /etc/redhat-release, /proc/cpuinfo, /etc/os-release, /proc/sys/kernel/random/boot_id, /proc/sys/kernel/osrelease, /sys/class/dmi/id/product_uuid, /sys/devices/virtual/dmi/id/sys_vendor, /sys/devices/virtual/dmi/id/product_name

Dados do contêiner

Uma vez que o agente de infraestrutura esteja sendo executado em um contêiner Docker, ele poderá coletar os mesmos dados de computador host e dados de eventos que o agente de infraestrutura é capaz de coletar quando executado nativamente em um host. Para obter mais informações, consulte nossa documentação sobre como visualizar os dados do contêiner do Docker.

Imagem do agente em contêiner

A imagem do agente em contêiner é criada a partir de uma imagem base do Alpine.

Verifique o código-fonte

Esta integração é um software de código aberto. Você pode navegar pelo código-fonte e enviar melhorias ou criar seu próprio fork e construí-lo.

Copyright © 2024 New Relic Inc.

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