This commit is contained in:
@@ -8,6 +8,50 @@ Esta configuraci�n incluye un stack completo de monitoreo con:
|
||||
## Estructura de Archivos
|
||||
|
||||
|
||||
## Uso rápido en Python (logs y métricas)
|
||||
|
||||
- Logs a Loki / Alloy:
|
||||
```python
|
||||
from Logger import LokiLogger
|
||||
|
||||
logger = LokiLogger(service_name="mi_servicio", min_level="INFO")
|
||||
logger.info("Aplicación iniciada")
|
||||
logger.error("Algo falló", add_fields={"detalle": "stacktrace"})
|
||||
```
|
||||
|
||||
- Métricas con prefijo listo para scrapeo de Prometheus:
|
||||
```python
|
||||
from Logger import PrometheusMetric
|
||||
|
||||
metrics = PrometheusMetric(
|
||||
prefix="suite_logs",
|
||||
default_labels={"service_name": "mi_servicio", "env": "dev"},
|
||||
port=9102, # inicia un servidor HTTP en este puerto
|
||||
)
|
||||
|
||||
requests_total = metrics.counter(
|
||||
"requests_total", "Solicitudes procesadas", labels=["endpoint"]
|
||||
)
|
||||
latency_seconds = metrics.histogram(
|
||||
"latency_seconds",
|
||||
"Latencia de peticiones",
|
||||
labels=["endpoint"],
|
||||
buckets=[0.1, 0.5, 1, 2, 5],
|
||||
)
|
||||
|
||||
requests_total.inc(endpoint="/health")
|
||||
latency_seconds.observe(0.35, endpoint="/health")
|
||||
```
|
||||
Agrega el puerto (`9102` en el ejemplo) como target de scrape en Prometheus/Alloy para ver las series con el prefijo definido.
|
||||
|
||||
Atajo: si quieres emitir sin guardar handles, usa `counter_value`, `gauge_value`, `histogram_observe` y `summary_observe`, pudiendo sobreescribir el prefijo por métrica:
|
||||
```python
|
||||
metrics.gauge_value("workers_active", 3, prefix="backend", labels={"queue": "ingest"})
|
||||
metrics.counter_value("processed_total", 1, prefix="backend", labels={"queue": "ingest"})
|
||||
```
|
||||
|
||||
En este repo, Alloy ya está configurado para scrapear `host.docker.internal:9102` con el `job_name="app_metrics"`. Si tu script expone métricas en ese puerto (con `PrometheusMetric(port=9102)`), se almacenarán sin cambios adicionales.
|
||||
|
||||
## Configuración Inicial
|
||||
|
||||
### 1. Configurar variables de entorno
|
||||
@@ -157,4 +201,4 @@ docker exec prometheus promtool check config /etc/prometheus/prometheus.yml
|
||||
```bash
|
||||
# Ver configuraci�n activa
|
||||
curl http://localhost:9009/config
|
||||
```
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user