Roon metrics (Grafana)

I like metrics - pretty graphs updating in realtime. (I run servers for a living so it goes with the territory.)

So, for any geeks out there, I thought I’d share a sample of graphed metrics on the Roon Core machine - as well as all the usual system stuff (load average, memory, CPU, etc) I thought I’d graph the procstat out put of RoonAppliance, RoonServer, RAATServer, Samba, and lm-sensors output for CPU temperature and fan speed.

A 3-hour sample:

If anyone’s interested I use telegraf on the Core machine, exporting data to InfluxDB on a remote machine and graph it in Grafana. Works really well.

7 Likes

Interesting stuff…any machine spec you care to share for the results you posted?

Yes, it’s a Brix i7-6500U CPU @ 2.50GHz, 4 cores, 16GB RAM running Ubuntu server 16.04.

An identical setup on an Intel NUC5i5RYH looks pretty much the same. 16GB is probably overkill - but memory is cheap.

@Simon_Finch, would you mind sharing the toolset and associated configuration files to save me reinventing the wheel. The monitoring you’ve configured will be very handy in helping me diagnose some intermittent dropout issues I’ve been experiencing. It seems to me to be CPU related driven by UI events, but I’d like to be able to see whether there’s any correlation between CPU, LAN and UI when a dropout occurs.

I’m guessing lm-sensors is part of the setup?

Thanks.

Instructions

Based on the assumption that you have 2 machines: one running Roon Core/Server and one to collect and display metrics.

On the machine running Roon Core:


On the ‘collecting’ machine:


Then, on the Roon Core machine, configure Telegraf:

  • backup the default config (cp /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.default)

  • replace or overwrite telegraf.conf with this: https://gist.github.com/spiffin/80509b3ef45b48141eabca2f26cf1624

  • make sure to edit the [[outputs.influxdb]] entry to reflect the IP of the machine running InfluxDB under ‘OUTPUT PLUGINS’

  • restart telegraf (service telegraf restart)


Then, setup Grafana’s web interface:

  • open the web interface at http://COLLECTING_MACHINE_IP:3000

  • define your data source: menu > Data Sources > Add data source

  • Name = whatever you like (e.g. Telegraf_roon)

  • Type = InfluxDB

  • Url = http://localhost:8086

  • Access = proxy

  • Database = telegraf_roon

Click Save & Test. You now have a working data source for Grafana.


Then import the graphing template into Grafana:

Make sure the correct datasource is selected in the datasource drop-down (in blue at the top left of the dashboard) and you’re good to go.


Note: you may have to tweak the lm-sensors selectors as the chipsets and/or fan name may differ on your machine.

You edit a graph’s selectors by clicking on the graph title, then ‘Edit’ and, obviously, check the Grafana docs: http://docs.grafana.org

Hope that helps.

2 Likes