Commit Graph

7 Commits

Author SHA1 Message Date
Jo-Philipp Wich 545d2fadd7 nlbwmon: update to latest Git HEAD
4574e6e nfnetlink: prevent tight retry loops
163a211 client: fix commit error information
21290db nlbwmon: merge existing data
abe701d database: do not overwrite unexpectedly preexisting databases
ef3fa58 socket: handle EAGAIN on send()

Ref: https://github.com/jow-/nlbwmon/issues/23
Ref: https://github.com/jow-/nlbwmon/issues/26
Ref: https://github.com/jow-/nlbwmon/issues/30
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit c528e01f4c)
2019-06-06 09:33:54 +02:00
Kevin Darbyshire-Bryant 486418e56c nlbwmon: receive dhcp interface triggers
Not all interfaces may have been allocated address at nlbwmon startup so
it may not collect statistics as expected/configured.

Add interface triggers to catch dhcp events and restart as required.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
(cherry picked from commit 662d3f16d2)
2019-06-06 09:33:54 +02:00
Marc Benoit 9a374b7d49 net/nlbwmon: run with lower priority
Even on a powerful platform a nlbwmon process'
activities are sometimes affecting throoughput and
latency. This is a backgroud process, that should not
be running with default priority.
Even if it is a little deplayed, that is not a worry in
this case. The routing should be the main priority,
bandwidth stats collection can wait a bit.

Tested on Netgear R7800
Signed-off-by: Marc Benoit <marcb62185@gmail.com>

(cherry picked from commit 9b3ecbd64a)
2019-06-06 09:33:53 +02:00
Jo-Philipp Wich 5f9815edb9 nlbwmon: update to current HEAD
Update to latest Git HEAD in order to solve a number of issues.

 - Improves MAC address lookup reliability
 - Properly counts DNAT-ed connections (e.g. for port forwards)
 - Fixes stack corruption when parsing netlink records
 - Fixes deletion of gzipped databases

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 70858690c0)
2019-06-06 09:33:53 +02:00
Kevin Darbyshire-Bryant 76ad27dfce nlbwmon: preserve protocols mapping across sysupgrade
Define package config files to preserve
/usr/share/nlbwmon/protocols across sysupgrade

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
(cherry picked from commit 2305de5f2e)
2019-06-06 09:33:53 +02:00
Jo-Philipp Wich 5383fd42e9 nlbwmon: update to latest version
Changes since last update:

32fc092 build: remove extraneous _GNU_SOURCE defines
096aaa3 build: compile with -D_GNU_SOURCE
76487b5 transform to source-only repository

Fixes build with uClibc and eglibc toolchains.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:23:52 +02:00
Jo-Philipp Wich 29fb31fe83 nlbwmon: add package
This commit introduces nlbwmon, the lightweight NetLink BandWidth Montor.

The nlbwmon daemon gathers per-host traffic statistics by querying netlink
accounting data. Due to this approach, the executable is very small and does
not rely on libpcap and CPU intensive raw sockets to monitor traffic.

Besides raw per-host traffic counters, nlbwmon also support rudimentary
traffic classification by observing IP protocols and used port numbers.

Gathered accounting data is stored into a series of database files which
are regularily committed to persistent storage.

Refresh, commit and accounting intervals are freely configurable as well
as the layer7 protocol mapping rules and observed source subnets.

This package also bundles a cli client which can be used to dump the
gathered traffic data as JSON, CSV or plaintext data. A pull request to
add a graphical LuCI frontend for nlbwmon is pending.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-08-05 14:23:52 +02:00