feat: monitor openwrt routers with prometheus

This commit is contained in:
Michele Cereda
2023-07-14 23:01:16 +02:00
parent 32cc6d7894
commit 9137b544e2
3 changed files with 81 additions and 1 deletions

73
knowledge base/openwrt.md Normal file
View File

@@ -0,0 +1,73 @@
# OpenWrt
Linux operating system targeting embedded devices, providing a fully writable filesystem with package management.
## Table of contents <!-- omit in toc -->
1. [Monitoring](#monitoring)
1. [Prometheus](#prometheus)
1. [Further readings](#further-readings)
1. [Sources](#sources)
## Monitoring
### Prometheus
On the router:
```sh
opkg install \
'prometheus-node-exporter-lua' \
'prometheus-node-exporter-lua-nat_traffic' \
'prometheus-node-exporter-lua-netstat' \
'prometheus-node-exporter-lua-openwrt' \
'prometheus-node-exporter-lua-wifi' \
'prometheus-node-exporter-lua-wifi_stations'
sed -E -i'.bak' "s/(option listen_interface) 'loopback'/\1 'lan'/" /etc/config/prometheus-node-exporter-lua
/etc/init.d/prometheus-node-exporter-lua start
curl 'router.fqdn:9100/metrics'
```
In Prometheus'configuration file:
```yml
scrape_configs:
- job_name: OpenWrt
static_configs:
- targets: [ 'router.fqdn:9100' ]
```
Dashboard for grafana: [11147-openwrt](https://grafana.com/grafana/dashboards/11147-openwrt/).
## Further readings
- [Website]
- [`opkg`][opkg]
- [UCI]
- [LXC]
- [Turris OS]
## Sources
All the references in the [further readings] section, plus the following:
- [How I monitor my OpenWrt router with Grafana Cloud and Prometheus]
<!--
References
-->
<!-- Upstream -->
[website]: https://openwrt.org/
<!-- In-article sections -->
[further readings]: #further-readings
<!-- Knowledge base -->
[lxc]: lxc.md
[opkg]: opkg.md
[turris os]: turris%20os.md
[uci]: uci.md
<!-- Others -->
[how i monitor my openwrt router with grafana cloud and prometheus]: https://grafana.com/blog/2021/02/09/how-i-monitor-my-openwrt-router-with-grafana-cloud-and-prometheus/

View File

@@ -42,6 +42,9 @@ scrape_configs:
- targets:
- fqdn:9100
- host.local:9100
- job_name: router
static_configs:
- targets: [ 'openwrt.local:9100' ]
```
## Queries
@@ -96,6 +99,7 @@ All the references in the [further readings] section, plus the following:
- [SNMP monitoring and easing it with Prometheus]
- [`prometheus/node_exporter`][prometheus/node_exporter]
- [`prometheus/snmp_exporter`][prometheus/snmp_exporter]
- [How I monitor my OpenWrt router with Grafana Cloud and Prometheus]
<!--
References
@@ -123,5 +127,6 @@ All the references in the [further readings] section, plus the following:
<!-- Others -->
[getting started with prometheus]: https://opensource.com/article/18/12/introduction-prometheus
[how i monitor my openwrt router with grafana cloud and prometheus]: https://grafana.com/blog/2021/02/09/how-i-monitor-my-openwrt-router-with-grafana-cloud-and-prometheus/
[ordaa/boinc_exporter]: https://gitlab.com/ordaa/boinc_exporter
[snmp monitoring and easing it with prometheus]: https://medium.com/@openmohan/snmp-monitoring-and-easing-it-with-prometheus-b157c0a42c0c

View File

@@ -456,9 +456,10 @@ luci-reload
- [How to control LED diodes]
- [Factory reset on Turris Omnia]
- [Supported SFP modules]
- [Home NAS]
- [OpenWrt]
- [`opkg`][opkg]
- [UCI]
- [Home NAS]
- [LXC]
## Sources
@@ -487,6 +488,7 @@ All the references in the [further readings] section, plus the following:
<!-- Knowledge base -->
[lxc]: lxc.md
[openwrt]: openwrt.md
[opkg]: opkg.md
[pi-hole]: pi-hole.md
[ssh]: ssh.md