devops

Observabilidad de pila completa en Grafana Cloud: Cómo investigar problemas a través de servicios e infraestructura.

Fuente: grafana.com 8 min de lectura

Compartir

Observabilidad de pila completa en Grafana Cloud: Cómo investigar problemas a través de servicios e infraestructura.

Estás leyendo un resumen. El contenido completo está en grafana.com.

Muchas veces, la parte más difícil de la resolución de problemas no es arreglar el problema en sí. Es averiguar por dónde empezar. Como ingenieros, es fácil perder la cuenta de cuántas veces hemos abierto registros, luego 10 pestañas de métricas y otras 10 pestañas con consultas de trazas, solo para terminar de nuevo en los registros tratando de encontrar una causa raíz. Las aplicaciones modernas funcionan en varias capas de servicios e infraestructura, y entender un problema a menudo significa conectar información dispersa a través de diferentes recursos, equipos y señales de observabilidad. Grafana Cloud Application Observability y Kubernetes Monitoring unen ese contexto, proporcionando una vista de pila completa a través de aplicaciones, infraestructura y entornos de Kubernetes. Comenzando tu investigación desde un servicio, pod, nodo, espacio de nombres o clúster, puedes saltar rápidamente a los registros, trazas y perfiles que ayudan a explicar lo que está sucediendo, todo dentro de los flujos de trabajo que ya utilizas. En Grafana Cloud, esta experiencia es impulsada por el grafo de conocimiento, que modela automáticamente tus aplicaciones e infraestructura en un grafo unificado. Este grafo mapea la telemetría a cada entidad conectada, incluidos servicios, pods, nodos, clústeres, bases de datos y cuentas en la nube. Las vistas resultantes te ayudan a visualizar estas relaciones y datos de observabilidad juntos en un solo lugar, para que puedas correlacionar señales, entender dependencias y pasar del síntoma a la causa raíz más rápidamente. En este post, abordaremos un ejemplo de cómo la observabilidad de pila completa en Grafana Cloud te ayuda a investigar problemas a través de las capas de aplicación e infraestructura, y cómo puedes personalizar configuraciones de grafo de conocimiento para adaptarlas a tu entorno. De entidad a información: un ejemplo de flujo de trabajo Grafana Cloud incluye múltiples características y vistas para la observabilidad de pila completa a través de tus aplicaciones, infraestructura y entornos de Kubernetes. Esto elimina la necesidad de escribir consultas manualmente o saltar entre tableros. Al juntar automáticamente señales y visualizar relaciones entre servicios e infraestructura, puedes identificar problemas y encontrar causas raíces más rápido. Cada una de las siguientes características está diseñada para una etapa diferente de la investigación, con las entidades, relaciones e información detrás de ellas impulsadas por el grafo de conocimiento. RCA workbench te ayuda a investigar incidentes al reunir información, dependencias y telemetría en una línea de tiempo única. El grafo de entidades proporciona una representación visual de las relaciones entre servicios, infraestructura y otros componentes de tu entorno, facilitando la comprensión de dependencias e identificación de posibles causas raíces. El catálogo de entidades actúa como un inventario central de todos los servicios e infraestructura descubiertos por el grafo de conocimiento, combinando estado de salud, información, métricas y metadatos para que puedas identificar rápidamente lo que necesita atención. Desde cualquiera de estas características, puedes acceder directamente a registros, trazas y perfiles de una entidad determinada. La pestaña de Grafana Drilldown se abre automáticamente con filtros derivados de las configuraciones de entidad, lo que facilita correlacionar errores detectados a partir de métricas con otras señales de telemetría. Para ilustrar cómo funciona esto en la práctica, usemos un ejemplo. Es tarde en la noche y acabas de recibir una alerta a través de Grafana Alerting en Slack que te provoca sudar frío. Sin saber por dónde empezar, sigues el enlace proporcionado a RCA Workbench, para poder explorar todas las posibles causas de un problema particular correlacionadas a lo largo del tiempo y las dependencias del servicio afectado. Hay algunas informaciones sobre tu servicio en falla, así que vas a revisar la telemetría que tu aplicación está emitiendo. Has identificado el síntoma, pero ¿qué está fallando realmente? ¿El problema es con el pod de Kubernetes? ¿Otro servicio? ¿La base de datos? Buenas noticias: no necesitas salir del workbench para verificar la imagen completa. En lugar de saltar entre herramientas, puedes explorar las entidades conectadas del servicio, incluidos microservicios y su componente frontend, directamente desde el workbench. Varios servicios relacionados muestran actividad, pero uno destaca: tu base de datos PostgreSQL parece estar fallando. Un salto rápido a los registros de la base de datos revela la causa raíz. La base de datos tiene demasiadas conexiones simultáneas y está rechazando nuevas, lo que está causando que algunos servicios relacionados fallen. Desde allí, puedes comenzar a solucionar problemas, ya sea aumentando recursos o escalando horizontalmente instancias adicionales. También puedes crear y compartir URL acortadas que lleven a tus compañeros de equipo directamente a la misma vista, facilitando la colaboración durante las investigaciones. Podrías notar que cuando abres una de las vistas de Drilldown, algunos filtros ya están aplicados para mostrar solo los datos más relevantes. Esto se debe a que el grafo de conocimiento es configurable y puede adaptarse a tus necesidades. Veamos más de cerca cómo funcionan estas configuraciones y cómo puedes personalizarlas para tu entorno. A tu manera: personalizando configuraciones Como se mostró en el ejemplo anterior, Drilldown es una herramienta poderosa que te ayuda a entender tus datos sin aprender un lenguaje de consulta completamente nuevo. Sin embargo, identificar los campos y etiquetas que son más útiles en tus entornos puede ser un desafío, ya que cada sistema y equipo puede seguir diferentes convenciones para estructurar y emitir telemetría. Hay configuraciones predeterminadas que controlan cómo el grafo de conocimiento filtra, restringe y correlaciona tus datos de observabilidad con las entidades en tu entorno. Estas configuraciones cubren escenarios comunes al mapear etiquetas como pod, espacio de nombres y clúster, junto con campos estándar de OpenTelemetry como service.name y service.namespace para registros. Hay muchas configuraciones potenciales: diferentes estrategias de etiquetado, OpenTelemetry o no, convenciones internas, y más. Esto resulta en un número casi infinito de posibles escenarios. En lugar de tratar de soportar cada configuración de forma predeterminada, empoderamos a los usuarios para personalizar su propia experiencia dentro del grafo de conocimiento. Creando y editando una configuración Puedes crear configuraciones para entornos específicos, aplicarlas solo a ciertos tipos de entidades o definir emparejadores basados en propiedades de entidad. Incluso puedes configurarlas para consultar cualquier fuente de datos base que elijas. Tomemos el siguiente ejemplo, que muestra una nueva configuración creada para mapear la propiedad de entidad deployment.environment a la etiqueta de registro service_namespace, y la propiedad de entidad service a la etiqueta de registro service_name. Además, los filtros aseguran que esta configuración se aplique solo a entidades cuyo entorno de despliegue comience con prod. Esto podría representar un escenario real en el cual tus métricas de producción usan deployment_environment, mientras que tus registros solo incluyen service_namespace. Para aprender más sobre cómo crear y editar correlaciones, consulta nuestra documentación. Resolviendo conflictos de configuración En algunos casos, las configuraciones pueden superponerse o entrar en conflicto debido a escenarios de coincidencia. Cuando esto sucede, el orden de prioridad definido en la página de configuración determina qué configuración prevalece. Las configuraciones se evalúan como una lista ordenada, por lo que ajustar su prioridad te permite controlar cómo se resuelven los conflictos. Manejo de configuraciones no coincidentes Si ninguna configuración coincide (o si los mapeos no se pueden aplicar), se te mostrará una pantalla adicional que te permite aplicar temporalmente una configuración incluso si no coincide automáticamente. Esto asegura que aún puedas explorar señales de telemetría sin necesidad de ajustar de inmediato tu configuración. Mejores prácticas para configuraciones Aunque el sistema está diseñado para ser flexible, algunas mejores prácticas pueden ayudar a garantizar una experiencia más fluida: Crea una configuración predeterminada sensata que coincida con la mayoría de tus entornos. Agrega configuraciones más específicas para casos especiales, como diferentes equipos usando diferentes espacios de nombres o etiquetas de entorno para registros o trazas, para lograr un filtrado de telemetría más granular. Coloca las configuraciones predeterminadas al final de la lista de prioridades para que las más específicas tengan prevalencia. Usa campos y etiquetas consistentes en métricas, registros, trazas y perfiles para facilitar la correlación. Agrega tantos mapeos como sea posible para reducir búsquedas. Los mapeos son opcionales, por lo que si una propiedad de entidad está ausente, simplemente no se aplicará como filtro. También puedes usar el proveedor de Grafana Terraform para automatizar la creación y gestión de configuraciones. Para aprender más, consulta nuestra documentación del grafo de conocimiento y Terraform. Cómo aprender más El grafo de conocimiento en Grafana Cloud ofrece una forma poderosa de unificar tus señales de observabilidad y acelerar el análisis de causas raíz. Para profundizar en cómo dar forma a tu telemetría y optimizar tu grafo, explora los siguientes recursos: Configurar correlación de telemetría: Aprende a definir mapeos explícitos entre entidades y fuentes de datos en detalle. Calidad de instrumentación: Comprende la línea base para dar forma a tus trazas y métricas para asegurar que los datos de tu aplicación estén correctamente vinculados. Envío de datos OTLP: Aprende cómo recopilar, procesar y exportar datos de telemetría en la pila de observabilidad de Grafana Cloud para que puedas revisarlo directamente en las vistas de entidad.

Artículos relacionados