• 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 Apache Druid

A integração do Apache Druid com New Relic aprimora sua capacidade de monitor, analisar e otimizar o desempenho do seu cluster Druid. A integração Apache Druid fornece poderoso recurso de monitoramento e alertas para que você possa garantir a confiabilidade e eficiência de sua plataforma de análise baseada em Druid.

Depois de configurar a integração do Apache Druid com New Relic, veja seus dados em um dashboard pronto para uso.

Configure a integração do Apache Druid

Conclua as etapas a seguir para configurar a integração do Apache Druid:

Instalar o agente de infraestrutura

Para usar a integração do Apache Druid, primeiro é necessário instalar o agente de infraestrutura no mesmo host. O agente de infraestrutura monitora o próprio host, enquanto a integração Apache Druid amplia seu monitoramento com dados específicos para seu cluster Druid.

Expor a métrica do Druid usando o Prometheus Emitter

  1. Adicione prometheus.emitter ao final da lista de carregamento de extensões em seu arquivo apache-druid-$version/conf/druid/single-server/micro-quickstart/_common/common.runtime.properties :

    druid.extensions.loadList=["druid-hdfs-storage", "druid-kafka-indexing-service", "druid-datasketches", "druid-multi-stage-query", "prometheus-emitter"]
  2. Nos caminhos de arquivo listados na coluna da esquerda, adicione o trecho de código listado nas colunas da direita.

    Caminho de arquivo

    Trecho de código

    PATH/TO/broker/runtime.properties

    # Monitoring
    druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
    druid.emitter=prometheus
    druid.emitter.logging.logLevel=info
    druid.emitter.prometheus.strategy=exporter
    druid.emitter.prometheus.port=19091

    PATH/TO/coordinator-overlord/runtime.properties

    # Monitoring
    druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
    druid.emitter=prometheus
    druid.emitter.logging.logLevel=info
    druid.emitter.prometheus.strategy=exporter
    druid.emitter.prometheus.port=19092

    PATH/TO/historical/runtime.properties

    # Monitoring
    druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
    druid.emitter=prometheus
    druid.emitter.logging.logLevel=info
    druid.emitter.prometheus.strategy=exporter
    druid.emitter.prometheus.port=19093

    PATH/TO/middleManager/runtime.properties

    # Monitoring
    druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
    druid.emitter=prometheus
    druid.emitter.logging.logLevel=info
    druid.emitter.prometheus.strategy=exporter
    druid.emitter.prometheus.port=19094

    PATH/TO/router/runtime.properties

    # Monitoring
    druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor"]
    druid.emitter=prometheus
    druid.emitter.logging.logLevel=info
    druid.emitter.prometheus.strategy=exporter
    druid.emitter.prometheus.port=19095

Instale a extensão do emissor Prometheus

  1. Execute os seguintes comandos para criar uma pasta chamada prometheus-emitter dentro do diretório de pastas extensions da configuração do Apache Druid:

    bash
    $
    cd apache-druid-$version/extensions/
    bash
    $
    sudo mkdir prometheus-emitter
  2. Navegue até o diretório de download do druid e execute o seguinte comando para criar arquivos jar que o servidor chama na inicialização:

    bash
    $
    sudo java \
    >
    -cp "lib/*" \
    >
    -Ddruid.extensions.directory="extensions" \
    >
    -Ddruid.extensions.hadoopDependenciesDir="hadoop-dependencies" \
    >
    org.apache.druid.cli.Main tools pull-deps \
    >
    --no-default-hadoop \
    >
    -c "org.apache.druid.extensions.contrib:prometheus-emitter:24.0.0"

