RasPi supervisor.fritz.box

The Raspberry Pi node "supervisor.fritz.box" is a temporary node (as described below).

The Raspberry Pi node called "supervisor.fritz.box" is a node to analyze the stability of my monitoring setup. To achieve this, I have installed a stack of Prometheus and Grafana on the supervisor node to monitor my primary Raspberry Pi monitoring node, RasPi monitoring.fritz.box.

The Prometheus and Grafana stack running on the supervisor node collects data about the health and performance of the monitoring node, including system metrics, service up/down status, and other critical data. This enables me to monitor and analyze the stability of the monitoring node, ensuring that it is running smoothly and efficiently.

If I find that the monitoring node is stable and runs without any crashes or unexpected behavior, I will tear down the supervisor node. However, if I notice any issues or problems with the monitoring node, I can quickly identify and address them using the data collected by the Prometheus and Grafana stack running on the supervisor node.

Metric Value

Model

Raspberry Pi 4 Model B

ditaa-build-image

Install

Operating System

Use the Raspberry Pi Imager to install "Ubuntu Server 23.04 (64-bit)" onto a SD card. Use the following settings:

raspi imager settings

Make sure to enter a valid hostname and user sebastian uses the correct password!

Configuration and package installation

  1. Steps to run on you normal workstation (= a machine with SSH access to the RasPi node which is probably the ony you used to setup the SD card)

    1. Enable passwordless SSH connections: ssh sebastian@monitoring.fritz.box and ssh-copy-id sebastian@monitoring.fritz.box or by using the Jarvis modules ssh-connect-setup-passwordless and ssh-connect (all from your workstation, not on the RasPi node).

    2. Apply ansible configs from this repo (src/main/homelab/ansible-cli.sh)

  2. FritzBox Settings

    1. It is recommended to always assign the same IP address to this RasPi node. This can help avoid issues with IP address conflicts or changes that could cause the communication between services to fail or become unreliable.

This machine is not intended for development purposes so there is no need to push any data to Github. Therefore there is no SSH key configuration for GitHub on this machine. It is only possible to clone public repositories via HTTPS.

Start Services

Docker Compose Stack: Ops

The ops Docker stack is a Docker Compose configuration that manages all of the needed exporters to monitor system metrics with Prometheus and Grafana. Additionally, it starts a local Portainer instance. By using the Ops Docker stack, you can quickly and easily deploy all of the necessary components for monitoring your system metrics. This includes exporters for various system metrics, such as CPU usage, disk usage, and network activity. The local Portainer instance makes it easy to manage and monitor the Docker containers running in the Ops Docker stack.

Docker Compose Stack: supervisor.fritz.box

There is another Prometheus-Grafana stack that will only exist temporarily (supervisor.fritz.box). This temporary stack will be set up to monitor the actual Prometheus-Grafana setup (monitoring.fritz.box) to check if the host’s resources are sufficient. This will help ensure that the monitoring stack is running efficiently and that there are no performance issues. Once the temporary stack has completed its monitoring task, (i.e. monitoring.fritz.box works withput performance issues) it can be taken down to conserve resources.

rendered-plantuml-image

The services listed below are accessible through their respective web UI.

Container Image URL

nginx

http://supervisor.fritz.box (prod) Preferred way to access Grafana

grafana/grafana

http://supervisor.fritz.box:3000 (prod)

prom/prometheus

http://supervisor.fritz.box:9090 (prod)

blackbox_exporter

http://supervisor.fritz.box:9115 (prod)