prometheus-node-exporter-lua: normalize metric names in hostapd_stations
authorMartin Weinelt <hexa@darmstadt.ccc.de>
Thu, 24 Jun 2021 16:34:47 +0000 (18:34 +0200)
committerEtienne Champetier <champetier.etienne@gmail.com>
Tue, 6 Jul 2021 17:37:36 +0000 (13:37 -0400)
commita98596168ade0ace524ca51067f00e2956ec8cee
treea563bc63922a7ec571752a777314faf74ab6ea52
parent0a9d2b818d4c0d6c1c8df59fde9808bae6ddb72d
prometheus-node-exporter-lua: normalize metric names in hostapd_stations

Normalizes metrics according to the Prometheus upstream metric
guidelines available at https://prometheus.io/docs/practices/naming/.

Drops the `hostapd_station_wpa` metric, because it is misleading, as it
is not a differentiator between WPA versions, like one could be led to
assume.

Exposes more flags in a more consistent manner. Their metric was
previously only exposed if the flag was present, but not if it wasn't.
The same applies issue was fixed with regards to vht caps.

After this commit the following breaking changes are in place:

- All flags have been moved below `hostapd_station_flags_$flagname`:
  - `hostapd_station_ht` is now `hostapd_station_flag_ht`
  - `hostapd_station_mfp` is now `hostapd_station_flag_mfp`
  - `hostapd_station_vht` is now `hostapd_station_flag_vht`
  - `hostapd_station_wmm` is now `hostapd_station_flag_wmm`

- New flags have been exposed:
  - `hostapd_station_flag_he` for high-efficency connections
  - `hostapd_station_flag_short_preamble` for short preamble connections
  - `hostapd_station_flag_auth` for authentication state
  - `hostapd_station_flag_assoc` for association state

- Some metrics have had their unit normalized to the SI base unit or
  embedded into the metrics name:
  - `hostapd_station_inactive_msec` is now
    `hostapd_station_inactive_seconds`, the value is still float64 and
    as such has enough precision anyway, but becomes easier to reason
    about
  - `hostapd_station_connected_time` has been renamed to
    `hostapd_station_connected_seconds_total` so the unit, as well as
    the nature of the counter is reflected
  - `hostapd_station_signal` now includes its unit and is therefore
    named `hostapd_station_signal_dbm`

- The packet counter metrics have been normalized to what the node
  exporter uses, so it is more in line with the defaults in the
  Prometheus ecosystem:
  - `hostapd_station_rx_packets` is now
    `hostapd_station_receive_packets_total`
  - `hostapd_station_rx_bytes` is now
    `hostapd_station_receive_bytes_total`
  - `hostapd_station_tx_packets` is now
    `hostapd_station_transmit_packets_total`
  - `hostapd_station_tx_bytes` is now
    `hostapd_station_transmit_bytes_total`

Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
utils/prometheus-node-exporter-lua/files/usr/lib/lua/prometheus-collectors/hostapd_stations.lua