{ "info": { "author": "Timid Robot Zehta", "author_email": "tim@clockwork.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: MIT License" ], "description": "Overview\n=========\n\nGraphite-dashgen automates the creation of Graphite_ dashboards. It creates\nper-host or per-group dashboards based on YAML configuration files. The\nper-host host dashboards are designed to create dashboards on existing\ncollectd_ metrics. Unlike most of the alternatives below, this project seeks to\nuse existing Graphite_ 0.9.9+ code.\n\n.. _collectd: http://www.collectd.org/\n.. _Graphite: http://graphite.wikidot.com/\n\n\nExample\n=======\n\n::\n\n # Graphite Maintenance\n # Delete stale Graphite data\n 0 22 * * * find /opt/graphite/storage/log/ -type f -mtime +180 -delete\n 0 22 * * * find /opt/graphite/storage/whisper/collectd/ -type f -mtime +90 -delete\n 0 22 * * * find /opt/graphite/storage/whisper/statsd/ -type f -mtime +90 -delete\n # Delete empty directories\n 0 23 * * * find /opt/graphite/storage/log/ -type d -empty -delete\n 0 23 * * * find /opt/graphite/storage/whisper/collectd/ -type d -empty -delete\n 0 23 * * * find /opt/graphite/storage/whisper/statsd/ -type d -empty -delete\n # Regenerate all dashboards\n @daily /usr/local/sbin/dashgen.py -q -f /usr/local/etc/dashgen/dashconf.yml -f /usr/local/etc/dashgen/all_*.yml -H '*'\n\nThe crontab example above:\n\n1. Cleans-up old graphite logs\n2. Cleans-up old whisper databases\n3. Regenerates per-host dashboards using the following configuration files\n\n A. dashconf.yml_: base configuration values\n B. all_dash.yml_: per-host dashboard configuration (HOST_all dashboards)\n C. all_graphs.yml_: per-host graph defintions for collectd metrics\n\n.. _dashconf.yml:\n https://github.com/ClockworkNet/graphite-dashgen/blob/master/dashconf.yml\n.. _all_dash.yml:\n https://github.com/ClockworkNet/graphite-dashgen/blob/master/examples/all_dash.yml\n.. _all_graphs.yml:\n https://github.com/ClockworkNet/graphite-dashgen/blob/master/examples/all_graphs.yml\n\n\nNotes\n=====\n\n- YAML Configuration Files\n\n - Target entries are as close to web GUI as possible to make it easier to go\n back and forth\n\n- Dashboard Types\n\n 1. Per-Host\n 2. Per-Group\n\n- Per-Host Graphs\n\n - Types\n\n 1. Host Metrics: identified by ``glob_verify`` and may contain\n ``glob_metrics``\n 2. Carbon Metrics: identified by ``carbon_match`` and host\n\n - The combination of ``glob_metrics`` and ``glob_verify`` should result in a\n single filesystem glob match\n\n- String Templates\n\n - Named substitutions draw from ``target_vars``. Graph\n definitions that contain named substitutions not in `target_vars` are\n skipped.\n - Common `target_vars` include:\n\n - ``${color_combined}``\n - ``${color_free}``\n - ``${host}``\n - ``${metric}``\n\n- Graphite Graph Tips and Tricks\n\n - Lines drawn by graphite obscure the lines drawn before them. Z order is\n important. Consequently, many of the graphs' metrics change color depending\n on their values.\n - For graphs that feature a free metric (ex. memory), that free metric is\n always green (green should not be included in the template's ``lineColor``)\n\n\nRequirements\n=============\n\n- Graphite 0.9.9+\n- `PyYAML`_ (Ubuntu package: `python-yaml`)\n\n.. _`PyYAML`: https://pypi.python.org/pypi/PyYAML/\n\n\nTo Do\n=====\n\n- More documentation!\n- Use templates with different ``colorList`` to easily differentiate graphs\n- (?) should graphs be sorted by parent instead of children (ex. all disk\n ``vda`` graphs before any ``vdb`` graphs)\n\n\nAlternatives\n============\n\nA slightly different (and refreshing) take on Graphite dashboards:\n\n- `Tasseo `_\n\nThe following projects existed before Graphite included a dashboard view:\n\n- `Etsy Dashboards `_\n- `GDash `_\n- `Graphiti `_\n- `Tattle `_\n\nThe Graphite 0.9.12 documentation includes a good list of related software:\n\n- `Tools That Work With Graphite\n `_\n\n\nContributors\n============\n\n- https://github.com/TimZehta\n- https://github.com/insyte\n\n\nLicense\n=======\n\n- `LICENSE.txt`_ (`MIT License`_)\n\n.. _`LICENSE.txt`:\n https://github.com/ClockworkNet/wtop/blob/master/LICENSE.txt\n.. _`MIT License`: http://www.opensource.org/licenses/MIT", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/ClockworkNet/graphite-dashgen/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ClockworkNet/graphite-dashgen", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "python-graphite-dashgen", "package_url": "https://pypi.org/project/python-graphite-dashgen/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/python-graphite-dashgen/", "project_urls": { "Download": "https://github.com/ClockworkNet/graphite-dashgen/releases", "Homepage": "https://github.com/ClockworkNet/graphite-dashgen" }, "release_url": "https://pypi.org/project/python-graphite-dashgen/1/", "requires_dist": null, "requires_python": null, "summary": "Graphite-dashgen automates the creation of Graphite dashboards", "version": "1" }, "last_serial": 1301413, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "eb9c1371244405d132b17234908f5e26", "sha256": "dbc4a0b5795a12d5d619968ff7c9140e0f0c5de0c29e6055e40c40803b589017" }, "downloads": -1, "filename": "python-graphite-dashgen-0.1.1.tar.gz", "has_sig": false, "md5_digest": "eb9c1371244405d132b17234908f5e26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11656, "upload_time": "2013-10-13T22:51:08", "url": "https://files.pythonhosted.org/packages/a7/0a/deaa3925c008b8de638e7566d1a564ab28408011a26b3edf27ff1c9314b3/python-graphite-dashgen-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "abbf7b8a67684140d0b8b0f05d869f8d", "sha256": "48f0441d98eba2f9cf07f9b23ba9acde1b922997205d7f61ba1195e23d99a998" }, "downloads": -1, "filename": "python-graphite-dashgen-0.1.2.tar.gz", "has_sig": false, "md5_digest": "abbf7b8a67684140d0b8b0f05d869f8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12197, "upload_time": "2014-03-28T20:13:59", "url": "https://files.pythonhosted.org/packages/8f/93/c16ae6ecd8c8dc42aac63caf2267cb443dbafaa4707a378b531b1ec82484/python-graphite-dashgen-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9494492951d1a5fbefaf0e7463e45154", "sha256": "2af394e1636898308815301e11674978c7027424f4e7a8d74bfc5745c09e6b7c" }, "downloads": -1, "filename": "python-graphite-dashgen-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9494492951d1a5fbefaf0e7463e45154", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12270, "upload_time": "2014-04-09T19:10:38", "url": "https://files.pythonhosted.org/packages/4b/37/f20167ee984f8428ca08cc08e9c6bb4d925c50f0c755aadfdaeedc7d7dd5/python-graphite-dashgen-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6312ee5d52242a0e8fe8ccb69478449c", "sha256": "88d7380bea2a96669717f55920bea7a8e80e093099c373d1df6842915935208b" }, "downloads": -1, "filename": "python-graphite-dashgen-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6312ee5d52242a0e8fe8ccb69478449c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12277, "upload_time": "2014-04-09T19:35:29", "url": "https://files.pythonhosted.org/packages/a2/32/ce4a643055a9be9558c72e04c1872ec3fe93c6be91f887ebe22c14aa808f/python-graphite-dashgen-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "5c3092ff0f5c3a975be23c8f7e5a028a", "sha256": "ea6f50979b645591babe1c71d79fb6412bdd052dd5100453d0c6c7e6510d7312" }, "downloads": -1, "filename": "python-graphite-dashgen-0.1.5.tar.gz", "has_sig": false, "md5_digest": "5c3092ff0f5c3a975be23c8f7e5a028a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12286, "upload_time": "2014-04-10T13:15:28", "url": "https://files.pythonhosted.org/packages/55/3f/91d656c96cc363ec31a64702acc4aed684533226f25e6c504966e6d0f3e1/python-graphite-dashgen-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a8acff8dafcb459a17168df96d2fd326", "sha256": "5aee47008a544fb07fe51c7160e21349a7cf2615240a33898a43d6d589647cc6" }, "downloads": -1, "filename": "python-graphite-dashgen-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a8acff8dafcb459a17168df96d2fd326", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12335, "upload_time": "2014-11-10T19:41:46", "url": "https://files.pythonhosted.org/packages/1a/17/c64a73e6accb1a45d7c92e5919092bc8936a75c6320b6c161754c0ac77d1/python-graphite-dashgen-0.1.6.tar.gz" } ], "1": [ { "comment_text": "", "digests": { "md5": "227b607a2c87b83ba020c637849c5396", "sha256": "4a0e4ec1caefcd592e2893b9ad4d593af8c23376c8665201545a668030e88a8f" }, "downloads": -1, "filename": "python-graphite-dashgen-1.tar.gz", "has_sig": false, "md5_digest": "227b607a2c87b83ba020c637849c5396", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11104, "upload_time": "2013-10-11T15:19:50", "url": "https://files.pythonhosted.org/packages/97/a6/c471fea43825deaf2c761d657f189548dd91eb8bddf7d46cd0c624bce099/python-graphite-dashgen-1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "227b607a2c87b83ba020c637849c5396", "sha256": "4a0e4ec1caefcd592e2893b9ad4d593af8c23376c8665201545a668030e88a8f" }, "downloads": -1, "filename": "python-graphite-dashgen-1.tar.gz", "has_sig": false, "md5_digest": "227b607a2c87b83ba020c637849c5396", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11104, "upload_time": "2013-10-11T15:19:50", "url": "https://files.pythonhosted.org/packages/97/a6/c471fea43825deaf2c761d657f189548dd91eb8bddf7d46cd0c624bce099/python-graphite-dashgen-1.tar.gz" } ] }