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"
},
|
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|...)$/
|