Hi everyone,
I’m reaching out because I’m trying to integrate Suricata with Prometheus in order to build a modern NOC. Over the past days, we have compiled Suricata 8.0.0-dev from source on Arch Linux, using --enable-prometheus
during ./configure
. The compilation completed successfully, and Suricata runs properly in IDS mode on my interface.
However, when starting Suricata with Prometheus configuration enabled in suricata.yaml
, I always see:
lua
CopiarEditar
Warning: runmodes: No output module named prometheus [RunModeInitializeOutputs:runmodes.c:868]
I’ve checked the Suricata logs and confirmed that other outputs like eve.json
and stats.log
work fine, but there is absolutely no evidence of a Prometheus module being recognized.
Here is the relevant snippet from my /etc/suricata/suricata.yaml
:
yaml
CopiarEditar
- prometheus:
enabled: yes
filename: /var/run/suricata.prometheus
append: no
types:
- flow
- detect
sensor-name: suricata
stats:
enabled: yes
interval: 8
bind: 127.0.0.1:9630
Despite having this configuration, Suricata always complains about missing the Prometheus output module.
To double-check, we also compiled and ran suricata_exporter
(tried both v1k0d3n/suricata-prometheus-exporter
and corelight/suricata_exporter
). While suricata_exporter starts and tries to read from the Suricata command socket, it produces repeating errors like:
css
CopiarEditar
ERROR: Field max_frag_hits missing for Desc{fqName: "suricata_defrag_max_frag_hits", ...}
and never successfully exports usable metrics.
Here’s what we’ve tried:
Verified the config enables Prometheus and that the bind port is free.
Compiled with
--enable-prometheus
after installing all recommended dependencies (jansson
, libpcap
, luajit
, libmaxminddb
, etc.).
Double-checked that
/var/run/suricata/suricata-command.socket
is created and readable by suricata_exporter.
Tail logs confirm stats are written in
/var/log/suricata/stats.log
, but no Prometheus output or endpoint is created.
Repeatedly see the warning “No output module named prometheus.”
My questions:
Has Prometheus support been deprecated or removed in recent Suricata versions (e.g., 8.x-dev)?
Is there a recommended way to export metrics to Prometheus now?
Or should we stick with reading stats.log via Telegraf/Filebeat, or move to ELK/Wazuh as an alternative?
Any insight or official statement on the current state of Prometheus support in Suricata would be greatly appreciated, since it’s not clear from the current documentation.
Thanks in advance!