avance
Todavía estamos trabajando en esta característica, ¡pero nos encantaría que la probaras!
Esta característica se proporciona actualmente como parte de un programa de vista previa de conformidad con nuestras políticas de prelanzamiento.
OpenTelemetry La observabilidad para Kubernetes proporciona una configuración completa de código abierto combinada con una de primer nivel Kubernetes UI que ya es compatible con nuestra Kubernetes instrumentación patentada . Nuestra interfaz de usuario Kubernetes está diseñada para ser independiente del proveedor, lo que le permite seleccionar la instrumentación OpenTelemetry o New Relic según sus necesidades.
Este documento describe el proceso para monitorear un clúster de Kubernetes usando OpenTelemetry. Implica la instalación del gráfico Helm nr-k8s-otel-collector
dentro del clúster y el despliegue del recolector necesario para permitir una observabilidad de primera clase.
Al integrar los componentes Kubernetes en el recolector OpenTelemetry , podemos transmitir métricas, eventos y logs directamente a New Relic. Estas señales de telemetría mejoran automáticamente nuestras experiencias listas para usar, como Kubernetes Navigator, dashboarddescripción general, Kubernetes Event o la página de resumenKubernetes APM .
¿Cómo funciona?
El gráfico Helm nr-k8s-otel-collector
despliega estos recolectores OpenTelemetry :
Deamonset Collector: se implementa en cada nodo de trabajo y es responsable de recopilar métricas del host subyacente en el nodo, el
cAdvisor
, elKubelet
y recopilar registros del contenedor.Recolector de implementación: desplegar en el nodo del plano de control y responsable de recopilar la métrica del estado de Kube y el clúster de Kubernetes evento.
Requisitos
Para enviar Kubernetes telemetry data a New Relic, necesitamos un OpenTelemetry recolector . Nuestra distribución New Relic de OpenTelemetry (NRDOT) ya está configurada para monitor automáticamente un clúster de Kubernetes. Esto se logra desplegando todos los componentes necesarios a través de nuestro diagrama Helm nr-k8s-otel-collector
.
Si cambia a un recolector OpenTelemetry diferente, cerciorar de que tenga todos los componentes clave que necesita:
- Procesador de atributos
- Procesador de filtro
- Receptor de log de archivos
- Procesador GroupByAttrs
- Receptor de hostmetrics
- Procesador K8sAttributes
- Receptor de eventos K8
- Receptor Kubelet
- Procesador de transformación de métricas
- Receptor Prometheus
- Procesador de detección de recursos
- Procesador de recursos
- Transformar procesador
Sugerencia
¿Está interesado en emplear nuestra capacidad de observación Kubernetes OpenTelemetry , pero no desea instalar nuestro diagrama Helm?
- Cerciorar de que su recolector incluya los componentes resaltados anteriormente.
- Siga las instrucciones de configuración proporcionadas en este documento para configurar su recolector adecuadamente.
Instale su clúster de Kubernetes con OpenTelemetry
Para que OpenTelemetry esté en funcionamiento en su clúster, siga estos pasos:
Descargue el archivo de valores del gráfico Helm y adáptelo para cumplir con sus requisitos específicos.
El nombre del clúster y son obligatorios.
Consulta la lista completa de parámetros de configuración.
Instale el gráfico Helm junto con el archivo de valores.
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm upgrade nr-k8s-otel-collector newrelic/nr-k8s-otel-collector -f your-custom-values.yaml -n newrelic --create-namespace --installCerciorar de que la cápsula se volteó correctamente.
bash$kubectl get pods -n newrelic --watchCerciorar de que New Relic obtenga los datos que necesita, incluidos métricas, eventos y logs, ejecutando la consulta adecuada. Consulte Introducción al generador de consultas para obtener más información.
FROM Metric SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'FROM InfrastructureEvent SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'FROM Log SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'Si está empleando un clúster de GKE AutoPilot, es necesario aplicar la siguiente configuración en su archivo
values.yaml
para garantizar la compatibilidad y el funcionamiento adecuado del recolector OpenTelemetry .privileged: falsereceivers:filelog:enabled: falsedaemonset:containerSecurityContext:privileged: false
Desinstale su clúster de Kubernetes con OpenTelemetry
Para detener el monitoreo de un clúster de Kubernetes con OpenTelemetry, ejecute este comando:
$helm uninstall nr-k8s-otel-collector -n newrelic
Reducir la ingesta de datos
La opción LowDataMode
está habilitada de forma predeterminada para ingestar solo la métrica requerida por nuestra interfaz de usuario Kubernetes.
Si necesita reducir aún más la ingesta de datos, aumente el intervalo de extracción en los valores del gráficonr-k8s-otel-collector
para cada componente de despliegue.
Métrica
Buscar y utilizar datos
Consulte estos documentos para obtener más información sobre cómo buscar datos:
Explora tu clúster de Kubernetes para conocer el estado de tu clúster, desde el plano de control hasta los nodos y pod.
Página de resumenKubernetes APM que ofrece información valiosa sobre su integración Kubernetes junto con su aplicación de monitor.
Resolución de problemas
Consulte el log del pod recolector que está experimentando problemas. Ejecute este comando:
$kubectl logs <otel-pod-name> -n newrelic
También puede establecer el parámetro verboseLog
en true
en el gráfico de Helm nr-k8s-otel-collector
.
Errores comunes
Consulte la sección Errores comunes en nuestro repositorio de GitHub.
Apoyo
Si tiene problemas con la observabilidad de OpenTelemetry para Kubernetes:
Eche un vistazo a la sección de problemas en GitHub para ver si hay problemas similares o considere abrir un nuevo problema.
Comunicar con el soporte de New Relic para obtener ayuda.