Ir al contenido

Ajuste de rendimiento

La mayoría de los despliegues funcionan bien con los valores por defecto. Ajusta estas opciones cuando la reconciliación de arranque gestione listas CAPI grandes, un router lento agote los tiempos de espera o necesites ventanas de reinicio predecibles.

mikrotik.pool_size controla cuántas sesiones de la API de RouterOS puede usar el bouncer para trabajo en paralelo, como las eliminaciones de la reconciliación.

mikrotik:
pool_size: 4

Recomendaciones:

Clase de routerValor sugerido
Router doméstico pequeño1-2
RouterOS 7 de gama media4
Despliegues CAPI grandes6-8

El valor configurado debe estar entre 1 y 20. En el arranque, el bouncer consulta max-sessions de la API de RouterOS y limita el pool efectivo a max-sessions - 2, garantizando que al menos dos sesiones queden disponibles para otras operaciones de RouterOS.

Comprueba o aumenta el límite de RouterOS:

/ip/service/print where name=api
/ip/service/set api max-sessions=1000

Durante la reconciliación, las adiciones usan scripts temporales de RouterOS en lugar de una llamada a la API por cada IP. Cada script contiene hasta 100 direcciones, manteniendo el mensaje de la API con margen por debajo de los límites de tamaño de RouterOS.

Si un script masivo falla, el bouncer registra un aviso y recurre a adiciones individuales para ese bloque. Las entradas duplicadas se omiten o se refrescan sin reconectar la sesión de la API.

Aumenta mikrotik.command_timeout si RouterOS es lento durante operaciones con listas grandes:

mikrotik:
command_timeout: "60s"

Aumenta mikrotik.connection_timeout solo cuando el propio login inicial TCP/API sea lento:

mikrotik:
connection_timeout: "20s"

La reconciliación de arranque se ejecuta siempre. La reconciliación periódica repara la deriva después del arranque.

crowdsec:
reconciliation_interval: "15m"

Usa 0 para desactivar la reconciliación periódica, o un valor de 1m o superior para activarla. Los valores entre 0 y 1m se rechazan en el arranque.

Los intervalos cortos reparan la deriva más rápido, pero listan las entradas de direcciones de RouterOS con más frecuencia. Los intervalos largos reducen el trabajo de API en segundo plano.

metrics.track_processed crea reglas de conteo de tipo passthrough para que el bouncer pueda informar del tráfico total evaluado, no solo del tráfico descartado.

metrics:
track_processed: true

Ponlo a false para evitar esas reglas de conteo adicionales:

metrics:
track_processed: false
crowdsec:
origins: ["crowdsec", "cscli"]
reconciliation_interval: "30m"
mikrotik:
command_timeout: "60s"
pool_size: 6
metrics:
enabled: true
routeros_poll_interval: "30s"
track_processed: true

Para routers pequeños, prefiere el modo solo local, pool_size: 1 o 2, y evita el CAPI completo hasta que hayas medido el tiempo de reconciliación.