Graphite-dashgen automates the creation of Graphite dashboards
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.
# 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
- 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 Graphs
- 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:
- 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)
- Graphite 0.9.9+
- PyYAML (Ubuntu package: python-yaml)
- 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)
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:
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size python-graphite-dashgen-1.tar.gz (11.1 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for python-graphite-dashgen-1.tar.gz