An image is worth a thousand words, which is why Abbot can now help you visualize your graphs in chat with the grafana skill!
List all your dashboards and quickly query your panels, generating graphs with custom time ranges and template variables to suit your visualization needs.
Setting it up
Before you can start visualizing all your graphs, you need to tell Abbot where to go to get them.
Start by generating a Grafana API key on your Grafana host, usually found at https://your-grafana-host/org/apikeys. Then, visit https://ab.bot/skills/grafana and click “Manage skill secrets” to add a secret named GrafanaKey, with the key you created.
In chat, tell Abbot where your Grafana host is with
@abbot grafana config host https://your-grafana-host
Once the API key and the host configuration are done, you’re ready to graph!
Graphs in action
The main command for the Grafana skill is db, for dashboard. To see all the panels of your Home dashboard, run
@abbot grafana db home
Dashboard names are case insensitive and can be partial, so if you have a dashboard with a long name, you don’t have to write it all in full.
Graph all of the things
You probably don’t want to see all the panels of a dashboard all the time though - you will likely have specific graphs you want to generate at certain times. To see a graph of a specific panel of a dashboard, add a colon and the panel name after the dashboard name to the db query, like so:
@abbot grafana db home:logins
Panel names are case insensitive, but they need to match fully. If they have spaces, you’ll need to quote them:
@abbot grafana db "home:memory / cpu"
You can also use the panel ID instead, so you don’t have to type the whole thing every time! Use the panels command to see all available panels of a dashboard and get the ID you need:
@abbot grafana panels home
@abbot grafana db home:11
Customize your graphs
Grafana graphs support templated variables and a host of other customization options, and you can use all of those from chat as well - the skill supports custom queries with time ranges, template variables, timezone specifications and size constraints.
Most often, you’ll want to customize the time window of your graph. You can specify a range by adding time parameters to your query:
@abbot grafana db home:3 2d 1d
This generates a graph of the logins panel in the Home dashboard with a time window starting 2 days ago and ending 1 day ago.
Time parameters are optional, and if you only have one, it will be interpreted as a window of “now - Time” to now.
@abbot grafana db "grafana dashboard:client side full page load" 24h var-app=backend var-server=backend_01 var-server=backend_03 var-interval=1h
The more complex query above generates a templated Grafana graph with a time window of 24 hours, customized with several variables.
Any parameter that Grafana supports in a query can be passed to the skill as key=value pairs, like timezone specifications or custom graph sizes:
@abbot grafana db home:3 tz=Europe/Lisbon width=1000 height=1000
Run @abbot help grafana for general help with the skill, or @abbot grafana help [command] for detailed help of each skill command.
You can find the source for this skill on our skills repository. If you have any issues or improvement suggestions, go ahead and open an issue or send us a pull request in that repository.
Happy graphing!