
Ein Prometheus-Exporter für Suricata
Dies ist ein Prometheus-Exporter für Suricata, der dump-counters über den Unix-Socket verwendet, um Metriken abzufragen.
$ ./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)
Um zu überprüfen, ob der Exporter mit Ihrer Suricata-Einrichtung funktioniert, verwenden Sie den folgenden Befehl, um eine Teilmenge der Erfassungsmetriken anzuzeigen.
$ 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
Sie können nun einen Prometheus-Server konfigurieren, der den Suricata-Exporter in regelmäßigen Abständen abfragt (scraped), um die Daten später zu visualisieren und zu analysieren.
Erzeugt derzeit Metriken pro Thread für decoder, flow, flow_bypassed, app_layer und tcp. Metriken für memuse werden global gemeldet.
Entwickelt gegen Suricata 6.0.4 und af-packet. Die meisten unterstützten Metriken sind hartkodiert.
Aktualisiert für Suricata 7.0.0, aber nicht alle neuen Metriken wurden hinzugefügt.