• /
  • EnglishEspañolFrançais日本語한국어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

Instale e configure o monitoramento do Linkerd: NRDOT com manifesto

|View as Markdown (English)

Esta página instala o NRDOT Collector usando manifestos do Kubernetes, configura-o para coletar métricas do proxy e do plano de controle do Linkerd e verifica se os dados estão fluindo para o New Relic. Isso deve levar cerca de 15 minutos.

Compatibilidade e requisitos

Suportado

  • Cluster do Kubernetes (EKS, GKE, AKS ou autogerenciado) com kubectl configurado nele
  • Linkerd instalado e íntegro (linkerd check aprovado)
  • Configuração de cluster gerenciada por manifesto

Você precisa

  • Uma chave de licença de ingestãoda New Relic

  • A instalação base do manifesto do OpenTelemetry para Kubernetes foi concluída

  • Conectividade de rede para os endpoints OTLP da New Relic

  • Injeção habilitada nos namespaces que você deseja observar. Se não estiver, anote e reinicie-os:

    bash
    $
    kubectl annotate namespace <YOUR_NAMESPACE> linkerd.io/inject=enabled
    $
    kubectl rollout restart deployment -n <YOUR_NAMESPACE>

Instalar

  1. Adicione a configuração de scrape do Linkerd à lista receivers.prometheus.config.scrape_configs no seu deployment-configmap.yaml local.

    - job_name: 'linkerd-controller'
    kubernetes_sd_configs:
    - role: pod
    namespaces: { names: ['linkerd', 'linkerd-viz'] }
    relabel_configs:
    - { source_labels: [__meta_kubernetes_pod_container_port_name], action: keep, regex: admin-http }
    - { source_labels: [__meta_kubernetes_pod_container_name], target_label: component }
    - { source_labels: [__meta_kubernetes_namespace], target_label: namespace }
    - { source_labels: [__meta_kubernetes_pod_name], target_label: pod }
    - job_name: 'linkerd-proxy'
    kubernetes_sd_configs: [{ role: pod }]
    relabel_configs:
    - { source_labels: [__meta_kubernetes_pod_container_name, __meta_kubernetes_pod_container_port_name, __meta_kubernetes_pod_label_linkerd_io_control_plane_ns], action: keep, regex: ^linkerd-proxy;linkerd-admin;linkerd$ }
    - { source_labels: [__meta_kubernetes_namespace], target_label: namespace }
    - { source_labels: [__meta_kubernetes_pod_name], target_label: pod }
    - { source_labels: [__meta_kubernetes_pod_label_linkerd_io_control_plane_ns], target_label: linkerd_control_plane_ns }
    - { source_labels: [__meta_kubernetes_pod_label_linkerd_io_control_plane_component], target_label: linkerd_control_plane_component }
  2. Adicione os processadores e o pipeline metrics/linkerd ao mesmo deployment-configmap.yaml.

    processors:
    resource/strip_service:
    attributes:
    - { key: service.name, action: delete }
    - { key: service.instance.id, action: delete }
    transform/k8s:
    metric_statements:
    - context: datapoint
    statements:
    - set(attributes["k8s.namespace.name"], attributes["namespace"]) where attributes["namespace"] != nil
    - set(attributes["k8s.pod.name"], attributes["pod"]) where attributes["pod"] != nil
    - delete_key(attributes, "instance")
    transform/deployment:
    metric_statements:
    - context: datapoint
    statements:
    - set(attributes["k8s.deployment.name"], attributes["k8s.pod.name"]) where attributes["k8s.deployment.name"] == nil and attributes["k8s.pod.name"] != nil
    - replace_pattern(attributes["k8s.deployment.name"], "-[a-z0-9]+-[a-z0-9]+$", "") where attributes["k8s.deployment.name"] == attributes["k8s.pod.name"]
    transform/metadata_nullify:
    metric_statements:
    - context: metric
    statements:
    - set(description, "")
    - set(unit, "")
    filter/drop_unused:
    error_mode: ignore
    metrics:
    metric:
    - 'name == "rustls_info" or name == "proxy_build_info"'
    - 'name == "scrape_series_added"'
    - 'IsMatch(name, "stack_(poll|create|drop)_total") or name == "stack_poll_total_ms"'
    - 'IsMatch(name, "tokio_rt_.*")'
    - 'IsMatch(name, "(inbound|outbound)_http_.*_frame_size_bytes")'
    - 'IsMatch(name, "(inbound|outbound)_tcp_detect_http_duration_seconds")'
    - 'IsMatch(name, "outbound_tcp_balancer_queue_.*")'
    - 'name == "scrape_duration_seconds" or name == "scrape_samples_scraped" or name == "scrape_samples_post_metric_relabeling"'
    pipelines:
    metrics/linkerd:
    receivers: [prometheus]
    processors: [memory_limiter, resource/strip_service, transform/k8s, transform/deployment, transform/metadata_nullify, filter/drop_unused, resource/newrelic, batch]
    exporters: [otlp_http/newrelic]
  3. Reaplique o ConfigMap e reinicie a implantação do coletor.

    bash
    $
    kubectl apply -f rendered/deployment-configmap.yaml -n newrelic
    $
    kubectl rollout restart deployment -n newrelic

Encontre seus dados

  1. Vá para one.newrelic.com > All capabilities > All entities.

  2. Pesquise o nome do seu cluster.

  3. Selecione sua entidade do Linkerd para abrir o dashboard integrado.

    O dashboard integrado abrange a taxa de requisições, latência p50/p95/p99, taxa de sucesso, conexões TCP, status do certificado mTLS, integridade do plano de controle e inventário de pods na malha. Para obter informações detalhadas, consulte a documentação Find Linkerd data.

Linkerd distributed tracing com OpenTelemetry

Ative a exportação de trace de proxy e instrumente os pods do seu aplicativo para correlacionar spans de malha com traces de APM.

Colete logs do proxy do Linkerd

Opcionalmente, colete os logs do contêiner sidecar

linkerd-proxy

.

Referência de métricas

Lista completa de métricas e atributos de recursos do Linkerd coletados pelo OTel Collector.

Copyright © 2026 New Relic Inc.

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