Graphite-dashgen automates the creation of Graphite dashboards
Project description
Overview
Graphite-dashgen automates the creation of Graphite dashboards. It creates per-host or per-group dashboards based on YAML configuration files. The per-host host dashboards are designed to create dashboards on existing collectd metrics. Unlike most of the alternatives below, this project seeks to use existing Graphite 0.9.9+ code.
Example
# Graphite Maintenance # Delete stale Graphite data 0 22 * * * find /opt/graphite/storage/log/ -type f -mtime +180 -delete 0 22 * * * find /opt/graphite/storage/whisper/collectd/ -type f -mtime +90 -delete 0 22 * * * find /opt/graphite/storage/whisper/statsd/ -type f -mtime +90 -delete # Delete empty directories 0 23 * * * find /opt/graphite/storage/log/ -type d -empty -delete 0 23 * * * find /opt/graphite/storage/whisper/collectd/ -type d -empty -delete 0 23 * * * find /opt/graphite/storage/whisper/statsd/ -type d -empty -delete # Regenerate all dashboards @daily /usr/local/sbin/dashgen.py -q -f /usr/local/etc/dashgen/dashconf.yml -f /usr/local/etc/dashgen/all_*.yml -H '*'
The crontab example above:
Cleans-up old graphite logs
Cleans-up old whisper databases
Regenerates per-host dashboards using the following configuration files
dashconf.yml: base configuration values
all_dash.yml: per-host dashboard configuration (HOST_all dashboards)
all_graphs.yml: per-host graph defintions for collectd metrics
Notes
YAML Configuration Files
Target entries are as close to web GUI as possible to make it easier to go back and forth
Dashboard Types
Per-Host
Per-Group
Per-Host Graphs
Types
Host Metrics: identified by glob_verify and may contain glob_metrics
Carbon Metrics: identified by carbon_match and host
The combination of glob_metrics and glob_verify should result in a single filesystem glob match
String Templates
Named substitutions draw from target_vars. Graph definitions that contain named substitutions not in target_vars are skipped.
Common target_vars include:
${color_combined}
${color_free}
${host}
${metric}
Graphite Graph Tips and Tricks
Lines drawn by graphite obscure the lines drawn before them. Z order is important. Consequently, many of the graphs’ metrics change color depending on their values.
For graphs that feature a free metric (ex. memory), that free metric is always green (green should not be included in the template’s lineColor)
Requirements
Graphite 0.9.9+
PyYAML (Ubuntu package: python-yaml)
To Do
More documentation!
Use templates with different colorList to easily differentiate graphs
(?) should graphs be sorted by parent instead of children (ex. all disk vda graphs before any vdb graphs)
Alternatives
A slightly different (and refreshing) take on Graphite dashboards:
The following projects existed before Graphite included a dashboard view:
The Graphite 0.9.12 documentation includes a good list of related software:
Contributors
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for python-graphite-dashgen-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbc4a0b5795a12d5d619968ff7c9140e0f0c5de0c29e6055e40c40803b589017 |
|
MD5 | eb9c1371244405d132b17234908f5e26 |
|
BLAKE2b-256 | a70adeaa3925c008b8de638e7566d1a564ab28408011a26b3edf27ff1c9314b3 |