

There are quite a few other metrics available from node-exporter and cAdvisor I could have used. If you want something similar then you can copy my dashboard json. This is what my Grafana dashboard looks like.

static_configs : - targets : Dashboard Set Up # metrics_path defaults to '/metrics' # scheme defaults to 'http'. job_name : 'prometheus' # Override the global default and scrape targets from this job every 5 seconds. scrape_configs : # The job name is added as a label `job=` to any timeseries scraped from this config. rule_files : # - "les" # - "les" # - "les" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. external_labels : monitor : 'my-project' # Load and evaluate rules in this file every 'evaluation_interval' seconds.
#GRAFANA INTERNET UPTIME MONITOR SERIES#
# Attach these labels to any time series or alerts when communicating with # external systems (federation, remote storage, Alertmanager). # scrape_timeout is set to the global default (10s). evaluation_interval : 120s # By default, scrape targets every 15 seconds. If you are running locally you could use localhost and # my global config global : scrape_interval : 120s # By default, scrape targets every 15 seconds. You only need to change the following environment variables to match the domain for your Raspberry Pi. Labels : - 'traefik.enable=true' - '.rule=PathPrefix(`/grafana`)' - '.=3000' - '=Authorization:-' networks : - pi data/grafana :/var/lib/grafanaĮnvironment : - GF_USERS_ALLOW_SIGN_UP=false Grafana : image : grafana/grafana :latest Privileged : true restart : unless -stopped Node-exporter : image : prom/node -exporter :latestĬontainer_name : monitoring_node_exporterĬadvisor : image : braingamer/cadvisor -arm :latest data/prometheus/config :/etc/prometheus/Ĭommand : - '-config.file=/etc/prometheus/prometheus.yml' - '=/prometheus' expose : - 9090 links : - cadvisor :cadvisor Version : '3.4' services : prometheus : image : prom/prometheus :latest I will go straight to the Docker Compose file you need and will explain what you need to change for your setup: Traefik - I use this as my reverse proxy if you don’t have a reverse proxy set up you can follow my previous post, Traefik vs Nginx for Reverse Proxy with Docker on a Raspberry Pi.Node Exporter - Prometheus exporter for hardware and OS metrics.cAdvisor - A container monitor from Google to monitor the resources used by containers.Prometheus - for gathering the data in a time series.There are probably quite a few services that work with Grafana for monitoring. Container data - I want to know which containers are causing high CPU and Memory usage.Hard Disk Space - I have a 32GB SD card in my Pi but I have had one fill up before which makes the whole thing unresponsive.Memory - With only 1GB of memory I need to keep an eye on how much I run on it.CPU - If the CPU ends up running at 100% a lot of the time, I might need to scale down the services running on it.In my case I am interested in the following: With any monitoring, it is important to know what you want to keep an eye on. I use Grafana a lot at work and love it, so I thought it would be good to use it to monitor my Raspberry Pi. So I am a little worried sometimes that I am going to overload it with all the docker services I am running on it. I am currently using a Raspberry Pi 2 B which is a great device but only has 1GB of RAM and 900 MHz CPU. As you might have seen from my last few posts I have quite a lot running on my Raspberry Pi.
