Métricas de Prometheus
El bouncer exporta métricas de Prometheus cuando metrics.enabled es true. Las métricas están disponibles en http://<listen_addr>:<listen_port>/metrics.
Métricas del bouncer
Sección titulada «Métricas del bouncer»crowdsec_bouncer_active_decisions
Sección titulada «crowdsec_bouncer_active_decisions»Número de decisiones actualmente activas (baneos) por versión de protocolo. Se actualiza en tiempo real durante los eventos de ban/unban en streaming y se recalcula durante la reconciliación.
| Etiqueta | Valores | Descripción |
|---|---|---|
proto | ipv4, ipv6 | Versión de protocolo |
# Total de decisiones activassum(crowdsec_bouncer_active_decisions)
# Solo decisiones IPv6crowdsec_bouncer_active_decisions{proto="ipv6"}crowdsec_bouncer_active_decisions_by_origin
Sección titulada «crowdsec_bouncer_active_decisions_by_origin»Decisiones activas desglosadas por su fuente. Se incrementa/decrementa en tiempo real durante el streaming y se reinicia durante la reconciliación completa.
| Etiqueta | Valores | Descripción |
|---|---|---|
origin | crowdsec, cscli, CAPI, lists:<name> | Fuente de la decisión (lists:<name> es la etiqueta literal de una blocklist con nombre; el comodín lists:* solo existe en el filtro de configuración crowdsec.origins) |
# Decisiones activas por origencrowdsec_bouncer_active_decisions_by_origin
# Solo decisiones de la blocklist comunitariacrowdsec_bouncer_active_decisions_by_origin{origin="CAPI"}crowdsec_bouncer_decisions_total
Sección titulada «crowdsec_bouncer_decisions_total»Número total de decisiones procesadas desde el arranque. Cuenta tanto los baneos (action="ban") como los desbaneos (action="unban"), con proto (ipv4/ipv6) y el origin de la decisión.
# Tasa de baneos por minuto según el origenrate(crowdsec_bouncer_decisions_total{action="ban"}[5m]) * 60
# Total de desbaneos desde el arranquesum(crowdsec_bouncer_decisions_total{action="unban"})crowdsec_bouncer_errors_total
Sección titulada «crowdsec_bouncer_errors_total»Total de errores por operación fallida. La etiqueta operation toma los valores add, find, remove, reconcile y firewall.
# Tasa de errores en todas las operacionesrate(crowdsec_bouncer_errors_total[5m])
# Solo errores de reconciliacióncrowdsec_bouncer_errors_total{operation="reconcile"}crowdsec_bouncer_routeros_connected
Sección titulada «crowdsec_bouncer_routeros_connected»Indica si el bouncer tiene una conexión activa con RouterOS (1 = conectado, 0 = desconectado).
crowdsec_bouncer_operation_duration_seconds
Sección titulada «crowdsec_bouncer_operation_duration_seconds»Duración de las operaciones en segundos. Etiquetas: operation="add", operation="remove", operation="reconcile", operation="bulk_add", operation="bulk_remove".
# Latencia p99 de la operación addhistogram_quantile(0.99, rate(crowdsec_bouncer_operation_duration_seconds_bucket{operation="add"}[5m]))crowdsec_bouncer_last_operation_duration_seconds
Sección titulada «crowdsec_bouncer_last_operation_duration_seconds»Duración de la operación más reciente de cada tipo, en segundos. Usa los mismos valores de operation que crowdsec_bouncer_operation_duration_seconds y se actualiza junto a ella — útil para paneles de “¿cuánto tardó la última reconciliación?” sin cálculos de histograma.
# Duración de la última reconciliacióncrowdsec_bouncer_last_operation_duration_seconds{operation="reconcile"}crowdsec_bouncer_reconciliation_total
Sección titulada «crowdsec_bouncer_reconciliation_total»Total de acciones de reconciliación. Etiquetas: action="added", action="removed", action="unchanged". La reconciliación periódica incrementa unchanged cuando las entradas ya coinciden con la instantánea activa de CrowdSec.
crowdsec_bouncer_info
Sección titulada «crowdsec_bouncer_info»Información de compilación del bouncer. Las etiquetas exponen la version del bouncer y la identidad del sistema RouterOS (routeros_identity) al que está conectado.
crowdsec_bouncer_start_time_seconds
Sección titulada «crowdsec_bouncer_start_time_seconds»Marca de tiempo Unix del momento en que arrancó el proceso del bouncer.
crowdsec_bouncer_config_info
Sección titulada «crowdsec_bouncer_config_info»Expone la configuración no sensible del bouncer como métricas informativas. Cada parámetro de configuración se emite como su propia serie con exactamente tres etiquetas — group, param y value — y un valor constante de 1:
crowdsec_bouncer_config_info{group="CrowdSec",param="API URL",value="http://localhost:8080/"} 1crowdsec_bouncer_config_info{group="MikroTik",param="Connection Pool Size",value="4"} 1crowdsec_bouncer_config_info{group="Firewall",param="Deny Action",value="drop"} 1Lista completa de parámetros
group | Valores de param |
|---|---|
CrowdSec | API URL, Update Frequency, Origins, Scopes, Decision Types, Retry Initial Connect, TLS Enabled |
MikroTik | Address, TLS Enabled, Connection Pool Size, Connection Timeout, Command Timeout |
Firewall | IPv4 Enabled, IPv4 Address List, IPv6 Enabled, IPv6 Address List, Filter Enabled, Filter Chains, Raw Enabled, Raw Chains, Deny Action, Block Output, Rule Placement, Comment Prefix, Logging Enabled |
Logging | Level, Format |
Metrics | Enabled, Listen Address, Listen Port, RouterOS Poll Interval, Track Processed |
Para Rule Placement, los valores simples aparecen como top o bottom; la colocación estructurada aparece como un resumen compacto, por ejemplo position:5, after_comment:drop invalid, top,filter=after_comment:drop invalid,raw=position:2 o top,ipv4=before_comment:IPv4 anchor,ipv6=bottom,ipv6.raw=position:4.
Tráfico descartado por el firewall
Sección titulada «Tráfico descartado por el firewall»crowdsec_bouncer_dropped_bytes_total
Sección titulada «crowdsec_bouncer_dropped_bytes_total»Bytes acumulados descartados por todas las reglas de firewall del bouncer.
crowdsec_bouncer_dropped_packets_total
Sección titulada «crowdsec_bouncer_dropped_packets_total»Paquetes acumulados descartados por todas las reglas de firewall del bouncer.
crowdsec_bouncer_dropped_bytes_by_proto
Sección titulada «crowdsec_bouncer_dropped_bytes_by_proto»Bytes acumulados descartados por las reglas de firewall, desglosados por protocolo.
| Etiqueta | Valores | Descripción |
|---|---|---|
proto | ipv4, ipv6 | Versión de protocolo |
crowdsec_bouncer_dropped_packets_by_proto
Sección titulada «crowdsec_bouncer_dropped_packets_by_proto»Paquetes acumulados descartados por las reglas de firewall, desglosados por protocolo.
| Etiqueta | Valores | Descripción |
|---|---|---|
proto | ipv4, ipv6 | Versión de protocolo |
# Tasa de bytes descartados por protocolorate(crowdsec_bouncer_dropped_bytes_by_proto[5m])
# Comparar el tráfico descartado IPv4 frente a IPv6crowdsec_bouncer_dropped_bytes_by_proto{proto="ipv4"}crowdsec_bouncer_dropped_bytes_by_proto{proto="ipv6"}Tráfico procesado
Sección titulada «Tráfico procesado»Las métricas de tráfico procesado miden TODO el tráfico evaluado por las cadenas de firewall del bouncer, no solo el tráfico bloqueado. El bouncer crea automáticamente reglas de conteo action=passthrough situadas antes de cada regla de descarte para registrar el caudal total de la cadena. Son el equivalente en MikroTik de los contadores JUMP de iptables que usa cs-firewall-bouncer.
crowdsec_bouncer_processed_bytes_total
Sección titulada «crowdsec_bouncer_processed_bytes_total»Bytes acumulados procesados (evaluados) por todas las reglas de firewall del bouncer.
crowdsec_bouncer_processed_packets_total
Sección titulada «crowdsec_bouncer_processed_packets_total»Paquetes acumulados procesados (evaluados) por todas las reglas de firewall del bouncer.
crowdsec_bouncer_processed_bytes_by_proto
Sección titulada «crowdsec_bouncer_processed_bytes_by_proto»Bytes acumulados procesados por las reglas de firewall, desglosados por protocolo.
| Etiqueta | Valores | Descripción |
|---|---|---|
proto | ipv4, ipv6 | Versión de protocolo |
crowdsec_bouncer_processed_packets_by_proto
Sección titulada «crowdsec_bouncer_processed_packets_by_proto»Paquetes acumulados procesados por las reglas de firewall, desglosados por protocolo.
| Etiqueta | Valores | Descripción |
|---|---|---|
proto | ipv4, ipv6 | Versión de protocolo |
# Tasa de tráfico procesado por protocolorate(crowdsec_bouncer_processed_bytes_by_proto[5m])
# Porcentaje de descarte (cuánto tráfico se está bloqueando)sum(crowdsec_bouncer_dropped_packets_total) / sum(crowdsec_bouncer_processed_packets_total) * 100Métricas del sistema RouterOS
Sección titulada «Métricas del sistema RouterOS»Cuando metrics.routeros_poll_interval no es cero, el bouncer recopila métricas del sistema MikroTik:
crowdsec_bouncer_routeros_cpu_load
Sección titulada «crowdsec_bouncer_routeros_cpu_load»Porcentaje de carga de CPU (0–100).
crowdsec_bouncer_routeros_memory_total_bytes
Sección titulada «crowdsec_bouncer_routeros_memory_total_bytes»Memoria total del sistema en bytes.
crowdsec_bouncer_routeros_memory_used_bytes
Sección titulada «crowdsec_bouncer_routeros_memory_used_bytes»Memoria del sistema usada en bytes.
crowdsec_bouncer_routeros_cpu_temperature_celsius
Sección titulada «crowdsec_bouncer_routeros_cpu_temperature_celsius»Temperatura de la CPU en grados Celsius.
crowdsec_bouncer_routeros_uptime_seconds
Sección titulada «crowdsec_bouncer_routeros_uptime_seconds»Tiempo de actividad de RouterOS en segundos. Se obtiene del formato de cadena de uptime de MikroTik (p. ej. 1w2d3h4m5s).
# Tiempo de actividad en díascrowdsec_bouncer_routeros_uptime_seconds / 86400crowdsec_bouncer_routeros_info
Sección titulada «crowdsec_bouncer_routeros_info»Información del sistema RouterOS como métrica informativa (valor siempre 1). Las etiquetas exponen la versión de RouterOS y el modelo de hardware.
| Etiqueta | Ejemplo | Descripción |
|---|---|---|
version | 7.16.2 | Versión de RouterOS |
board_name | RB4011iGS+ | Modelo de hardware |
# Porcentaje de uso de memoriacrowdsec_bouncer_routeros_memory_used_bytes / crowdsec_bouncer_routeros_memory_total_bytes * 100
# Carga media de CPUcrowdsec_bouncer_routeros_cpu_loadMétricas de uso de LAPI
Sección titulada «Métricas de uso de LAPI»El bouncer envía lo siguiente a la LAPI en cada push de métricas:
| Métrica | Descripción |
|---|---|
| active_decisions | Recuento de decisiones activas por origen y por protocolo |
| dropped (bytes) | Delta de bytes bloqueados desde el último push, por ip_type (ipv4/ipv6) |
| dropped (packets) | Delta de paquetes bloqueados desde el último push, por ip_type |
| processed (bytes) | Delta de bytes procesados (evaluados) desde el último push, por ip_type |
| processed (packets) | Delta de paquetes procesados desde el último push, por ip_type |