Introducción y ejemplos de PROMQL

Introducción y ejemplos de PROMQL
La forma principal de consultar las métricas dentro de Prometeo es a través de Promql, que representa el lenguaje de consulta de Prometeo. El resultado de una expresión se puede ver como un gráfico o exportarse utilizando la API HTTP. Escalares, vectores de rango y vectores instantáneos son los tres tipos de datos utilizados por PROMQL. Las cadenas también se usan, pero solo como literales. A medida que se familiarice más con las consultas Prometheus, esta introducción proporcionará ejemplos y principios básicos de PROMQL para comprender.

Introducción a PROMQL

El lenguaje de consulta del sistema de monitoreo Prometheus se llama PROMQL. Está hecho para crear un gráfico, alerta y consultas de series de tiempo derivadas de gráficos fuertes pero simples (también conocido como reglas de grabación). PROMQL es un lenguaje de consulta nuevo para bases de datos de series temporales que no tiene nada en común con los idiomas de consulta anteriores, como SQL en TimescaledB, InfluxQL o Flux.

Cuando llegas por primera vez al emocionante mundo de Prometeo, comenzar con PROMQL puede ser difícil. Este tutorial sin duda te ayudará a comenzar. Debido a que Prometheus usa un modelo de datos de serie temporal para almacenar datos, las consultas en un servidor Prometheus son diferentes de las consultas SQL.

Aprender a construir consultas de PROMQL buenas y performantes comienza con la comprensión de cómo se mantienen los datos en Prometeo.

Tipos de datos PROMQL

Prometheus utiliza tres tipos de datos para métricas: escalar, vector instantáneo y vector de rango. El escalar representa un valor de punto flotante, que es el tipo de datos más básico de Prometheus. Los escalares incluyen números como 0, 18.12 y 1,000,000. En Prometeo, todos los cálculos se realizan en punto flotante.

Los escalares de agrupación crean un tipo de datos vectoriales instantáneos como un conjunto de mediciones en un solo punto en el tiempo. El resultado es un vector inmediato cuando ejecuta una consulta que simplemente pide el nombre de una métrica, como un total de medidores de distancia en bicicleta. Debido a que las métricas tienen nombres y etiquetas, un solo nombre puede tener muchos valores, por lo que es un vector en lugar de un escalar.

El vector de rango se obtiene trazando una matriz de vectores a lo largo del tiempo. Ni Grafana ni el navegador de expresión Prometheus incorporado crean gráficos directamente a partir de vectores de rango; En cambio, emplean vectores instantáneos o escalares producidos de forma independiente para puntos distintos en el tiempo.

Pasos para instalar Prometheus Server en Ubuntu

A continuación se detallan todos los pasos para comprender el procedimiento de instalación de Prometheus en Ubuntu.

Comencemos creando un usuario y un grupo para el sistema Prometheus. Debe escribir y ejecutar la siguiente instrucción:

Cree un usuario del sistema Prometheus y luego, adjunte al grupo primario que está recientemente establecido.

Para almacenar sus datos, Prometheus requerirá un directorio. La ubicación del directorio es/var/lib/prometheus.

El directorio de archivos de configuración primario para Prometheus es/etc/Prometheus/. Tendrá diferentes subdirectorios.

Para acceder a archivos binarios, primero debemos descargar el archivo Prometheus más reciente y extraerlo. Instale el programa WGET después de eso. La salida se representa en la imagen fija:

Aquí, hemos ejecutado el comando instalar wget para hacerlo. La salida se representa en la imagen fija:

Luego, para Prometeo, descargue el archivo binario más reciente. La salida se representa en la imagen fija:

Después de eso, debe extraer el archivo de la siguiente manera. La salida se representa en la imagen fija:

Ahora, transfiera todos los archivos binarios al directorio ubicado en/usr/local/bin/. Vea el comando dado en el que hemos especificado la ubicación. La salida se representa en la siguiente imagen:

Verifique la versión instalada ejecutando el comando adjunto. La salida se representa en la imagen fija:

En el directorio /etc, debe copiar la plantilla de configuración Prometheus como lo hemos hecho en la captura de pantalla a continuación:

Este paso requiere mover las consolas, así como las bibliotecas de consola. Para eso, escriba y ejecute el comando ejecutado a continuación:

En Ubuntu 22.04/20.18/04.04, debe configurar Prometheus. Ahora, cree o actualice el/etc/Prometheus/Prometheus.Archivo de configuración de YML para Prometheus.

La configuración de la plantilla debería verse algo así como una imagen fija. Puede guardar el archivo después de hacer los cambios necesarios. La salida se representa en la siguiente imagen.

Ahora, ahora debe hacer un archivo de Unidad de Servicio Prometheus Systemd. Este archivo de unidad debe definirse explícitamente para administrar el servicio Prometheus con Systemd. La salida se representa en la imagen fija:

Cambie el usuario y el grupo Prometheus para poseer estos directorios. Vea las siguientes tres capturas de pantalla:

Ahora, comencemos el servicio recargando el Systemd Daemon:

Ejecute la instrucción "SystemCTL Status Prometheus" para verificar el estado. La salida se representa en la imagen fija:

Deberá abrir el puerto 9090 si su servidor tiene un servicio de firewall activo. Consulte el siguiente comando. La salida se representa en la imagen proporcionada.

En su navegador web relevante, verifique la dirección IP del servidor Prometheus para ver si puede vincular al puerto 9090.

Cómo acceder a Prometheus desde la interfaz web?

Si su firewall (UFW) está activo y funciona correctamente, abra el puerto Prometheus. Se conecta en el puerto TCP 9090 de forma predeterminada. Prometheus ya está en funcionamiento y está listo para tomar solicitudes web. Puede llegar a él escribiendo http: // server-ip-or-hostName: 9090 en su navegador.

Navegue al estado si desea obtener la información sobre la configuración, el estado, las reglas, el objetivo, etc.

Aquí, hemos hecho clic en objetivos. Esto se hace para verificar el estado del nodo.

Ahora, puede usar PROMQL para extraer datos interesantes y procesables de su clúster Kubernetes utilizando una serie de consultas. Estas consultas proporcionarán información sobre la salud de los nodos, la salud del POD, el uso de recursos de clúster, etc.

No hemos utilizado ninguna consulta para extraer métricas relevantes y procesables de su clúster Kubernetes, como se muestra en la instantánea anterior.

Conclusión:

PROMQL, como cualquier lenguaje de consulta madura, es un tema amplio y complicado. Esta publicación proporcionó una descripción general de las ideas para ayudarlo a comenzar a construir consultas que devuelvan series de tiempo y métricas útiles. Puede seguir todos los pasos esenciales para instalar el servidor Prometheus enumerado. Esperamos que hayas encontrado este artículo útil. Consulte los otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.