I had absolutely no idea that AWS in its contemporary form came into existence in 2006, right around the time I started at Cisco and my first venture into the network industry. I was aware of AWS as a platform a few years later but like many (and with my lack of experience and insight) didn’t realise the impact or potential of it. Having worked in networking for 10-years now (Oct 2006-2016) and seen the dramatic change from old C6500 switching to modern SoC-based/merchant-silicon, as well as the more recent influx of ‘SDx’ technologies, I can see clearly now that platforms like AWS and Azure are quickly becoming the de-facto choice for future IT strategies for both infrastructure and services.
With this in mind, it’s time to upshift the skill set and move on. I had originally planned to complete the VCDX-NV qualification and I may well still do this over the long term but, in the short-term I’m going to focus on retaining my CCIE R&S until it becomes Emeritus and put significant efforts into training for AWS, Azure and some more general architecture specialisations such as TOGAF.
2017 will be the year of Architecture for me.
During my docker trials and tribulations, I found two great tools for storing measurement and then displaying them..
It’s not a complex database like MySQL – it’s a simple way of storing time-lapse measurements. I’ll late use it for storing temperature and humidity measurements, but for now we’ll get it setup and drop in some resource stats from the Pi.
Thankfully, someone’s already compiled Influx for the Raspberry Pi and Docker..
HypriotOS/armv7: pirate@black-pearl in ~ $ docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 -v /var/docker_data/influxdb:/data --name influxsrv sbiermann/rpi-influxdb
InfluxDB exposes two webports:
- 8083 – is a web-based UI for basic DB administration and querying
- 8086 – is a HTTP API for posting/getting data
The default username and password for influx is root/root.
Getting System Stats
It’s useful to know what your Pi is up to and how the resource utilisation looks, especially if you start pushing some heavy scripts or apps to it. Telegraf has been compiled for the Pi architecture here. Don’t follow the instructions about creating a dedicated data folder.. let Docker do this for you.
Now- the default rpi-telegraf configuration tries to send data to influx using localhost:8086 – this will fail as we’re not running influx inside the same container. To fix this we need to do two things..
Firstly – add the ‘–link’ command to the docker run CLI to link the influxdb container to the telegraf container.
- –link influxsrv:influxsrv – docker will create a DNS entry internally and map the influxsrv hostname to the dynamic IP of the influx container
Secondly – modify the telegraf configuration to point to the right influx hostname. To do this, you’ll need to run telegraf once and then use the docker inspect to find the data directory and edit the telegraf.conf file.
Run telegraf with the link:
HypriotOS/armv7: pirate@black-pearl in /var/docker_data
$ docker run -ti -v /data –link influxsrv:influxsrv –name telegraf apicht/rpi-telegraf
And then kill the process
Find the config config:
As we’ve been creating a dedicated store for our container’s data, you should find the telegraf data in /var/docker_data/telegraf
Edit the telegraf.conf file and the influxdb section:
[[outputs.influxdb]] ## The full HTTP or UDP endpoint URL for your InfluxDB instance.
## Multiple urls can be specified as part of the same cluster,
## this means that only ONE of the urls will be written to each interval.
# urls = [“udp://localhost:8089”] # UDP endpoint example
urls = [“http://influxsrv:8086”] # required
## The target database for metrics (telegraf will create it if not exists).
database = “telegraf” # required
Now telegraf can be run as a daemon container:
HypriotOS/armv7: pirate@black-pearl in ~
$ docker run -d -v /data –link influxsrv:influxsrv –name telegraf apicht/rpi-telegraf