// as2.no — monitoring

Metrics & logs: Grafana, InfluxDB, Loki. Network and host telemetry.


arild@as2.no:~/monitoring$ docker compose ps

# Stack

A Docker Compose stack on the .15 server. Metrics flow Telegraf → InfluxDB → Grafana; logs flow devices → AxoSyslog → Loki → Grafana.

ContainerRoleRetention
grafanaDashboards + log search (:3000)
influxdbTime-series metrics store (:8086)90 days
telegrafSNMP + host-metrics collector
lokiLog store (:3100)30 days
axosyslogSyslog receiver :514 → Loki

arild@as2.no:~/monitoring$ xdg-open https://grafana.as2.no

# Grafana

Reachable at https://grafana.as2.no on the LAN. Provisioned dashboards:

ASUS Router — live + historical internet up/down throughput, plus a panel per interface (C2960CX-1 switch uplink, TV decoder, WiFi 2.4/5GHz radios) each showing RX/TX from the router's perspective — TX out to the decoder is the IPTV multicast stream pulled from the ISP over the WAN. A bottom panel graphs associated WiFi clients per radio (2.4GHz, 5GHz-1, 5GHz-2)
Network — Switches — CPU / memory / flash / temperature / uptime health row, one graph per interface (UP or described ports) with switch + interface selectors, plus an errors overview
Network — APs — clients per AP (from the AireOS WLC) and each AP's uplink throughput measured at its switch port
Server Health (.15) — CPU / memory / disk / uptime health row, plus disk-by-mount and NIC throughput
Network Clients — live table of every device (name, IP, MAC, connection, location) merged from the router, DHCP, ARP and the Cisco switches; also served as clients.html
Syslog / Logs — searchable device logs, filter by host + severity

arild@as2.no:~/monitoring$ cat metrics.md

# What's measured

SourceMethodMetrics
ASUS router (.1)SSH poller, 30sper-interface rx/tx throughput & lifetime bytes (WAN + active LAN/backhaul ports); associated WiFi clients per radio
Switches cx-1..4SNMP v2cper-port bits/s, errors, link status, uptime; CPU, memory, flash, temperature
WLC (.7)SNMP + syslogsystem uptime, AP/client events
Server (.15)TelegrafCPU, memory, disk usage, NIC throughput

SNMP is read-only and locked to the monitoring host via access-list 99 on each switch. Router counters are read over SSH from every interface that is up and passing traffic — the WAN (eth0) is tagged INTERNET, alongside the LAN bridge (br0), member ports (eth1eth6) and mesh backhaul (archer); idle tunnel and virtual interfaces are skipped. Sampled by a systemd timer.


arild@as2.no:~/monitoring$ cat logs.md

# Syslog

  • Switches, WLC and the ASUS router all forward syslog to 192.168.10.15:514
  • AxoSyslog normalises every format (including Cisco's non-standard frame) and ships to Loki
  • Logs are labelled by host (friendly names, e.g. C2960CX-1, router), severity, program, facility and searchable in Grafana
  • Query freely in Explore → Loki, e.g. {host="C2960CX-1"} |= "LINK"

arild@as2.no:~/monitoring$ ls ../
index.html — homepage
wiki.html — server wiki
network.html — network topology
hardware.html — hardware specs
ip-plan.html — IP plan
clients.html — live client inventory
games.html — browser games
arild@as2.no:~/monitoring$ cd ..