Se você estiver usando nossa integração Prometheus OpenMetrics, nri-prometheus
no Kubernetes, será necessário migrar para o agente Prometheus da New Relic, newrelic-prometheus-agent
, para obter a mesma experiência de monitoramento. Veja como configurar o agente Prometheus da New Relic.
Como o newrelic-prometheus-agent
está realmente executando o Prometheus server
no modo de agente, a estrutura do arquivo de configuração foi alterada para oferecer mais flexibilidade e a possibilidade de usar qualquer recurso relacionado ao scrape do servidor Prometheus, como suporte a vários métodos de autorização, configuração de reetiquetagem configurações ou dimensionamento da instância do Prometheus.
Traduzimos nosso arquivo de configuração simplificado em um arquivo de configuração do servidor Prometheus, para proporcionar uma experiência de configuração mais fácil. Sugerimos que você leia a documentação para poder acompanhar melhor este guia de migração.
Para realizar a migração, ajuste a seção de configuração no arquivo values.yml
com os valores deste documento.
Dashboards e alerta
As métricas são enviadas da mesma forma que foram enviadas usando a integração Prometheus OpenMetrics, nri-prometheus
. Em alguns casos, pode ser necessário modificar alguns metadados que foram alterados entre a integração do Prometheus OpenMetrics, nri-prometheus
e o agente do Prometheus, newrelic-prometheus-agent
.
Metadados renomeados
A tabela a seguir destaca os metadados renomeados entre a integração do Prometheus OpenMetrics, nri-prometheus
e o agente do Prometheus, newrelic-prometheus-agent
:
|
|
---|---|
|
|
|
|
|
|
|
|
| N/A |
|
|
|
|
|
|
Se quiser que os nomes de atributos de metadados nri-prometheus
anteriores persistam após a migração, você pode ativar a seguinte configuração de relabel de gravação remota no arquivo newrelic-prometheus-agent
values.yaml. Isso garantirá que o dashboards e o alerta direcionados a esses atributos continuem funcionando normalmente.
newrelic_remote_write: extra_write_relabel_configs: # Enable the extra_write_relabel_configs below for backwards compatibility with legacy POMI labels. # This helpful when migrating from POMI to ensure that Prometheus metrics will contain both labels (e.g. cluster_name and clusterName). - source_labels: [namespace] action: replace target_label: namespaceName - source_labels: [node] action: replace target_label: nodeName - source_labels: [pod] action: replace target_label: podName - source_labels: [service] action: replace target_label: serviceName - source_labels: [cluster_name] action: replace target_label: clusterName - source_labels: [job] action: replace target_label: scrapedTargetKind - source_labels: [instance] action: replace target_label: scrapedTargetInstance
Importante
Para estar em conformidade com o Prometheus DataModel, os nomes dos rótulos do Kubernetes (label.kubernetesLabel
) são limpos após serem copiados para substituir qualquer caractere não suportado em _
. Por exemplo, o rótulo Kubernetes k8s.io/app
é adicionado como k8s_io_app
. O prefixo label.
foi removido. O valor do rótulo permanece inalterado.
Metadados removidos
Os seguintes metadados não estão disponíveis com o agente Prometheus, newrelic-prometheus-agent
:
deploymentName
integrationName
integrationVersion
nrMetricType
promMetricType
targetName
scrapedTargetName
Descoberta de destino do Kubernetes
Melhoramos a configuração de descoberta de destino adicionando Jobs
. Veja como configurar a descoberta de destino do Kubernetes.
Os comportamentos padrão foram alterados entre o Prometheus OpenMetrics e o agente Prometheus. Embora, por padrão, o Prometheus OpenMetrics extraia pod e serviços contendo prometheus.io/scrape=true
como um rótulo ou anotação, o agente Prometheus extrai todo o destino annotated com newrelic.io/scrape: "true"
o pod e os serviços anotados com prometheus.io/scrape=true
só serão copiados por padrão se corresponde a uma das integrações prometheus suportadas pela New Relic, verifique a documentação de configuração do scrape para obter detalhes.
As métricas do nó não são mais raspadas por padrão no agente Prometheus, pois pode causar duplicação de métricas, já que normalmente é usado pela integração Kubernetes da New Relic.
Tipos métricos
O Prometheus OpenMetrics, nri-prometheus
, como solução customizada, converte a métrica do Prometheus em métrica do New Relic antes de enviá-las, aplicando mapeamento de acordo com a leitura do tipo de metadados métricos dos dados extraídos: # TYPE <metric_type>
.
No agente Prometheus, newrelic-prometheus-agent
, que utiliza um servidor Prometheus padrão, as métricas são enviadas diretamente para o endpoint de gravação remota do New Relic, que trata dessa conversão com base nos nomes das métricas. Algumas métricas podem não ser convertidas corretamente pelo endpoint de gravação remota:
- A métrica do Prometheus Counter sem o sufixo de nome
total
,count
,sum
oubucket
será convertida como Gauge. - A métrica do medidor Prometheus com o sufixo de nome
total
,count
,sum
oubucket
será convertida como Counter.
Para corrigir isso, você pode configurar opções de reetiquetagem de mapeamento de tipo de métrica, verificar as transformações de métrica e rótulo para obter detalhes.
Transformações
As transformações do Prometheus OpenMetrics, nri-prometheus
agora foram substituídas pela configuração de relabel do Prometheus. Veja uma lista de exemplos de configurações de configuração de reetiquetagem.
Autoinstrumentação
Semelhante ao Prometheus OpenMetrics (nri-prometheus
), o agente Prometheus (newrelic-prometheus-agent
) coleta automaticamente métricas internas. Essas métricas possuem o prefixo prometheus_
e você pode utilizá-las para observar o status da instância do Prometheus. Por defeito, apenas é enviado um conjunto reduzido destas métricas. Você pode encontrar a lista de métricas no arquivo valores.yaml padrão do gráfico, pesquisando por job_name: self-metrics
.
Disponibilizamos também um dashboard com curadoria de autométrica com informações de desempenho e saúde, e também volume métrico enviado. Instale o início rápido que contém o dashboard do agente Prometheus em sua conta New Relic.
Mantenha a integração do Prometheus OpenMetrics durante a migração
A New Relic deseja garantir uma migração tranquila e contínua para nossos clientes. Você pode manter a integração do Prometheus OpenMetrics, nri-prometheus
, o agente do Prometheus, newrelic-prometheus-agent
, ou ambos.
Para preservar o nri-prometheus e não usar o agente Prometheus a partir de agora, defina seu arquivo values.yaml
da seguinte forma:
nri-metadata-injection: enabled: true
nri-prometheus: enabled: true
newrelic-prometheus-agent: enabled: false
Siga as etapas explicadas neste documento para atualizar o cluster do Kubernetes usando Helm.