So you came across a sweet looking Grafana dashboard and want to make your own? Well you came to the right spot! I am going to walk you through how to deploy Grafana and companion services to get a sweet dashboard of your own!
- Create a Virtual Machine in Hyper-V. ✅
- Install Ubuntu Server on new VM. ✅
- Secure SSH access to VM ✅
- Setup and install Docker CE. ✅
- Deploy InfluxDB, Grafana, and Telegraf in Docker. ✅
- Deploy Prometheus in Docker. ✅
- Other services in Docker.
- Deploy & Configure Telegraf on Linux. ✅
- Deploy Telegraf as a service on Windows. ✅
- Bonus: Placing Grafana behind a reverse proxy using Caddy. ✅
✅ – indicates completed guide page. Last updated 1-16-2020
This guide will be written from a Windows user point of view. 90% of you probably use Windows as your daily driver. If not, cool, as you probably already know your way around a cli/bash terminal or you use OSX (yikes).
Grafana 7+ changed the UI and other portions of the software. I will be updating this guide in a few weeks or so. Otherwise the current steps should still be fine but images may look different.
A few of the files needed in this guide are provided via my self hosted dogbin instance. If you are unable to curl the files it may be that I am either rebooting Caddy, the server is down for maintenance, or its dead. Shoot me an email if you cant get the files!
There are two different ways to set this stuff up (I will be using a virtual machine via Hyper-V for this guide):
- A Virtual Machine (Recommended)
- A Physical Machine
Things you will need:
- Windows 7, 8.1, or 10 Pro+ OR Windows Server 2012 R2+ OR Hyper-V Server already running and ready.
- A decent file editor. I recommend Visual Studio Code for Windows and
nano
for Ubuntu CLI. - A USB drive that’s 1GB.+ *
- 2-3 hours of free time.
- A decent internet connection makes this go faster.
- Ubuntu Server. Which you can get from here.
* The USB drive is only needed if you are using a physical host over a VM. The setup process for this is the same as if you were installing Windows.
Table of Contents
- Grafana – Start from Scratch [This Page]
- Creating the Virtual Machine
- Installing Ubuntu Server
- Setting up Docker
- Deploying InfluxDB in Docker
- Deploying & Configuring Telegraf on Linux
- Deploying Grafana in Docker
- Deploying other services in Docker [WIP]
- Securing Linux via IPTables + Fail2Ban [WIP]
- Caddy + SSL + Grafana
Page nav links are at the bottom of each page!
Add-ons ToC
- Monitoring your Plex Media Server with Varken
- Pi-Hole Stats in Grafana
- Speedtest Data in Grafana
- Deluge -> InfluxDB
- Monitoring Hyper-V via Telegraf
- Monitoring Nvidia GPUs via Telegraf
- Expanding Pi-Hole Stats with Prometheus
Guide Key
Text rendered like this is a NOTE
Text rendered like this is an OPTIONAL step
Text rendered like this is a WARNING
G-EE-Group/g-ee
Git Repo for scripts created by members of the Grafana – Experts Exchange Facebook group. How to Contribute: Clone/fork the Repo Create a new branch that isn’t master / other already existing branchs. Do your changes Commit / push your changes Create a pull request against the main repo for master ???
Credits – Special Thanks
These people took the time to go through the guide and help fix issues and make a few more things clearer. Thank you so much!
- Scott H. – GEE Group Member
- Tom C. – GEE Group Member