Ir al contenido

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.

Gauge Etiquetas: proto

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.

EtiquetaValoresDescripción
protoipv4, ipv6Versión de protocolo
# Total de decisiones activas
sum(crowdsec_bouncer_active_decisions)
# Solo decisiones IPv6
crowdsec_bouncer_active_decisions{proto="ipv6"}

Gauge Etiquetas: origin

Decisiones activas desglosadas por su fuente. Se incrementa/decrementa en tiempo real durante el streaming y se reinicia durante la reconciliación completa.

EtiquetaValoresDescripción
origincrowdsec, 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 origen
crowdsec_bouncer_active_decisions_by_origin
# Solo decisiones de la blocklist comunitaria
crowdsec_bouncer_active_decisions_by_origin{origin="CAPI"}

Counter Etiquetas: action, proto, origin

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 origen
rate(crowdsec_bouncer_decisions_total{action="ban"}[5m]) * 60
# Total de desbaneos desde el arranque
sum(crowdsec_bouncer_decisions_total{action="unban"})

Counter Etiquetas: operation

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 operaciones
rate(crowdsec_bouncer_errors_total[5m])
# Solo errores de reconciliación
crowdsec_bouncer_errors_total{operation="reconcile"}

Gauge

Indica si el bouncer tiene una conexión activa con RouterOS (1 = conectado, 0 = desconectado).


Histogram Etiquetas: operation

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 add
histogram_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»
Gauge Etiquetas: operation

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ón
crowdsec_bouncer_last_operation_duration_seconds{operation="reconcile"}

Counter Etiquetas: action

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.


Gauge Etiquetas: version, routeros_identity Métrica informativa (valor siempre 1)

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.


Gauge

Marca de tiempo Unix del momento en que arrancó el proceso del bouncer.


Gauge Etiquetas: group, param, value Métrica informativa (valor siempre 1)

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/"} 1
crowdsec_bouncer_config_info{group="MikroTik",param="Connection Pool Size",value="4"} 1
crowdsec_bouncer_config_info{group="Firewall",param="Deny Action",value="drop"} 1
Lista completa de parámetros
groupValores de param
CrowdSecAPI URL, Update Frequency, Origins, Scopes, Decision Types, Retry Initial Connect, TLS Enabled
MikroTikAddress, TLS Enabled, Connection Pool Size, Connection Timeout, Command Timeout
FirewallIPv4 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
LoggingLevel, Format
MetricsEnabled, 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.

Gauge

Bytes acumulados descartados por todas las reglas de firewall del bouncer.

Gauge

Paquetes acumulados descartados por todas las reglas de firewall del bouncer.

Gauge Etiquetas: proto Nueva

Bytes acumulados descartados por las reglas de firewall, desglosados por protocolo.

EtiquetaValoresDescripción
protoipv4, ipv6Versión de protocolo
Gauge Etiquetas: proto Nueva

Paquetes acumulados descartados por las reglas de firewall, desglosados por protocolo.

EtiquetaValoresDescripción
protoipv4, ipv6Versión de protocolo
# Tasa de bytes descartados por protocolo
rate(crowdsec_bouncer_dropped_bytes_by_proto[5m])
# Comparar el tráfico descartado IPv4 frente a IPv6
crowdsec_bouncer_dropped_bytes_by_proto{proto="ipv4"}
crowdsec_bouncer_dropped_bytes_by_proto{proto="ipv6"}

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.

Gauge Nueva

Bytes acumulados procesados (evaluados) por todas las reglas de firewall del bouncer.

Gauge Nueva

Paquetes acumulados procesados (evaluados) por todas las reglas de firewall del bouncer.

Gauge Etiquetas: proto Nueva

Bytes acumulados procesados por las reglas de firewall, desglosados por protocolo.

EtiquetaValoresDescripción
protoipv4, ipv6Versión de protocolo
Gauge Etiquetas: proto Nueva

Paquetes acumulados procesados por las reglas de firewall, desglosados por protocolo.

EtiquetaValoresDescripción
protoipv4, ipv6Versión de protocolo
# Tasa de tráfico procesado por protocolo
rate(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) * 100

Cuando metrics.routeros_poll_interval no es cero, el bouncer recopila métricas del sistema MikroTik:

Gauge

Porcentaje de carga de CPU (0–100).

crowdsec_bouncer_routeros_memory_total_bytes

Sección titulada «crowdsec_bouncer_routeros_memory_total_bytes»
Gauge

Memoria total del sistema en bytes.

Gauge

Memoria del sistema usada en bytes.

crowdsec_bouncer_routeros_cpu_temperature_celsius

Sección titulada «crowdsec_bouncer_routeros_cpu_temperature_celsius»
Gauge

Temperatura de la CPU en grados Celsius.

Gauge Nueva

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ías
crowdsec_bouncer_routeros_uptime_seconds / 86400
Gauge Etiquetas: version, board_name Nueva

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.

EtiquetaEjemploDescripción
version7.16.2Versión de RouterOS
board_nameRB4011iGS+Modelo de hardware
# Porcentaje de uso de memoria
crowdsec_bouncer_routeros_memory_used_bytes / crowdsec_bouncer_routeros_memory_total_bytes * 100
# Carga media de CPU
crowdsec_bouncer_routeros_cpu_load

El bouncer envía lo siguiente a la LAPI en cada push de métricas:

MétricaDescripción
active_decisionsRecuento 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