PromQL Copilot es un asistente inteligente integrado en Grafana que convierte el lenguaje natural en instrucciones de Prometheus Query Language (PromQL). Le permite consultar datos de Prometheus y configurar alertas sin necesidad de aprender la sintaxis de PromQL.
PromQL Copilot ya está disponible en todos los espacios de trabajo compartidos de Grafana. Si aún no ha activado Managed Service for Grafana, puede probar nuestra demostración sin inicio de sesión.
Experiencia del producto:
Si le interesa PromQL para las métricas de monitoreo del rendimiento de aplicaciones (APM), haga clic en Portal de Grafana sin inicio de sesión para orígenes de datos de APM.
Si le interesa PromQL para las métricas de contenedores, haga clic en Portal de Grafana sin inicio de sesión para orígenes de datos de contenedores.
Funciones de PromQL Copilot
-
Conversión de lenguaje natural a PromQL
Describa en lenguaje natural los datos de Prometheus que desea consultar. PromQL Copilot recupera los nombres de métricas relevantes, los operadores de Prometheus y las instrucciones de PromQL, y proporciona sus descripciones.
-
Generación automática de comentarios en PromQL
PromQL Copilot genera explicaciones para las instrucciones de PromQL y las agrega como comentarios.
Cómo usar la herramienta PromQL
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, elija .
Inicie sesión en la consola de Managed Service for Grafana. En el panel de navegación izquierdo, haga clic en Workspace Management.
Inicie sesión en un panel compartido de Grafana. En el panel de navegación izquierdo, haga clic en el icono
. Después, haga clic en el icono del bot en la esquina inferior derecha.-
En el cuadro de diálogo que aparece, introduzca una descripción en lenguaje natural de la consulta de PromQL que necesita. Por ejemplo, puede introducir "Write a PromQL query to find the 10 applications with the longest average response time". Para consultar más ejemplos de consultas en lenguaje natural, consulte PromQL scenarios and sample questions.
ImportanteAsegúrese de que su pregunta incluya la palabra clave "PromQL".
-
Haga clic en Send. Después de unos segundos, PromQL Copilot le proporcionará la consulta de PromQL solicitada.
NotaSi la respuesta de PromQL Copilot no le resulta satisfactoria, haga clic en Click here to submit Text2PromQL feedback.
-
Una vez que obtenga la consulta de PromQL, péguela en la página Explore de Managed Service for Grafana. Confirme que el origen de datos del panel actual contiene las métricas deseadas.
Después, utilice la consulta personalizada de PromQL para configurar una alerta en Managed Service for Prometheus al crear una regla de alerta. Para obtener más información, consulte Create a Prometheus alert rule using a custom PromQL query.
Video de demostración
A continuación se muestra un video que demuestra cómo usar la herramienta PromQL.
Escenarios de preguntas y respuestas compatibles con Text2PromQL
Text2PromQL admite más de 20 escenarios comunes para generar consultas de PromQL. Para obtener más información, consulte la sección PromQL scenarios and sample questions más adelante. Haga clic en PromQL Copilot para ver los escenarios compatibles y las preguntas de ejemplo.
El sistema devuelve una lista de los escenarios compatibles para generar consultas de PromQL.
Ejemplos de escenarios y consultas de PromQL
A continuación se presentan tablas con las métricas comunes de Container Service y ARMS, junto con sus consultas de PromQL correspondientes.
Container Service
Utilice esta función con el panel de Grafana de una instancia de Prometheus para Container Service. Para obtener más información, consulte Prometheus instance for Container Service.
Escenario | Ejemplo de problema de sobrescritura (que involucra PromQL) |
Recursos a nivel de nodo | P: Escribe una consulta de PromQL para ver el uso de CPU de cada nodo de Kubernetes. P: Quiero ver el uso de memoria del nodo de Kubernetes "172.16.xx.xx:9100". Escríbeme una consulta de PromQL. P: Quiero configurar una alerta que se active si algún nodo del clúster actual presenta un estado anómalo. ¿Cómo escribo la consulta de PromQL? P: Escríbeme una consulta de PromQL para ver todos los nodos que actualmente están en un estado anómalo. |
Recursos a nivel de pod | P: Quiero configurar una alerta que se active si un pod se reinicia más de dos veces en 5 minutos. ¿Cómo escribo la consulta de PromQL? P: Escribe una consulta de PromQL para ver la disponibilidad de pods con Disponibilidad de pods. P: Escribe una consulta de PromQL para encontrar el pod con más anomalías en mi clúster de Kubernetes. P: Quiero ver qué trabajos han fallado. ¿Cómo escribo la consulta de PromQL? |
Recursos a nivel de contenedor | P: Escribe una consulta de PromQL para ver el contenedor con mayor uso de CPU en el namespace "default". P: Escribe una consulta de PromQL para ver el uso de memoria de cada contenedor donde P: Escribe una consulta de PromQL para ver los 5 contenedores con mayor uso de memoria. |
Métricas del panel de Lingjun | P: Escribe una consulta de PromQL para ver el uso de GPU de cada nodo en el panel de Lingjun. P: Escribe una consulta de PromQL para ver el uso de GPU de cada clúster en el panel de Lingjun. |
Monitoreo del rendimiento de aplicaciones de ARMS
Utilice esta función con el panel predeterminado de Grafana para el monitoreo del rendimiento de aplicaciones que genera ARMS.
Escenario | Preguntas de ejemplo (deben incluir la palabra clave "PromQL") |
Tiempo de respuesta promedio | P: Escribe una consulta de PromQL para ver el tiempo de respuesta promedio de cada API. P: Escribe una consulta de PromQL para ver el RT de cada API en la aplicación A. P: Escribe una consulta de PromQL para encontrar las 10 API con mayor tiempo de respuesta en la aplicación A. P: Escribe una consulta de PromQL para encontrar las 10 aplicaciones principales con los tiempos de respuesta más largos. |
Tasa de error | P: Escribe una consulta de PromQL para ver la tasa de error de cada API en la aplicación A durante el último minuto. P: En ARMS, escribe una consulta de PromQL para encontrar las 10 aplicaciones con las tasas de error más altas. P: Escribe una consulta de PromQL para encontrar las 10 API con las tasas de error más altas en la aplicación A. P: Escribe una consulta de PromQL de ARMS para encontrar las 5 API con las tasas de error más altas en la máquina 195,128.xx.xx para la aplicación A durante las últimas 2 horas. |
Número de llamadas | P: Escribe una consulta de PromQL para ver el QPS de las llamadas a Redis. P: Escribe una consulta de PromQL para ver el QPS de las llamadas a Dubbo. P: Escribe una consulta de PromQL para ver el QPS de cada API en la aplicación A. P: Escribe una consulta de PromQL para ver el número de llamadas de cada aplicación en la última hora, agrupadas por máquina. P: Escribe una consulta de PromQL de ARMS para ver el número de llamadas de cada API en la aplicación A durante los últimos 5 minutos. P: Escribe una consulta de PromQL para ver el número de llamadas a la API "payment/coupon" de la aplicación A en los últimos 5 minutos. P: Escribe una consulta de PromQL para ver las 10 API principales por número de llamadas. P: Escribe una consulta de PromQL para ver las 5 API con el mayor número de llamadas en la aplicación A. |
Número de errores | P: Escribe una consulta de PromQL para ver el número de errores de cada API en los últimos 5 minutos. P: Escribe una consulta de PromQL para ver el número total de errores de llamadas HTTP en la máquina 10.26.xx.xx en los últimos 5 minutos. P: Escribe una consulta de PromQL para encontrar la API con más errores en la última hora. P: Escribe una consulta de PromQL para ver el número total de errores de llamadas en la máquina 10.26.xx.xx, donde está desplegado el servicio Clothservice, en los últimos 10 minutos. |
Instrucciones SQL lentas | P: Escribe una consulta de PromQL para ver las llamadas SQL lentas que ocurrieron en los últimos 10 minutos. P: Escribe una consulta de PromQL para encontrar la API en la aplicación A que realizó más llamadas SQL lentas en los últimos 10 minutos. P: Escribe una consulta de PromQL para encontrar las 10 API en la aplicación A que realizaron más llamadas SQL lentas. P: Escribe una consulta de PromQL para listar las llamadas SQL lentas específicas que ocurrieron en la última hora. |
Base de datos | P: Escribe una consulta de PromQL para encontrar las API que no pudieron llamar a Redis en el último minuto. P: Escribe una consulta de PromQL para encontrar las 5 API que no pudieron llamar a MySQL con mayor frecuencia en el último minuto. |
Código de estado HTTP | P: Escribe una consulta de PromQL para contar el número de errores 4xx o 5xx. P: Escribe una consulta de PromQL para contar el número de errores 400 y 500. P: Escribe una consulta de PromQL para ver el número de solicitudes 4xx de la aplicación A. |
Número de eventos GC de JVM | P: Escribe una consulta de PromQL para ver cuántos full GC ocurrieron en el último día. P: Escribe una consulta de PromQL para ver cuántos full GC ocurrieron en cada host en la última hora. P: Escribe una consulta de PromQL para encontrar los hosts de la aplicación A que han experimentado previamente un full GC. P: Escribe una consulta de PromQL para encontrar las máquinas que han tenido más de 5 full GC. |
Duración del GC de JVM | P: Escribe una consulta de PromQL para ver la duración del full GC en cada máquina. P: Escribe una consulta de PromQL para encontrar las 5 máquinas con la duración de full GC más larga. P: Escribe una consulta de PromQL para encontrar los servicios con una duración de full GC superior a 1 segundo. |
Aumento de QPS | P: Escribe una consulta de PromQL para ver todas las aplicaciones cuyo tráfico ha aumentado en los últimos 10 minutos. P: Escribe una consulta de PromQL para encontrar la aplicación con el mayor aumento de tráfico en el último día. P: Escribe una consulta de PromQL para encontrar la API en la aplicación A con el tráfico de crecimiento más rápido durante la última semana. |
Aumento de una métrica específica | P: Escribe una consulta de PromQL para monitorear la métrica P: Escribe una consulta de PromQL para monitorear el aumento de la métrica |
Consola de ARMS: errores acumulados | P: Escribe una consulta de PromQL para ver si el número acumulado de errores ha aumentado o disminuido en comparación con ayer. |
Consola de ARMS: solicitudes acumuladas | P: Escribe una consulta de PromQL para ver cuánto ha cambiado el número acumulado de solicitudes en comparación con la última hora. |
Consola de ARMS: anomalías acumuladas | P: Escribe una consulta de PromQL para ver si el número acumulado de anomalías ha aumentado o disminuido en comparación con ayer. |
Consola de ARMS: duración promedio | P: Escribe una consulta de PromQL para ver si la duración promedio de la aplicación ha aumentado o disminuido en comparación con la hora anterior. P: Escribe una consulta de PromQL para ver el cambio en la duración promedio en comparación con ayer. |
Consola de ARMS: full GC | P: Escribe una consulta de PromQL para ver qué aplicaciones se ven afectadas por el full GC. P: Escribe una consulta de PromQL para ver qué API se ven afectadas por el full GC. |
Consola de ARMS: llamadas lentas | P: Escribe una consulta de PromQL para ver qué aplicaciones están involucradas en instrucciones SQL lentas. P: Escribe una consulta de PromQL para ver qué API han realizado llamadas SQL lentas. |
Nuevas anomalías o errores | P: Escribe una consulta de PromQL para ver las aplicaciones con un número creciente de errores. P: Escribe una consulta de PromQL para ver qué máquinas tienen un número creciente de errores. P: Escribe una consulta de PromQL para ver las API en la aplicación A con un número creciente de errores. |
Uso de CPU | P: Escribe una consulta de PromQL para ver el uso de CPU de cada máquina. P: Escribe una consulta de PromQL para encontrar las 5 máquinas con mayor uso de CPU en los últimos 5 minutos. P: Escribe una consulta de PromQL para encontrar las máquinas de la aplicación A con un uso de CPU superior al 70 % en los últimos 5 minutos. P: Escribe una consulta de PromQL para encontrar las 5 máquinas con el uso de CPU de crecimiento más rápido en los últimos 5 minutos y enumera su uso de CPU. |