grafana/netfilter-exporternetfilter-exporter 是一款针对Linux netfilter/iptables框架的Prometheus指标导出工具,旨在通过标准化的Prometheus metrics格式,收集并暴露防火墙规则的匹配计数、网络流量(包/字节)统计等关键指标,帮助运维和安全团队实时监控防火墙运行状态、评估规则有效性及排查网络问题。
bashdocker run -d \ --name netfilter-exporter \ --net=host \ --cap-add=NET_ADMIN \ -v /proc/net/ip_tables_names:/proc/net/ip_tables_names:ro \ -v /sys/class/net:/sys/class/net:ro \ -e LISTEN_PORT=9119 \ -e METRICS_PATH=/metrics \ -e TABLES="filter,nat" \ prometheus/netfilter-exporter:latest
yamlversion: '3' services: netfilter-exporter: image: prometheus/netfilter-exporter:latest container_name: netfilter-exporter network_mode: host cap_add: - NET_ADMIN volumes: - /proc/net/ip_tables_names:/proc/net/ip_tables_names:ro - /sys/class/net:/sys/class/net:ro environment: - LISTEN_PORT=9119 - METRICS_PATH=/metrics - TABLES=filter,nat,mangle - SCRAPE_INTERVAL=10s restart: unless-stopped
| 参数名 | 描述 | 默认值 | 示例 |
|---|---|---|---|
LISTEN_PORT | metrics服务监听端口 | 9119 | 9200 |
METRICS_PATH | metrics访问路径 | /metrics | /netfilter-metrics |
TABLES | 需监控的iptables表(逗号分隔) | filter | filter,nat,mangle |
CHAINS | 需监控的自定义链(逗号分隔) | 全部链 | INPUT,OUTPUT,FORWARD |
SCRAPE_INTERVAL | 指标采集间隔(秒) | 5s | 10s |
IP_VERSION | IP协议版本(4/6/all) | all | 4 |
启动容器后,可通过 http://<主机IP>:<LISTEN_PORT>/<METRICS_PATH> 访问指标,例如:
http://localhost:9119/metrics
/proc/net/ip_tables_names 和 /sys/class/net 目录以获取netfilter/iptables信息NET_ADMIN 权限是采集部分高级指标的必要条件
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务