Tengo curiosidad sobre este Prometheus, ¿puedo desarrollar un Grafana con Prometheus como fuente de datos con URL fastapi? En este momento, estoy desarrollando en el panel de monitoreo de Grafana y tengo una API que usa fastapi y estoy usando esta API como fuente de datos con el complemento SimpleJSON en Grafana. Pero ahora tengo un poco de curiosidad acerca de este Prometheus, ¿es posible usar mi API como fuente de datos de Prometheus? Si es así, ¿qué punto final debo proporcionar? Por ahora, para SimpleJSON Plugin se requiere / , /search y /query . ¿Qué hay de las fuentes de datos de Prometheus?
Muchas gracias
"Fuente de datos" significa algo específico en Grafana. La fuente de datos de Prometheus tiene una ruta bien definida para sus consultas; no puedes modificar eso. Hay una fuente de datos HTTP JSON+API para Grafana si busca sus complementos: https://marcus.se.net/grafana-json-datasource/
Sin embargo, eso evita por completo el almacenamiento a largo plazo de Prometheus. Prometheus lee los objetivos de raspado , luego los recopila y los agrega.
Para hacerlo, su API necesitaría exponer cualquier ruta que devuelva el "formato de exposición" de Prometheus, no JSON. Esta ruta se coloca en el archivo de configuración de Prometheus, no en Grafana en ninguna parte.
Si bien Prometheus puede cargar datos aleatorios, es mejor usar los tipos Counter, Guage, etc. que espera
El proyecto OpenTelemetry debería poder usarse en cualquier marco, y hay ejemplos en su documentación para el módulo de Python.
Si su objetivo es simplemente obtener datos, no métricas, en Grafana, podría ser mejor usar un RDBMS o Mongodb, u otras fuentes de datos compatibles.