Prometheus almacena fundamentalmente todos los datos como series temporales : un flujo de valores con marca de tiempo que pertenecen a la misma métrica y al mismo conjunto de dimensiones etiquetadas. Además de las series temporales almacenadas, Prometheus puede generar series temporales derivadas ad-hoc como resultado de las consultas.
Indicador (métrica) nombre y etiqueta (etiquetas)
Cada serie temporal se identifica de forma única mediante un " nombre de métrica" y una "etiqueta" ( par clave-valor opcional ) .
Nombre de la métrica: especifica una característica general del sistema que se mide (comohttp_requests_total -
el número total de solicitudes HTTP recibidas).
Puede contener letras y números ASCII, así como guiones bajos y dos puntos. Debe coincidir con una expresión regular [a-zA-Z_:][a-zA-Z0-9_:]*
.
Nota: Los dos puntos están reservados para las reglas de grabación definidas por el usuario. No deben ser utilizados por exportadores o instrumentos directos.
etiqueta: modelo de datos dimensionales de Prometheus: cualquier combinación de etiqueta dada del mismo nombre de métrica identifica una instancia dimensional específica de esa métrica (p. ej., acceder a todas las /api/tracks
solicitudes http mediante el método POST). El lenguaje de consulta permite filtrar y agregar en función de estas dimensiones. Cambiar cualquier valor de etiqueta, incluida la adición o eliminación de etiquetas, crea una nueva serie temporal.
Los nombres de las etiquetas pueden contener letras ASCII, números y guiones bajos. Deben coincidir con expresiones regulares [a-zA-Z_][a-zA-Z0-9_]*
. Los nombres de etiquetas que comienzan con __
Los valores de etiqueta pueden contener cualquier carácter Unicode.
Una etiqueta con un valor de etiqueta vacío se considera equivalente a una etiqueta inexistente.
Consulte también Prácticas recomendadas para nombrar métricas y etiquetas .
muestra
Las muestras consisten en datos de series temporales reales. Cada muestra incluye:
- un valor float64
- Marca de tiempo con precisión de milisegundos
método de marcado
Dado un nombre de métrica y un conjunto de etiquetas, las series de tiempo a menudo se identifican utilizando esta notación:
<metric name>{<label name>=<label value>, ...}
Por ejemplo, una serie temporal con nombresapi_http_requests_total
y etiquetas de métricas se puede escribir así:method="POST"
handler="/messages"
api_http_requests_total{method="POST", handler="/messages"}