Configurar nri-prometheus para Apache Druid

  1. Crie um arquivo chamado nri-prometheus-config.yml:

    bash
    $
    touch /etc/newrelic-infra/integrations.d/nri-prometheus-config.yml
  2. Adicione o trecho a seguir ao arquivo nri-prometheus-config.yml para ativar a captura de dados do Apache Druid:

    integrations:
    - name: nri-prometheus
    config:
    # When standalone is set to false nri-prometheus requires an infrastructure agent to work and send data. Defaults to true
    standalone: false
    # When running with infrastructure agent emitters will have to include infra-sdk
    emitters: infra-sdk
    # The name of your cluster. It's important to match other New Relic products to relate the data.
    cluster_name: "Apache-druid"
    targets:
    - description: Secure etcd example
    urls: ["http://<YOUR_HOST_IP>:19091/metrics","http://<YOUR_HOST_IP>:19092/metrics", "http://<YOUR_HOST_IP>:19093/metrics","http://<YOUR_HOST_IP>:19094/metrics","http://<YOUR_HOST_IP>:19095/metrics"]
    # tls_config:
    # ca_file_path: "/etc/etcd/etcd-client-ca.crt"
    # cert_file_path: "/etc/etcd/etcd-client.crt"
    # key_file_path: "/etc/etcd/etcd-client.key"
    # Whether the integration should run in verbose mode or not. Defaults to false.
    verbose: false
    # Whether the integration should run in audit mode or not. Defaults to false.
    # Audit mode logs the uncompressed data sent to New Relic. Use this to log all data sent.
    # It does not include verbose mode. This can lead to a high log volume, use with care.
    audit: false
    # The HTTP client timeout when fetching data from endpoints. Defaults to "5s" if it is not set.
    # This timeout in seconds is passed as well as a X-Prometheus-Scrape-Timeout-Seconds header to the exporters
    # scrape_timeout: "5s"
    # Length in time to distribute the scraping from the endpoints. Default to "30s" if it is not set.
    scrape_duration: "5s"
    # Number of worker threads used for scraping targets.
    # For large clusters with many (>400) endpoints, slowly increase until scrape
    # time falls between the desired `scrape_duration`.
    # Increasing this value too much will result in huge memory consumption if too
    # many metrics are being scraped.
    # Default: 4
    # worker_threads: 4
    # Whether the integration should skip TLS verification or not. Defaults to false.
    insecure_skip_verify: false
    timeout: 10s

Encaminhar logs do Druid para New Relic

  1. Edite o arquivo de log denominado logging.yml localizado no seguinte caminho:

    bash
    $
    cd /etc/newrelic-infra/logging.d
  2. Adicione o seguinte trecho ao arquivo logging.yml :

    - name: druid-logs
    file: /home/<Druid-Download Directory>/log/*.log
    attributes:
    logtype: apache-druid

Reinicie o agente de infraestrutura

Use as instruções em nossos documentos do agente de infraestrutura para reiniciar seu agente de infraestrutura. Este é um comando básico que deve funcionar para a maioria das pessoas:

bash
$
sudo systemctl restart newrelic-infra.service

Veja sua métrica Druid no New Relic

Depois de concluir a configuração acima, você poderá visualizar sua métrica usando nosso modelo dashboard pré-construído. Para acessar este dashboard:

  1. Vá para one.newrelic.com > + Add data.

  2. Clique na guia do Dashboards .

  3. Na caixa de pesquisa, digite Apache druid.

  4. Selecione-o e clique em Install.

    Para instrumentar o Apache Druid início rápido e ver métricas e alertas, você também pode seguir nossa página Apache Druid início rápido clicando no botão Install now .

    Aqui está um exemplo de consulta para verificar o tamanho médio do segmento Druid:

    SELECT average(druid_segment_size) AS 'MiB' FROM Metric SINCE 30 MINUTES AGO

Qual é o próximo?

Para saber mais sobre como construir uma consulta NRQL e gerar um painel, confira estes documentos:

  • Introdução ao criador de consulta para criação de consultas básicas e avançadas.

  • Introdução aos dashboards para personalizar seu dashboard e realizar diversas ações.

  • Gerencie seu dashboard para ajustar o

    modo de exibição ou para adicionar mais conteúdo ao dashboard.

Copyright © 2024 New Relic Inc.

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