This commit is contained in:
@@ -74,7 +74,7 @@ prometheus.scrape "cadvisor" {
|
||||
prometheus.scrape "app_metrics" {
|
||||
targets = [{"__address__" = "host.docker.internal:9102"}]
|
||||
forward_to = [prometheus.remote_write.prometheus.receiver]
|
||||
scrape_interval = "15s"
|
||||
scrape_interval = "1s"
|
||||
metrics_path = "/metrics"
|
||||
job_name = "app_metrics"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
|
||||
from Logger.LokiLogger import LokiLogger
|
||||
from Logger import PrometheusMetric
|
||||
import time
|
||||
|
||||
|
||||
def prueba_log():
|
||||
@@ -31,5 +33,34 @@ def prueba_log():
|
||||
logger.exception(e)
|
||||
|
||||
|
||||
def prueba_metricas(duracion_segundos: int = 180):
|
||||
"""
|
||||
Emite métricas de prueba durante un tiempo para permitir que Alloy las scrappee.
|
||||
"""
|
||||
metrics = PrometheusMetric(prefix="pruebas", port=9102)
|
||||
|
||||
requests_total = metrics.counter(
|
||||
"requests_total", "Solicitudes de ejemplo", labels=["endpoint"]
|
||||
)
|
||||
latency_seconds = metrics.histogram(
|
||||
"latency_seconds",
|
||||
"Latencia simulada",
|
||||
labels=["endpoint"],
|
||||
buckets=[0.1, 0.5, 1, 2, 5],
|
||||
)
|
||||
workers_active = metrics.gauge("workers_active", "Workers activos", labels=["queue"])
|
||||
|
||||
start = time.time()
|
||||
i = 0
|
||||
while time.time() - start < duracion_segundos:
|
||||
requests_total.inc(endpoint="/demo")
|
||||
latency_seconds.observe(0.2 + (i % 5) * 0.1, endpoint="/demo")
|
||||
workers_active.set(3 + (i % 4), queue="default")
|
||||
i += 1
|
||||
time.sleep(1)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
prueba_log()
|
||||
# Mantiene el servidor de métricas vivo al menos 3 min para permitir scrapes
|
||||
prueba_metricas()
|
||||
|
||||
Reference in New Issue
Block a user