Visite prometheus.io para obtener la documentación completa, ejemplos y guías.
Prometheus, un proyecto de Cloud Native Computing Foundation, es un sistema de monitoreo de sistemas y servicios. Recopila métricas de objetivos configurados en intervalos determinados, evalúa expresiones de reglas, muestra los resultados y puede activar alertas cuando se observan condiciones específicas.
Las características que distinguen a Prometheus de otros sistemas de métricas y seguimiento son:
Un modelo de datos multidimensional (serie temporal definida por nombre de métrica y conjunto de dimensiones clave/valor)
PromQL, un lenguaje de consulta potente y flexible para aprovechar esta dimensionalidad
No depender del almacenamiento distribuido; Los nodos de servidor único son autónomos.
Un modelo de extracción HTTP para la recopilación de series temporales
El envío de series temporales se admite a través de una puerta de enlace intermediaria para trabajos por lotes
Los objetivos se descubren mediante el descubrimiento de servicios o la configuración estática.
Múltiples modos de soporte para gráficos y paneles.
Soporte para federación jerárquica y horizontal.
Hay varias formas de instalar Prometheus.
Los binarios precompilados para las versiones publicadas están disponibles en la sección de descargas en prometheus.io. Utilizar la última versión binaria de producción es la forma recomendada de instalar Prometheus. Consulte el capítulo Instalación en la documentación para obtener todos los detalles.
Las imágenes de Docker están disponibles en Quay.io o Docker Hub.
Puede iniciar un contenedor Prometheus para probarlo con
ejecución de la ventana acoplable --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
Ahora se podrá acceder a Prometheus en http://localhost:9090/.
Para construir Prometheus a partir del código fuente, necesita:
Vaya a la versión 1.17 o superior.
NodeJS versión 16 o superior.
npm versión 7 o superior.
Comience clonando el repositorio:
clon de git https://github.com/prometheus/prometheus.gitcd prometheus
Puede utilizar la herramienta go
para compilar e instalar los binarios de prometheus
y promtool
en su GOPATH
:
GO111MODULE = encendido, vaya a instalar github.com/prometheus/prometheus/cmd/... prometheus --config.file=your_config.yml
Sin embargo , cuando utilice go install
para compilar Prometheus, Prometheus esperará poder leer sus recursos web desde los directorios del sistema de archivos local en web/ui/static
y web/ui/templates
. Para encontrar estos activos, deberá ejecutar Prometheus desde la raíz del repositorio clonado. Tenga en cuenta también que estos directorios no incluyen la interfaz de usuario de React a menos que se haya creado explícitamente utilizando make assets
o make build
.
Puede encontrar un ejemplo del archivo de configuración anterior aquí.
También puedes compilar usando make build
, que compilará los recursos web para que Prometheus pueda ejecutarse desde cualquier lugar:
hacer construir ./prometheus --config.file=your_config.yml
El Makefile proporciona varios objetivos:
build : construye los binarios de prometheus
y promtool
(incluye la construcción y compilación en recursos web)
prueba : ejecutar las pruebas
test-short : ejecuta las pruebas cortas
formato : formatea el código fuente
vet : verifique el código fuente para detectar errores comunes
activos : construye la interfaz de usuario de React
Prometheus incluye muchos complementos de descubrimiento de servicios. Al compilar Prometheus desde el código fuente, puede editar el archivo plugins.yml para deshabilitar algunos descubrimientos de servicios. El archivo es una lista con formato yaml de rutas de importación que se integrarán en el binario de Prometheus.
Una vez que haya cambiado el archivo, deberá ejecutar make build
nuevamente.
Si está utilizando otro método para compilar Prometheus, make plugins
generará el archivo de complementos en consecuencia.
Si agrega complementos fuera del árbol, que no respaldamos en este momento, es posible que se necesiten pasos adicionales para ajustar los archivos go.mod
y go.sum
. Como siempre, tenga mucho cuidado al cargar código de terceros.
El objetivo make docker
está diseñado para usarse en nuestro sistema CI. Puede crear una imagen de Docker localmente con los siguientes comandos:
hacer promoción construcción cruzada de promu -p linux/amd64 hacer npm_licenses hacer docker-amd64 común
Estamos publicando nuestro protobuf de escritura remota de forma independiente en buf.build.
Puedes usarlo como biblioteca:
Vaya a buscar buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest
Esto es experimental.
Para cumplir con las reglas de Go Mod, el número de versión de Prometheus no coincide exactamente con las versiones del módulo Go. Para las versiones de Prometheus v2.yz, publicamos etiquetas v0.yz equivalentes.
Por lo tanto, un usuario que quisiera utilizar Prometheus v2.35.0 como biblioteca podría hacer:
Vaya a github.com/prometheus/[email protected]
Esta solución deja en claro que podríamos romper nuestras API Go internas entre versiones menores orientadas al usuario, ya que se permiten cambios importantes en la versión principal cero.
Para obtener más información sobre cómo crear, ejecutar y desarrollar la interfaz de usuario basada en React, consulte README.md de la aplicación React.
La documentación de Godoc está disponible a través de pkg.go.dev. Debido a las peculiaridades de los módulos Go, v2.xy se mostrará como v0.xy
Consulte la página de la Comunidad para saber cómo llegar a los desarrolladores y usuarios de Prometheus en varios canales de comunicación.
Consulte CONTRIBUCIÓN.md
Licencia Apache 2.0, ver LICENCIA.