Commit graph

29 commits

Author SHA1 Message Date
Gérondal Thibault
5d42bf7550 prometheus-node-exporter-lua: Makefile alphabetical ordering
Signed-off-by: Gérondal Thibault <contact@tycale.be>
2020-07-20 13:11:04 -10:00
Gérondal Thibault
e2b3fec6bf prometheus-node-exporter-lua: uci_dhcp_host module
Extract data from configuration file /etc/config/dhcp and create labels
{name, ip, mac, dns} via uci. Those labels are useful in order to craft
complex prometheus queries as replacing the MAC address to a custom
name.  E.g.: wifi_station_signal_dbm * on (mac) group_left(name)
uci_dhcp_host or on (mac) label_replace(wifi_station_signal_dbm, "name",
"$1", "mac", "(.+)")

Signed-off-by: Gérondal Thibault <contact@tycale.be>
2020-07-20 13:11:04 -10:00
Nick Hainke
c8d1a3b60c prometheus-node-exporter-lua: add dawn exporter
DAWN is a decentralized WiFi Controller.
https://github.com/berlin-open-wireless-lab/DAWN

The node exporter allows to gather statistics about your network:
- Infos about AP (Channel Utilization, Station Count, ...)
- Connected Clients (Signal, Capabilities)

Signed-off-by: Nick Hainke <vincent@systemli.org>
2020-06-26 15:20:03 +02:00
Forest Crossman
850c8dc141 prometheus-node-exporter-lua: Change node_time_seconds type to "gauge"
The official node_exporter reports node_time_seconds as a gauge, but
prometheus-node-exporter-lua reports it as a counter. To be consistent
with the official implementation, and because "gauge" is more correct
than "counter" for this metric (system time can decrease, but the
Prometheus documentation states, "A counter is a cumulative metric that
represents a single monotonically increasing counter whose value can
only increase or be reset to zero on restart."), change the type for
node_time_seconds to "gauge".

Signed-off-by: Forest Crossman <cyrozap@gmail.com>
2020-05-03 15:16:14 -05:00
David Bauer
af8f8f8046 prometheus-node-exporter-lua: add hostapd exporter
This exporter exposes information of the connected stations acquired
from hostapd. These contain additional information compared to the
existing station exporter, however they require a full build of hostapd
/ wpad.

Signed-off-by: David Bauer <mail@david-bauer.net>
2020-02-03 15:42:35 +01:00
Rosen Penev
3aa009478a
prometheus-node-exporter-lua: fixed small warning
This happens during compilation:

Enabling network
./etc/init.d/prometheus-node-exporter-lua: line 7: /lib/functions/network.sh: No such file or directory

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-27 18:55:31 -08:00
Etienne Champetier
50b825e7fa prometheus-node-exporter-lua: bump version
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2019-11-17 18:16:48 -08:00
Martin Schiller
0b34b8538e prometheus-node-exporter-lua: ltq-dsl.lua: use new var names errors_fecs_*
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2019-09-23 06:38:25 +02:00
Etienne Champetier
a14bed1bc9 prometheus-node-exporter-lua: add target & system to OpenWrt collector
Before:
node_openwrt_info{revision="r10756+1-7546be6007",model="GL.iNet GL-AR150",id="OpenWrt",board_name="glinet,gl-ar150",release="SNAPSHOT"} 1

After:
node_openwrt_info{revision="r10756+1-7546be6007",target="ath79/generic",board_name="glinet,gl-ar150",id="OpenWrt",model="GL.iNet GL-AR150",release="SNAPSHOT",system="Atheros AR9330 rev 1"} 1

Fixes #9730, replace #9735

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2019-08-14 20:52:30 -07:00
Kirill Lukonin
5eb8e47df2 prometheus-node-exporter-lua: Add more wifi_station metrics and fix naming according to original wifi_linux.go node exporter
Signed-off-by: Kirill Lukonin <klukonin@gmail.com>
2019-04-15 12:51:11 +05:00
Alex Tomlins
4b6f76bfac prometheus-node-exporter-lua: Bump PKG_RELEASE
Signed-off-by: Alex Tomlins <alex@tomlins.org.uk>
2019-04-08 19:52:32 +01:00
Alex Tomlins
deab22044b prometheus-node-exporter-lua: Bump PKG_RELEASE
Signed-off-by: Alex Tomlins <alex@tomlins.org.uk>
2019-04-04 22:28:40 +01:00
Piotr Machała
626b197cc1 prometheus-node-exporter-lua: change network metric type to counter
Signed-off-by: Piotr Machała <pm7gt@933x.net>
2018-12-30 22:11:25 +01:00
Rene Treffer
c751af8616 prometheus-node-exporter-lua: add lantiq dsl modem collector
a.heider: Address PR comments and clean up.

Signed-off-by: Rene Treffer <treffer+github@measite.de>
Signed-off-by: Andre Heider <a.heider@gmail.com>
2018-12-16 19:17:00 +01:00
Leonid Evdokimov
1288bd6473 prometheus-node-exporter-lua: close io.popen files to reap zombies
Signed-off-by: Leonid Evdokimov <leon@darkk.net.ru>
2018-11-25 17:06:24 +03:00
Etienne Champetier
b584443d65 prometheus-node-exporter-lua: add conntrack collector
Also fix missing dependency of openwrt collector

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-07-25 23:23:56 +02:00
Etienne Champetier
767f87f469 prometheus-node-exporter-lua: set myself as maintainer
This was OKed sometimes ago by @simonswine
https://github.com/openwrt/packages/pull/5128

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2018-07-25 23:21:38 +02:00
Paul Spooren
de9f3656c7 prometheus-node-exporter-lua: adapt 0.16 metrics
Prometheus introduced some new conventions on how to name metrics.
Read here https://prometheus.io/docs/practices/naming/

This PR breaks compatibility with past versions, just like the officials
node exporter! 💥

Signed-off-by: Paul Spooren <mail@aparcar.org>
2018-06-28 23:53:12 +09:00
Paul Spooren
fc44f87dc5 prometheus-node-exporter-lua: handle fancy release
Some releases may have non letters in it's name currently resulting in
an empty ("") output which is then discarded, resulting in *missing*
labels in the metric.

Now it uses `.-` to catch as little as possible, but anything.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2018-06-17 17:07:36 +09:00
Paul Spooren
053487cca7 prometheus-node-exporter-lua: add openwrt exporter
adds openwrt specific information about the device.
include DISTRIB_{ID, RELEASE, REVISION}, board_name and model

Example output:

    # TYPE node_openwrt_info gauge
    node_openwrt_info{revision="55a0636",model="QEMU Standard PC (i440FX + PIIX, 1996)",id="LiMe",board_name="qemu-standard-pc-i440fx-piix-1996",release="snapshot"} 1
    node_scrape_collector_duration_seconds{collector="openwrt"} 3.814697265625e-05
    node_scrape_collector_success{collector="openwrt"} 1

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-05-05 21:15:48 +09:00
Paul Spooren
509f208ee7 prometheus-node-exporter-lua: export static files
Print all files from /var/prometheus/*.prom. This behaviour allow users
to add metrics with non-lua scripts.

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-04-30 01:17:20 +09:00
Paul Spooren
79073ee201 prometheus-node-exporter-lua: extend bmx7 plugin
Now monitors as well the tunIn parameters, aka the annoucend routes to
the network. This is handy to check if a node annouces itself as a
gateway.

Also list all activated plugins.

Example output:

    # TYPE bmx7_tunIn gauge
    bmx7_tunIn{name="myIP4",network="10.198.52.86/32"} 1
    bmx7_tunIn{name="myIP6",network="2012:0:0:56::/128"} 1
    bmx7_tunIn{name="inet4",network="0.0.0.0/0"} 1
    # TYPE bmx7_plugin gauge
    bmx7_plugin{name="bmx7_config.so"} 1
    bmx7_plugin{name="bmx7_json.so"} 1
    bmx7_plugin{name="bmx7_sms.so"} 1
    bmx7_plugin{name="bmx7_tun.so"} 1

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-04-14 15:58:52 +09:00
Paul Spooren
f7093021f9 prometheus-node-exporter-lua: add bmx6/7 scraper
scrapes bmx6 status and connected links.

example output:

    bmx6_status{id="qMp-LibreMesh-1706",version="BMX6-0.1-alpha",address="fd66:66:66🅰️6670:2ff:fe3e:9d28"} 1
    bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100
    bmx6_link_txRate{target="UPC-CN-C6-E104-Alix",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100
    bmx6_link_rxRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100
    bmx6_link_txRate{target="UPC-CN-C6-E104-Alix-Paul",source="qMp-LibreMesh-1706",dev="wlan1-adhoc_12"} 100
    bmx6_link_rxRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 97
    bmx6_link_txRate{target="UPC-CN-C6-E104-Turoffner",source="qMp-LibreMesh-1706",dev="wlan0-mesh_12"} 100
    node_scrape_collector_duration_seconds{collector="bmx6"} 0.0025260448455811
    node_scrape_collector_success{collector="bmx6"} 1
    scrapes bmx7 status and connected links.

example output:

    bmx7_status{id="C68791D2",revision="3a52f89",name="smpl-18f4ce",address="fd70:c687:91d2:8ab3:1a88:6b14:bad0:2b18"} 1
    bmx7_cpu_usage 0.7
    bmx7_mem_usage 3204000
    bmx7_link_rxRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 54000
    bmx7_link_txRate{target="F48239CD",dev="wlan0-mesh_13",source="C68791D2",name="smpl-07889a"} 52729
    node_scrape_collector_duration_seconds{collector="bmx7"} 0.0020999908447266
    node_scrape_collector_success{collector="bmx7"} 1

prometheus-node-exporter-lua: bmx6/7 netjson format

adds labels called source and target to links instead of only the target
previously called "id".

Retrieving all *links* from prometheus now makes it easier to create
a valid netjson(.org) graph.

It's not feasible to use *instance* as *source* as for instance likely
the name is used for dns, instead of the ID. Using the *name* instead of
*id* for netjson linking results in a bad graph when two devices have
the same (default) hostname.

Signed-off-by: Paul Spooren <spooren@informatik.uni-leipzig.de>
2018-02-12 21:41:37 +01:00
Etienne Champetier
d1b461137a prometheus-node-exporter-lua: bump version
Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2017-12-08 21:22:16 -08:00
Etienne Champetier
84023027a2 prometheus-node-exporter-lua: split out nat_traffic and netstat
nat_traffic is too verbose to be really useful by default
netstat is broken by default on OpenWrt/LEDE

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2017-12-08 21:22:16 -08:00
Etienne Champetier
fba739d32d prometheus-node-exporter-lua: put wifi collector in 2 separate packages
this allow to remove libubus-lua/libiwinfo-lua dependency from main package
this also allow to have different scrape_interval

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>

split stations

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2017-12-08 21:22:16 -08:00
Etienne Champetier
32e1baeddd prometheus-node-exporter-lua: make it modular
As prometheus-node-exporter-lua is a reimplementation of node_exporter,
I'm using "collector" instead of "scraper" and renaming some collectors

put each collector in a separate file

report collector success/failure and duration per scrape
(follow https://github.com/prometheus/node_exporter/pull/516)

allow to filter collectors using "collect[]" params
(see https://github.com/prometheus/node_exporter#filtering-enabled-collectors)

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2017-12-08 21:22:16 -08:00
Etienne Champetier
7b1b69ca6c prometheus-node-exporter-lua: rewrite wifi scraper
On my bullet m2, scrape duration goes from between 0.2 and 0.5 to a stable 0.025
We also don't depend on luci anymore

This remove wifi_network_up metric, but this metric was buggy
wifi_network_up{ifname="wlan0-1",ssid="test1",channel="11",mode="Master",bssid="12:34:56:78:9A:BC",country="FR",frequency="2.462"} 1
wifi_network_up{ifname="radio0.network2",ssid="test1",channel="11",mode="Master",country="US",frequency="2.462"} 0

Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
2017-12-08 21:22:16 -08:00
Christian Simon
d27d9e566a prometheus-node-exporter-lua: adds node metrics exporter
Signed-off-by: Christian Simon <simon@swine.de>
2017-05-08 14:27:43 +01:00