Dashboard All The Things, A Grafana Crash Course

I’ve recently been spending a lot of time over on /r/homelab.  I keep seeing people posting kick ass Grafana dashboards monitoring everything from ESXI servers to the weather.  Being super intrigued I decided to take the plunge.

Today I’m going to show you how to get Grafana up and running.   The goal is for this to be a series taking you from getting Grafana running to making dashboards for a bunch of stuff.  That may or may not happen.  But hey, what better time for goals than the start of a new year.

First, a warning. This is a time sink. Seriously

No joke.  I really jumped into this whole dashboarding think and sank and huge amount of hours in it.  Personally I’ve enjoyed it.  You may not.  Be warned.

However, if all things go to plan, when this series is done I’ll be giving you the fruits of my learning so you can have your own killer dashboard much quicker.

Another Warning: I’m just a dude on the internet.  I’m going to be giving you random commands to enter into your server’s console with little to no explanation.  Under the best of circumstances that’s ill advised, under the worst you will get pwned.  It’s not magic but I’m not much of a teacher.  If you’re worried about trusting said random internet guy, refer to the official install guides linked below.  I recommend you do that anyway since you will ultimately learn more.

Now, A Preview!


You to can have a bangin’ dashboard like this for only $19.95 nothing but time!

Ok, lets get started.

What do I need? 

Great question! Mainly, you need a Linux server to install Grafana and Influx DB on.  Stuff to monitor also helps.

For me, I’ve installed Grafana and InfluxDB in a Ubuntu VM hosted in ESXI.  The rest of this guide assumes you’re using Ubuntu.  However, the install docs for both Grafana and InfluxDB provide directions for a number of distros.

Lets Go!

Install Grafana

Official install instructions found here

Add the following to /etc/apt/sources.list

deb https://packagecloud.io/grafana/stable/debian/ jessie main

The run this

curl https://packagecloud.io/gpg.key | sudo apt-key add -

Update repositories and install Grafana with this

sudo apt-get update
$ sudo apt-get install grafana

Run this to fire it up

systemctl start grafana-server

Run this to make it start on boot

systemctl enable grafana-server

We should now have a Grafana server up and running!

Navigate to http://IPADDRESS:3000 to see if you get the login page.   Default username/password is admin/admin

If none of this worked leave a comment and maybe I can help.  But Google and the official documentation is also your friend.  I’m just a dude on the internet. 

Now on to InfluxDB

Official install guide is found here

InfluxDB is a time series database.  It pairs perfectly with Grafana since it’s made to display time series dashboards.

We’ll be installing this on the same server as Grafana.

Login into your Ubuntu server and run this:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

Then this

source /etc/lsb-release

Then this

echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

Then this

sudo apt-get update && sudo apt-get install influxdb

Finally, start InfluxDB with this

sudo service influxdb start

If all went well you should be able to type influx into the console and get the influx shell.  If not, time to head to the official docs, Google and the comments section.

That’s it for now

I’ll end this post here.  This gives you the starting point of your kick ass dashboard.  In the next post I’ll go into feeding data into InfluxDB and displaying it in Grafana. Whenever I get around to writing that part there will be a link down here.


Leave a Reply

Your email address will not be published. Required fields are marked *