InfluxDB and Grafana
Here we will describe how to install Telegraf, InfluxDB, and Grafana on an Orange Pi computer running Armbian.
InfluxData provides a suite of applications supporting Data collection (Telegraf), Time series Data storage, (InfluxDB) Data processing and alerting (Kapacitor), and Visualization (Chronograf)
Armbian supports installation of Debian and Ubuntu images for installation on a number of ARM based computers. For example Orange Pi, Banana Pi and a number of other similar devices.InfluxData provides a suite of applications supporting Data collection (Telegraf), Time series Data storage, (InfluxDB) Data processing and alerting (Kapacitor), and Visualization (Chronograf)
The installation procedure below
Grafana is a Dashboard that can receive data from InfluxDB as well as other sources as Graphite and present it as graphs.
Typically Telegraf, Grafana and InfluxDB are installed on one computer. For other computers that are to be monitored only, only Telegraf installation is needed.
InfluxDB from Debian Repo
InfluxDB suppports a Debian repository including an armhf package. A slightly modified procedure is shown below.
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/os-release
test $VERSION_ID = "7" && sudo echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
test $VERSION_ID = "8" && sudo echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update && sudo apt-get install influxdb telegraf
Grafana
It seems there is no Debian repository of Grafana in Wheezy or Jessie. There is however support in 'stretch', the new Debian version.
sudo echo "deb https://repos.influxdata.com/debian stretch main contrib non-free" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get install grafana
Verification
Check that these are "active running":
sudo systemctl status influxdb.service
sudo systemctl status telegraf.service
sudo systemctl status grafana.service
These are my installed versions
anders@orangepi1:~$ dpkg -l | egrep -e "influx|telegraf|grafana"
ii grafana 2.6.0+dfsg-3 armhf feature rich metrics dashboard and graph editor
ii grafana-data 2.6.0+dfsg-3 all feature rich metrics dashboard and graph editor - data files
ii influxdb 0.13.0-1 armhf Distributed time-series database.
ii telegraf 0.13.1-1 armhf Plugin-driven server agent for reporting metrics into InfluxDB.
These are my installed versions
anders@orangepi1:~$ dpkg -l | egrep -e "influx|telegraf|grafana"
ii grafana 2.6.0+dfsg-3 armhf feature rich metrics dashboard and graph editor
ii grafana-data 2.6.0+dfsg-3 all feature rich metrics dashboard and graph editor - data files
ii influxdb 0.13.0-1 armhf Distributed time-series database.
ii telegraf 0.13.1-1 armhf Plugin-driven server agent for reporting metrics into InfluxDB.
Configuration
Configuration is mostly left as an exercise for the reader. There ares several guides out there.
Telegraf should be sufficiently configured by using the default configuration. When connfiguring on the monitored computer, change InfluxDB configuration from localhost to the remote IP or name of the computer on which InfluxDB is installed.
vi /etc/telegraf/telegraf.conf
InfluxDB configuration should be satisfactory wirh the default for many cases
vi /etc/influxdb/influxdb.conf
e.g http://orangepi1:3000/
Add InfluxDB as Datasource
the version of grafana contained in the repo is pretty shitty ,
ReplyDeletethere is a bug preventing the display of icons when you run a headless version of the os (Orangepi zero)
the version is fonctional , but barely usable
i'm curently trying to compile the sourcecode from github
Anything new regarding this? Could you maybe extend this blog post with logging data to RAM and flushing to InfluxDB in regular intervals?
ReplyDeleteHello, you can monitor SoC temp adding extra lines to /etc/telegraf/telegraf.conf
ReplyDelete[[inputs.exec]]
commands = ["cat /sys/devices/virtual/thermal/thermal_zone0/temp"]
name_override = "soc_temp"
data_format = "value"
data_type = "integer"
I tested it on Orange Pi Zero - Armbian 5.38 Ubuntu
You have to divide by 1000 to get the temp value in Celsius
Thanks for the tip Walter.
DeleteI will try this.