Grafana is a tool to generate graphs and dashboards.

Random Notes[edit | edit source]

Pie Graph using MySQL[edit | edit source]

With the following query, I am able to generate a two column result set which I want to put into a pie graph.

SELECT requested_cpu, COUNT(requested_cpu) FROM `jobs` GROUP BY requested_cpu ORDER BY `COUNT(requested_cpu)` DESC

However, the Grafana Pie Graph plugin requires the result to be a time series. To work around this, add the timeseries with the current timestamp and ensure that the metric is a char type.

SELECT now() as time_sec, COUNT(requested_cpu) as `value`, CONVERT(requested_cpu, char) as metric 
FROM `jobs` WHERE   $__timeFilter(started) 
GROUP BY requested_cpu

Custom Colors in Pie Graph[edit | edit source]

Specify custom colors for each series by editing the JSON data directly. There should be an aliasColors field which needs to be populated. For example:

"aliasColors": {
    "1 min to 10 min": "#3b7dd0",
    "1 to 5 hours": "#e8cb2a",
    "10 min to 1 hour": "#73bf69",
    "5 to 24 hours": "#e8912a",
    "Over 24 hours": "#b21c1c",
    "Under 1 min": "#5fc5ff"
Grafana Pie Graph with custom colors
Grafana Pie Graph with custom colors

Ordering Series[edit | edit source]

When making a line graph, I wanted to order series in a specific order. The best way I found was to just have multiple queries selecting specific series in a particular order.

Tips[edit | edit source]

Reducing a long chain of conditions[edit | edit source]

Are you writing Influx queries like:

SELECT something FROM somewhere
WHERE thing = 'that' OR thing = 'it' OR thing = 'those' OR ....

Why not group them with pattern matching instead:

SELECT something FROM somewhere
WHERE thing =~ /^(that|it|those|...)$/