Skip to content

Monitoring

This guide describes how to operate the home lab monitoring stack, and how to run ad-hoc checks against it.

The monitoring stack works as follows:

  • Each home lab node runs monitoring agents (exporters) that expose metrics about the node and the workloads it hosts.
  • A Prometheus backend scrapes metrics from the monitoring agents and stores them as time series.
  • Grafana provides dashboards on top of the data that the Prometheus backend collects.
  • A Prometheus Blackbox Exporter runs synthetic probes (ICMP, DNS, HTTP) against endpoints to verify their availability from the outside.

For setup-side tasks, such as importing Grafana dashboards, see Configure monitoring.

Prometheus Blackbox Exporter example queries

The Blackbox Exporter exposes a probe endpoint at http://<blackbox-exporter-host>:9115/probe. You can query it directly to run a probe on demand, which is useful to debug failing checks. Appending debug=true to the query string makes the exporter return the full probe log instead of the metrics output.

Example queries:

  • ICMP ping:

    http://<blackbox-exporter-host>:9115/probe?module=icmp&target=raspberrypi.edge.lab.ferrari.how&debug=true
    
  • DNS A record (ferrarimarco.info):

    • Against an upstream DNS server:

      http://<blackbox-exporter-host>:9115/probe?module=dns_ferrarimarco_info_a&target=8.8.8.8&debug=true
      
    • Against the DNS resolver:

      http://<blackbox-exporter-host>:9115/probe?module=dns_gateway_edge_lab_ferrari_how_a&target=10.0.0.2:8053&debug=true
      
  • DNS NS record (ferrarimarco.info), against an upstream DNS server:

    http://<blackbox-exporter-host>:9115/probe?module=dns_ferrarimarco_info_ns&target=8.8.8.8&debug=true