Volver a la wiki

Monitoring Tools — VictoriaMetrics, Prometheus

Monitoring Tools — VictoriaMetrics, Prometheus


Resumen

CreaRack Pro usa un stack de observabilidad para metricas y dashboards:

HerramientaFuncionURL LocalProduccion
VictoriaMetricsAlmacen de metricas time-serieshttp://localhost:8428Interno (no expuesto)
Prometheus metricsEndpoint de metricas Djangohttp://localhost:8000/metricshttps://crearack.com/metrics

VictoriaMetrics

Que es

VictoriaMetrics es un almacen de metricas time-series compatible con Prometheus. Guarda datos de:

Configuracion

ParametroValor
Retencion180 dias
Puerto8428 (interno en produccion)
Max series100,000
Memoria permitida60% del disponible

Acceso local (desarrollo)

# Iniciar con stack de observabilidad
docker compose -f compose.yml -f compose.observability.yml up -d

# UI de VictoriaMetrics
# Abrir http://localhost:8428/vmui

Consultas utiles (PromQL)

# Latencia de ping de un target
ping_latency_ms{target_id="1"}

# Bandwidth inbound (rate)
snmp_bandwidth_in_bps{target_id="1"}

# HTTP status de un target
http_status_code{target_id="1"}

# CPU load de un dispositivo
snmp_extras_cpu_load{target_id="1"}

En produccion

VictoriaMetrics corre como contenedor interno (crearack_internal network). No tiene puerto expuesto.

La app Django se conecta a el via VICTORIAMETRICS_URL=http://victoriametrics:8428.

# Verificar que esta corriendo (desde SSH)
docker ps | grep victoriametrics

# Ver espacio usado
docker exec crearack_victoriametrics du -sh /victoria-metrics-data

# Forzar limpieza de datos antiguos (normalmente no es necesario)
# La retencion automatica de 180 dias se encarga

Prometheus Metrics (Django)

Que es

CreaRack Pro expone metricas en formato Prometheus a traves del endpoint /metrics usando django-prometheus.

Acceso

EntornoURL
Localhttp://localhost:8000/metrics
Produccionhttps://crearack.com/metrics

Metricas disponibles

# Peticiones HTTP
django_http_requests_total_by_method_total
django_http_requests_total_by_transport_total
django_http_responses_total_by_status_total

# Latencia de peticiones
django_http_requests_latency_seconds_by_view_method_bucket

# Base de datos
django_db_execute_total
django_db_errors_total

# Cache
django_cache_get_total
django_cache_misses_total

Scrape config (desarrollo)

VictoriaMetrics scrapea /metrics automaticamente en desarrollo:

# observability/victoriametrics/scrape.yml
scrape_configs:
  - job_name: "django"
    scrape_interval: 15s
    static_configs:
      - targets: ["web:8000"]

En produccion

En produccion, VictoriaMetrics NO scrapea Django directamente. Las metricas se escriben via API (/api/v1/import/prometheus) desde la app.


Diagrama de Flujo de Metricas

Dispositivos de red
    ↓ (ping, SNMP, HTTP)
Local Agent (Sentinel Mode)
    ↓ (REST API: /api/agent/metrics)
Django Backend
    ↓ (write API)
VictoriaMetrics
    ↓ (read API: PromQL)
Observatory UI (ECharts)

Limpieza y Mantenimiento

VictoriaMetrics

La retencion de 180 dias se gestiona automaticamente. No requiere mantenimiento manual.

# Ver tamaño de datos (produccion)
docker exec -it $(docker ps -q --filter name=victoriametrics) du -sh /victoria-metrics-data

# Si necesitas limpiar datos manualmente (raro)
# Esto borra TODOS los datos — usar con precaucion
docker stop $(docker ps -q --filter name=victoriametrics)
docker volume rm <volume_name>
docker start $(docker ps -q --filter name=victoriametrics)

Maintained by: CreaRack Team

Véase también

Subir