nlbwmon:一款轻量级的网络流量监控工具
nlbwmon Simple conntrack based traffic accounting 项目地址: https://gitcode.com/gh_mirrors/nl/nlbwmon
随着互联网的普及,网络流量监控变得越来越重要。为了满足这一需求,nlbwmon应运而生。nlbwmon 是一款基于 Linux 路由器的网络流量监控工具,它可以帮助用户轻松地监控网络主机的带宽使用情况,并收集和存储网络统计信息。
项目介绍
nlbwmon 主要用于监控 Linux 路由器上的网络带宽使用情况。它通过网络统计信息的收集和存储,让用户可以随时查询和分析网络流量数据。nlbwmon 默认跟踪过去一个月内的带宽使用情况,并将数据存储在数据库中,最多可存储10个间隔的数据,超过这个数量后,最旧的数据将被删除。
nlbwmon 支持按照 IP 版本(IPv4/IPv6)、IP 地址、MAC 地址和第7层协议(例如端口号)进行流量跟踪。所有跟踪信息都会保存在数据库中。默认的协议文件包含了大约45个端口的定义,用户可以根据需要添加或删除端口。对于不符合端口定义的流量,nlbwmon 会将其归类为 "其他"。
项目技术分析
nlbwmon 使用 netlink 套接字从 Linux 内核获取使用信息,并从 linux conntrack 条目中收集统计信息。与其他带宽监控方法相比,这种方法非常高效。
每次查询 conntrack 条目时,其计数器都会被重置(读取时归零)。当 conntrack 条目被销毁时,nlbwmon 会收到内核的通知,并在删除该条目之前收集统计数据。
项目及技术应用场景
nlbwmon 适用于需要监控网络带宽使用情况的场景,例如:
- 家庭网络:监控家庭网络中每个设备的带宽使用情况,防止过度使用。
- 企业网络:监控企业网络中各个部门的带宽使用情况,优化网络资源配置。
- 教育网络:监控学校网络中各个班级或宿舍的带宽使用情况,防止网络资源滥用。
- 数据中心:监控数据中心中各个服务器的带宽使用情况,提高资源利用率。
项目特点
nlbwmon 具有以下特点:
- 轻量级:nlbwmon 的资源消耗非常低,适用于各种规模的网络环境。
- 易于使用:nlbwmon 提供了简单的命令行界面,用户可以轻松地进行配置和查询。
- 灵活配置:nlbwmon 支持多种配置选项,例如监控网络、数据库路径、协议文件路径等。
- 数据格式丰富:nlbwmon 支持多种数据格式,例如可读格式、JSON 格式、CSV 格式等。
- 安全性高:nlbwmon 使用 unix 域套接字进行通信,提高了数据传输的安全性。
使用示例
以下是一些使用 nlbwmon 的示例:
-
显示当前统计数据:
root@jj:~# nlbw -c show
-
以 JSON 格式输出统计数据:
root@jj:~# nlbw -c json
-
以 CSV 格式输出统计数据:
root@jj:~# nlbw -c csv
-
列出所有可用的数据库:
root@jj:~# nlbw -c list
-
从指定数据库读取数据:
root@jj:~# nlbw -t 2017-02-01 -c csv
使用此仓库作为软件包源
您可以通过在构建环境中包含此仓库来轻松地从 lede 构建 nlbwmon:
```
cp feeds.conf.default feeds.conf
echo "src-git nlbwmon https://github.com/jow-/nlbwmon.git" >> feeds.conf
./scripts/feeds update nlbwmon
./scripts/feeds install nlbwmon
```
nlbwmon 作为一款轻量级的网络流量监控工具,在满足用户需求的同时,还具有易于使用、灵活配置、数据格式丰富和安全性高等特点,是监控网络带宽使用情况的好帮手。
nlbwmon Simple conntrack based traffic accounting 项目地址: https://gitcode.com/gh_mirrors/nl/nlbwmon