
Un Exportador de Prometheus para Suricata
Este es un Exportador Prometheus para Suricata que utiliza dump-counters a través del socket Unix para consultar métricas.
$ ./suricata_exporter -h
Usage of ./suricata_exporter:
-suricata.socket-path string
Path to the Suricata Command socket. (default "/var/run/suricata.socket")
-version
Output version information.
-web.listen-address string
Address to listen on (default ":9917")
-quiet
supress logging messages when suricata is not enabled
-totals
Export only the overall global total metrics instead of per-thread metrics. (default false)
Para verificar que el exporter funciona con tu configuración de Suricata, usa el siguiente comando para ver un subconjunto de las métricas de captura.
$ curl -s localhost:9917/metrics | grep kernel_packets_total
# HELP suricata_capture_kernel_packets_total
# TYPE suricata_capture_kernel_packets_total counter
suricata_capture_kernel_packets_total{thread="W#01-eth1"} 7744
suricata_capture_kernel_packets_total{thread="W#02-eth1"} 8435
suricata_capture_kernel_packets_total{thread="W#03-eth1"} 7564
suricata_capture_kernel_packets_total{thread="W#04-eth1"} 9747
Ahora puedes configurar un servidor Prometheus para que consulte el exporter de Suricata a intervalos regulares para su posterior visualización y análisis.
Actualmente produce métricas por hilo para decoder, flow, flow_bypassed, app_layer y tcp. Las métricas de memuse se informan globalmente.
Desarrollado contra Suricata 6.0.4 y af-packet. La mayoría de las métricas compatibles están codificadas de forma fija (hard-coded).
Actualizado para Suricata 7.0.0, pero no todas las métricas nuevas se han añadido.