{ "info": { "author": "John Brody", "author_email": "jbrody@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Natural Language :: Russian", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Testing", "Topic :: Utilities" ], "description": "graphite-beacon\n===============\n\n![logo](https://raw.github.com/klen/graphite-beacon/develop/beacon.png)\n\nSimple alerting system for [Graphite](http://graphite.wikidot.com/) metrics.\n\nFeatures:\n\n- Simplest installation (one python package dependency)\n- No software dependencies (Databases, AMQP and etc)\n- Light and full asyncronous\n- SMTP, HipChat, Slack, PagerDuty, HTTP handlers (Please make a request for additional handlers)\n- Easy configurable and supports historical values\n\n[![Build status](http://img.shields.io/travis/klen/graphite-beacon.svg?style=flat-square)](http://travis-ci.org/klen/graphite-beacon)\n[![Coverage](http://img.shields.io/coveralls/klen/graphite-beacon.svg?style=flat-square)](https://coveralls.io/r/klen/graphite-beacon)\n[![Version](http://img.shields.io/pypi/v/graphite-beacon.svg?style=flat-square)](https://pypi.python.org/pypi/graphite_beacon)\n[![License](http://img.shields.io/pypi/l/graphite-beacon.svg?style=flat-square)](https://pypi.python.org/pypi/graphite_beacon)\n[![Downloads](http://img.shields.io/pypi/dm/graphite-beacon.svg?style=flat-square)](https://pypi.python.org/pypi/graphite_beacon)\n\nExample:\n```js\n{\n\"graphite_url\": \"http://g.server.org\",\n\"smtp\": {\n \"from\": \"beacon@server.org\",\n \"to\": [\"me@gmail.com\"]\n},\n\"alerts\": [\n { \"name\": \"MEM\",\n \"format\": \"bytes\",\n \"query\": \"aliasByNode(sumSeriesWithWildcards(collectd.*.memory.{memory-free,memory-cached}, 3), 1)\",\n \"rules\": [\"critical: < 200MB\", \"warning: < 400MB\", \"warning: < historical / 2\"] },\n { \"name\": \"CPU\",\n \"format\": \"percent\",\n \"query\": \"aliasByNode(sumSeriesWithWildcards(collectd.*.cpu-*.cpu-user, 2), 1)\",\n \"rules\": [\"critical: >= 80%\", \"warning: >= 70%\"] }\n]}\n```\n\nRequirements\n------------\n\n- python (2.6, 2.7, 3.3, 3.4)\n- tornado\n- funcparserlib\n\n\nInstallation\n------------\n\n### Python package\n\n**graphite-beacon** can be installed using pip:\n\n pip install graphite-beacon\n\n### Debian package\n\nUsing the command line, add the following to your /etc/apt/sources.list system config file:\n\n echo \"deb http://dl.bintray.com/klen/deb /\" | sudo tee -a /etc/apt/sources.list\n echo \"deb-src http://dl.bintray.com/klen/deb /\" | sudo tee -a /etc/apt/sources.list\n\nInstall the package using apt-get:\n\n apt-get update\n apt-get install graphite-beacon\n\n### Ansible role\n\nThere is an ansible role to install the package: https://github.com/Stouts/Stouts.graphite-beacon\n\n## Docker\n\nBuild a config.json file and run :\n\n docker run -v /path/to/config.json:/srv/alerting/etc/config.json deliverous/graphite-beacon\n\n\nUsage\n-----\n\nJust run `graphite-beacon`:\n\n $ graphite-beacon\n [I 141025 11:16:23 core:141] Read configuration\n [I 141025 11:16:23 core:55] Memory (10minute): init\n [I 141025 11:16:23 core:166] Loaded with options:\n ...\n\n### Configuration\n\n___\n\nTime units:\n\n> '2second', '3.5minute', '4hour', '5.2day', '6week', '7month', '8year'\n\n> short formats are: '2s', '3m', '4.1h' ...\n\nValue units:\n\n> short: '2K', '3Mil', '4Bil', '5Tri'\n\n> bytes: '2KB', '3MB', '4GB'\n\n> bits: '2Kb', '3Mb', '4Gb'\n\n> bps: '2Kbps', '3Mbps', '4Gbps'\n\n> time: '2s', '3m', '4h', '5d'\n\nThe default options are:\n\n> Note: comments are not allowed in JSON, but graphite-beacon strips them\n\n```js\n\n {\n // Graphite server URL\n \"graphite_url\": \"http://localhost\",\n\n // Public graphite server URL\n // Used when notifying handlers, defaults to graphite_url\n \"public_graphite_url\": null,\n\n // HTTP AUTH username\n \"auth_username\": null,\n\n // HTTP AUTH password\n \"auth_password\": null,\n\n // Path to a pidfile\n \"pidfile\": null,\n\n // Default values format (none, bytes, s, ms, short)\n // Can be redefined for each alert.\n \"format\": \"short\",\n\n // Default query interval\n // Can be redefined for each alert.\n \"interval\": \"10minute\",\n\n // Default time window for Graphite queries\n // Defaults to query interval, can be redefined for each alert.\n \"time_window\": \"10minute\",\n\n // Notification repeat interval\n // If an alert is failed, its notification will be repeated with the interval below\n \"repeat_interval\": \"2hour\",\n\n // Default end time for Graphite queries\n // Defaults to the current time, can be redefined for each alert.\n \"until\": \"0second\",\n\n // Default loglevel\n \"logging\": \"info\",\n\n // Default method (average, last_value, sum, minimum, maximum).\n // Can be redefined for each alert.\n \"method\": \"average\",\n\n // Default alert to send when no data received (normal = no alert)\n // Can be redefined for each alert\n \"no_data\": \"critical\",\n\n // Default alert to send when loading failed (timeout, server error, etc)\n // (normal = no alert)\n // Can be redefined for each alert\n \"loading_error\": \"critical\"\n\n // Default prefix (used for notifications)\n \"prefix\": \"[BEACON]\",\n\n // Default handlers (log, smtp, hipchat, http, slack, pagerduty)\n \"critical_handlers\": [\"log\", \"smtp\"],\n \"warning_handlers\": [\"log\", \"smtp\"],\n \"normal_handlers\": [\"log\", \"smtp\"],\n\n // Send initial values (Send current values when reactor starts)\n \"send_initial\": true,\n\n // used together to ignore the missing value\n \"default_nan_value\": -1,\n \"ignore_nan\": false,\n\n // Default alerts (see configuration below)\n \"alerts\": [],\n\n // Path to other configuration files to include\n \"include\": []\n }\n```\n\nYou can setup options with a configuration file. See examples for\n[JSON](examples/example-config.json) and\n[YAML](examples/example-config.yaml).\n\nA `config.json` file in the same directory that you run `graphite-beacon`\nfrom will be used automatically.\n\n#### Setup alerts\n\nCurrently two types of alerts are supported:\n- Graphite alert (default) - check graphite metrics\n- URL alert - load http and check status\n\n> Note: comments are not allowed in JSON, but graphite-beacon strips them\n\n```js\n\n \"alerts\": [\n {\n // (required) Alert name\n \"name\": \"Memory\",\n\n // (required) Alert query\n \"query\": \"*.memory.memory-free\",\n\n // (optional) Alert type (graphite, url)\n \"source\": \"graphite\",\n\n // (optional) Default values format (none, bytes, s, ms, short)\n \"format\": \"bytes\",\n\n // (optional) Alert method (average, last_value, sum, minimum, maximum)\n \"method\": \"average\",\n\n // (optional) Alert interval [eg. 15second, 30minute, 2hour, 1day, 3month, 1year]\n \"interval\": \"1minute\",\n\n // (optional) What kind of alert to send when no data received (normal = no alert)\n \"no_data\": \"warning\",\n\n // (optional) Alert interval end time (see \"Alert interval\" for examples)\n \"until\": \"5second\",\n\n // (required) Alert rules\n // Rule format: \"{level}: {operator} {value}\"\n // Level one of [critical, warning, normal]\n // Operator one of [>, <, >=, <=, ==, !=]\n // Value (absolute value: 3000000 or short form like 3MB/12minute)\n // Multiple conditions can be separated by AND or OR conditions\n \"rules\": [ \"critical: < 200MB\", \"warning: < 300MB\" ]\n }\n ]\n```\n\n##### Historical values\n\ngraphite-beacon supports \"historical\" values for a rule.\nFor example you may want to get warning when CPU usage is greater than 150% of normal usage:\n\n \"warning: > historical * 1.5\"\n\nOr memory is less than half the usual value:\n\n \"warning: < historical / 2\"\n\n\nHistorical values for each query are kept. A historical value\nrepresents the average of all values in history. Rules using a historical value will\nonly work after enough values have been collected (see `history_size`).\n\nHistory values are kept for 1 day by default. You can change this with the `history_size`\noption.\n\nSee the below example for how to send a warning when today's new user count is\nless than 80% of the last 10 day average:\n\n```js\nalerts: [\n {\n \"name\": \"Registrations\",\n // Run once per day\n \"interval\": \"1day\",\n \"query\": \"Your graphite query here\",\n // Get average for last 10 days\n \"history_size\": \"10day\",\n \"rules\": [\n // Warning if today's new user less than 80% of average for 10 days\n \"warning: < historical * 0.8\",\n // Critical if today's new user less than 50% of average for 10 days\n \"critical: < historical * 0.5\"\n ]\n }\n],\n```\n\n### Handlers\n\nHandlers allow for notifying an external service or process of an alert firing.\n\n#### Email Handler\n\nSends an email (enabled by default).\n\n```js\n{\n // SMTP default options\n \"smtp\": {\n \"from\": \"beacon@graphite\",\n \"to\": [], // List of email addresses to send to\n \"host\": \"localhost\", // SMTP host\n \"port\": 25, // SMTP port\n \"username\": null, // SMTP user (optional)\n \"password\": null, // SMTP password (optional)\n \"use_tls\": false, // Use TLS?\n \"html\": true, // Send HTML emails?\n\n // Graphite link for emails (By default is equal to main graphite_url)\n \"graphite_url\": null\n }\n}\n```\n\n#### HipChat Handler\n\nSends a message to a HipChat room.\n\n```js\n{\n \"hipchat\": {\n // (optional) Custom HipChat URL\n \"url\": 'https://api.custom.hipchat.my',\n\n \"room\": \"myroom\",\n \"key\": \"mykey\"\n }\n}\n```\n\n#### Webhook Handler (HTTP)\n\nTriggers a webhook.\n\n```js\n{\n \"http\": {\n \"url\": \"http://myhook.com\",\n \"params\": {}, // (optional) Additional query(data) params\n \"method\": \"GET\" // (optional) HTTP method\n }\n}\n```\n\n#### Slack Handler\n\nSends a message to a user or channel on Slack.\n\n```js\n{\n \"slack\": {\n \"webhook\": \"https://hooks.slack.com/services/...\",\n \"channel\": \"#general\", // #channel or @user (optional)\n \"username\": \"graphite-beacon\",\n }\n}\n```\n\n#### Command Line Handler\n\nRuns a command.\n\n```js\n{\n \"cli\": {\n // Command to run (required)\n // Several variables that will be substituted by values are allowed:\n // ${level} -- alert level\n // ${name} -- alert name\n // ${value} -- current metrics value\n // ${limit_value} -- metrics limit value\n \"command\": \"./myscript ${level} ${name} ${value} ...\",\n\n // Whitelist of alerts that will trigger this handler (optional)\n // All alerts will trigger this handler if absent.\n \"alerts_whitelist\": [\"...\"]\n }\n}\n```\n\n#### PagerDuty Handler\n\nTriggers a PagerDuty incident.\n\n```js\n{\n \"pagerduty\": {\n \"subdomain\": \"yoursubdomain\",\n \"apitoken\": \"apitoken\",\n \"service_key\": \"servicekey\",\n }\n}\n```\n\n#### Telegram Handler\n\nSends a Telegram message.\n\n```js\n{\n \"telegram\": {\n \"token\": \"telegram bot token\",\n \"bot_ident\": \"token used to activate bot in a group\"\n }\n}\n```\n\n### Command Line Usage\n\n```\n $ graphite-beacon --help\n Usage: graphite-beacon [OPTIONS]\n\n Options:\n\n --config Path to an configuration file (JSON/YAML)\n (default config.json)\n --graphite_url Graphite URL (default http://localhost)\n --help show this help information\n --pidfile Set pid file\n\n --log_file_max_size max size of log files before rollover\n (default 100000000)\n --log_file_num_backups number of log files to keep (default 10)\n --log_file_prefix=PATH Path prefix for log files. Note that if you\n are running multiple tornado processes,\n log_file_prefix must be different for each\n of them (e.g. include the port number)\n --log_to_stderr Send log output to stderr (colorized if\n possible). By default use stderr if\n --log_file_prefix is not set and no other\n logging is configured.\n --logging=debug|info|warning|error|none\n Set the Python log level. If 'none', tornado\n won't touch the logging configuration.\n (default info)\n```\n\nBug tracker\n-----------\n\nIf you have any suggestions, bug reports or annoyances please report them to\nthe issue tracker at https://github.com/klen/graphite-beacon/issues\n\nContributors\n-------------\n\n* Andrej Kuro\u010denko (https://github.com/kurochenko)\n* Cody Soyland (https://github.com/codysoyland)\n* Garrett Heel (https://github.com/GarrettHeel)\n* George Ionita (https://github.com/georgeionita)\n* James Yuzawa (https://github.com/yuzawa-san)\n* Kirill Klenov (https://github.com/klen)\n* Konstantin Bakulin (https://github.com/kbakulin)\n* Lammert Hellinga (https://github.com/Kogelvis)\n* Miguel Moll (https://github.com/MiguelMoll)\n* Nick Pillitteri (https://github.com/56quarters)\n* Niku Toivola (https://github.com/nikut)\n* Olli-Pekka Puolitaival (https://github.com/OPpuolitaival)\n* Phillip Hagedorn (https://github.com/phagedorn)\n* Raine Virta (https://github.com/raine)\n* Scott Nonnenberg (https://github.com/scottnonnenberg)\n* Sean Johnson (https://github.com/pirogoeth)\n* Terry Peng (https://github.com/tpeng)\n* Thomas Clavier (https://github.com/tclavier)\n* Yuriy Ilyin (https://github.com/YuriyIlyin)\n* dugeem (https://github.com/dugeem)\n* Joakim (https://github.com/VibyJocke)\n\nLicense\n--------\n\nLicensed under a [MIT license](http://www.linfo.org/mitlicense.html)\n\nIf you wish to express your appreciation for the role, you are welcome to send\na postcard to:\n\n Kirill Klenov\n pos. Severny 8-3\n MO, Istra, 143500\n Russia", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/jbrody1/graphite-beacon", "keywords": "graphite,alerts,monitoring,system", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "graphite_beacon_cron", "package_url": "https://pypi.org/project/graphite_beacon_cron/", "platform": "Any", "project_url": "https://pypi.org/project/graphite_beacon_cron/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/jbrody1/graphite-beacon" }, "release_url": "https://pypi.org/project/graphite_beacon_cron/0.25.4.2/", "requires_dist": null, "requires_python": null, "summary": "Simple alerting system for Graphite metrics.", "version": "0.25.4.2" }, "last_serial": 2409794, "releases": { "0.25.1": [ { "comment_text": "", "digests": { "md5": "4c9c4954aa242a334204af65aac960a4", "sha256": "81bfc57dbfe9841381a7d19b0d57da5595ef2d7f8f2c208dcc1c3487fd2fc4cb" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c9c4954aa242a334204af65aac960a4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23434, "upload_time": "2015-12-04T10:29:41", "url": "https://files.pythonhosted.org/packages/28/b4/a507b446cfdf03a5a8d8e72c2082a120032d9803cf63639a04a28125811b/graphite_beacon_cron-0.25.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87524e96b921e43d2e0e9ad92c3c54b7", "sha256": "8f99725f6eb415124251fb1b42135b379898801e4e4b95520b9c40cc97477b87" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.tar.gz", "has_sig": false, "md5_digest": "87524e96b921e43d2e0e9ad92c3c54b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16047, "upload_time": "2015-12-04T10:29:34", "url": "https://files.pythonhosted.org/packages/c1/ee/7ddb2c39fb80b1a51b4f4811f7572063028a5130ba4f91972b0d79bd5c39/graphite_beacon_cron-0.25.1.tar.gz" } ], "0.25.1.1": [ { "comment_text": "", "digests": { "md5": "4d629fffe68cee318056956399e715d7", "sha256": "0863037b8933566525d39100b352941c4392c027c4687b38515fdaeacec52dba" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4d629fffe68cee318056956399e715d7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23469, "upload_time": "2015-12-04T11:32:40", "url": "https://files.pythonhosted.org/packages/0d/70/68e870c38b997850071075e2e926cd4af41419f65e818ef29b48abaea323/graphite_beacon_cron-0.25.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2a1dd6b7ebfa1419b8093288346d924", "sha256": "86f5594b4642e4822ecde1cdc83d8706b486191a12453310db40bce8d6b5fce3" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.1.tar.gz", "has_sig": false, "md5_digest": "c2a1dd6b7ebfa1419b8093288346d924", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16037, "upload_time": "2015-12-04T11:32:32", "url": "https://files.pythonhosted.org/packages/77/62/377b586f8f1cda81b78b63e8aff58419c89ecce8a8466e16b1016f10033b/graphite_beacon_cron-0.25.1.1.tar.gz" } ], "0.25.1.10": [ { "comment_text": "", "digests": { "md5": "cc05ee04932d26cdf9a9b60087fc3325", "sha256": "b003a64f615b3e23cc27b744b34a61653830bdc4070341f69e7c841132f5a58a" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cc05ee04932d26cdf9a9b60087fc3325", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40887, "upload_time": "2015-12-04T23:17:34", "url": "https://files.pythonhosted.org/packages/aa/84/cd7534ea460e5370da5213198d469d30a421f23410d4dfa5af550e49490d/graphite_beacon_cron-0.25.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8bda86c30b353d07a2e7ef1c05e829ba", "sha256": "a1125f592ba1a8307ffae4b54b45dca1dab54292fcda7ec0d6d910faf16adfac" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.10.tar.gz", "has_sig": false, "md5_digest": "8bda86c30b353d07a2e7ef1c05e829ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23923, "upload_time": "2015-12-04T23:17:29", "url": "https://files.pythonhosted.org/packages/e9/47/86665f89d64a61f07834e8f98a49bd19c3dca09c29046b651fec84258027/graphite_beacon_cron-0.25.1.10.tar.gz" } ], "0.25.1.11": [ { "comment_text": "", "digests": { "md5": "ca4574ffe8982bd96f7627f2c1d4dc9e", "sha256": "68ccefc4cd9e3c28d70e7ed2f4c651c845fa21275ee08316a4188fddc7d0491a" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.11.tar.gz", "has_sig": false, "md5_digest": "ca4574ffe8982bd96f7627f2c1d4dc9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23973, "upload_time": "2015-12-08T21:10:47", "url": "https://files.pythonhosted.org/packages/0d/3b/1b25725beb1e68592571d1e5fd81d13b277fce3f35b7ddf475eb215b919b/graphite_beacon_cron-0.25.1.11.tar.gz" } ], "0.25.1.12": [ { "comment_text": "", "digests": { "md5": "b7ac799278507a4efbe84dfba8cfb8a6", "sha256": "74430b3977c0385d533cf75a360b333ce7e9db8f86266aa2147bbfeec0b0bca6" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b7ac799278507a4efbe84dfba8cfb8a6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40931, "upload_time": "2015-12-08T21:13:18", "url": "https://files.pythonhosted.org/packages/dd/3c/bb22f1dae60e6662bc8a2ae39ba7b44dc68872ef1da5fbe8e9944c2fc671/graphite_beacon_cron-0.25.1.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7959e0ae35a017caecbf33fa6a9e98a0", "sha256": "71a88c83e6aaef7d66fc1c06c78230c7978f6334149897b6b7e9b2a2a1750e26" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.12.tar.gz", "has_sig": false, "md5_digest": "7959e0ae35a017caecbf33fa6a9e98a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23974, "upload_time": "2015-12-08T21:13:11", "url": "https://files.pythonhosted.org/packages/cf/ed/f1aeab79578a4112146ba2660cb0e3b592493ddbc70553159557a6778c00/graphite_beacon_cron-0.25.1.12.tar.gz" } ], "0.25.1.2": [ { "comment_text": "", "digests": { "md5": "25315545ce4119c88bd4b15c63fc8af8", "sha256": "a563b3d825cfaaa162a235cb45fe70731a003381febd3b29316c3a21ac79279d" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "25315545ce4119c88bd4b15c63fc8af8", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23475, "upload_time": "2015-12-04T11:37:06", "url": "https://files.pythonhosted.org/packages/85/e2/e6983380ae1f51f7b6e0948efc83eba64f69957bfe776df7801de9d7dd0d/graphite_beacon_cron-0.25.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "641d18aeb0825b6d9368a665461968b1", "sha256": "75c64dc37178190db1deb45ef1e7583d213381dde173ccc927ac077941457223" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.2.tar.gz", "has_sig": false, "md5_digest": "641d18aeb0825b6d9368a665461968b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16046, "upload_time": "2015-12-04T11:37:00", "url": "https://files.pythonhosted.org/packages/7d/88/b20620362854fec1741bc9ac7f73350c3b7a3a3ccb66f8df0da2b897da14/graphite_beacon_cron-0.25.1.2.tar.gz" } ], "0.25.1.3": [ { "comment_text": "", "digests": { "md5": "55ba4c6c60b8ffe88c9ff7dcef9910f3", "sha256": "9fc85c91d9b529cf7b3f8b76b30d46cafb54c2e9ce1385187abc7c44e9806e11" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "55ba4c6c60b8ffe88c9ff7dcef9910f3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23473, "upload_time": "2015-12-04T11:39:56", "url": "https://files.pythonhosted.org/packages/ba/da/347389cd4a37ac3b2dafd49a37622b79378f2d5b3221c201161ec6f269ff/graphite_beacon_cron-0.25.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e230b777cd953ba6ddaf0a1bd44f38a9", "sha256": "89b00d9e4b170d8d0d1489cdd1d4dde2a309d983916d3b9f82b7bd3b68963b59" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.3.tar.gz", "has_sig": false, "md5_digest": "e230b777cd953ba6ddaf0a1bd44f38a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16045, "upload_time": "2015-12-04T11:39:51", "url": "https://files.pythonhosted.org/packages/e9/c7/1659ee0ca751997661fb9fe5be4f7547171e4d3bf8b2fc983c7502e11b37/graphite_beacon_cron-0.25.1.3.tar.gz" } ], "0.25.1.4": [ { "comment_text": "", "digests": { "md5": "1c179e831f31bf3ec4d7d858dfa5740e", "sha256": "dd9471e41b5225561c82d1dba4cb461cc6158ed6664099098c902dec20a2a2a2" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1c179e831f31bf3ec4d7d858dfa5740e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40923, "upload_time": "2015-12-04T11:44:15", "url": "https://files.pythonhosted.org/packages/3a/c6/87dfcb9b754ef1d51de59cac093830b6beed069f8eb19cbc3b229f27c2c5/graphite_beacon_cron-0.25.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "838269ed384f94da8130d2f18470403f", "sha256": "5e46a81bf5871773e14585d1bd56353c2149207ef97012648d447cb04d466a55" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.4.tar.gz", "has_sig": false, "md5_digest": "838269ed384f94da8130d2f18470403f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23977, "upload_time": "2015-12-04T11:44:10", "url": "https://files.pythonhosted.org/packages/c5/d5/67aa4f981b520237eeee46f85571e1427f59a1387554182e7711b2b5a880/graphite_beacon_cron-0.25.1.4.tar.gz" } ], "0.25.1.5": [ { "comment_text": "", "digests": { "md5": "ef4bda3e9ad83345d499cc85d3de32c0", "sha256": "9e71a925da6ad08592151bf1a35bcc127a76681aa60a0ad21a3b812f22404533" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef4bda3e9ad83345d499cc85d3de32c0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40937, "upload_time": "2015-12-04T12:27:59", "url": "https://files.pythonhosted.org/packages/5a/6c/4f6b648cfcab89b78f88a215c056bc952b938a899e533964a38b6b5e222d/graphite_beacon_cron-0.25.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f301b660f81a8c21c6fb181befb932a6", "sha256": "8d8c8fa0a1e3353c86247f1e4ee311ff297f4bdd140a20402730eb8d88221345" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.5.tar.gz", "has_sig": false, "md5_digest": "f301b660f81a8c21c6fb181befb932a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23980, "upload_time": "2015-12-04T12:27:53", "url": "https://files.pythonhosted.org/packages/07/b6/eea3462a89b560c67ea669d0c7fe9f6abfa57f2135d61ee00b691526e2cb/graphite_beacon_cron-0.25.1.5.tar.gz" } ], "0.25.1.6": [ { "comment_text": "", "digests": { "md5": "36a960d680c2a5c537481a05ada3548a", "sha256": "f9017366f837322f3f3f4debde8a6e7bbb0cb4c1a7764c88be92a66b6ae322cc" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "36a960d680c2a5c537481a05ada3548a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40955, "upload_time": "2015-12-04T12:36:49", "url": "https://files.pythonhosted.org/packages/96/d4/f5a34a618043fa12da13f99bc1e9eb73b04e95c0ba133e39e03f3c9a5526/graphite_beacon_cron-0.25.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41b1e5026813a6bb997345db8037c883", "sha256": "e54b7d210a988b9276135e0ad0b7983725852f45c72af702518b65a93c9d7219" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.6.tar.gz", "has_sig": false, "md5_digest": "41b1e5026813a6bb997345db8037c883", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23994, "upload_time": "2015-12-04T12:36:43", "url": "https://files.pythonhosted.org/packages/12/40/3484798f2ae6b4c1a4576923127a6d2f77a2d18edaa5edf1635317559dfb/graphite_beacon_cron-0.25.1.6.tar.gz" } ], "0.25.1.7": [ { "comment_text": "", "digests": { "md5": "cdd7cc345df2c11b7ac6b326fcfa0525", "sha256": "631aa76b8e38ab7ba9a5c16bfc7af68cf7e1f1be7f449025ba357f643be31f9d" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdd7cc345df2c11b7ac6b326fcfa0525", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40955, "upload_time": "2015-12-04T12:40:31", "url": "https://files.pythonhosted.org/packages/b2/86/67f832b7244f04abb26aa2f5350af28247096a3c46bbd902565928a26897/graphite_beacon_cron-0.25.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c196cb9303b0f903dcde0f3ee769a49d", "sha256": "8ae46972a76fd97b8f72adeaa6613ff88a2f3fc52779e6a197c4928c7a0d44b3" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.7.tar.gz", "has_sig": false, "md5_digest": "c196cb9303b0f903dcde0f3ee769a49d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23994, "upload_time": "2015-12-04T12:40:23", "url": "https://files.pythonhosted.org/packages/3b/3e/8f8c837c0611fc28fadfd249a8469a633df47111f153e9283232bc22cd28/graphite_beacon_cron-0.25.1.7.tar.gz" } ], "0.25.1.8": [ { "comment_text": "", "digests": { "md5": "c7df26c0aef463d8594fa5adc3db267c", "sha256": "567d87d2502befbdcc5939e67eba74fb5e836d7279ad121f853c736418799cac" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c7df26c0aef463d8594fa5adc3db267c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40843, "upload_time": "2015-12-04T12:47:35", "url": "https://files.pythonhosted.org/packages/80/19/e52e5363cb28ea5a757e3d2fee5093a397baf38dd3488986aa0554d0e336/graphite_beacon_cron-0.25.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dd42666ad5f903ad0b792a239797efd", "sha256": "81b676d1f9a03423b14fedad66e254a8c5e073ebc5a3edeb41130c7a2aaf21ff" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.8.tar.gz", "has_sig": false, "md5_digest": "7dd42666ad5f903ad0b792a239797efd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23895, "upload_time": "2015-12-04T12:47:31", "url": "https://files.pythonhosted.org/packages/06/a4/7d28212c21ff4c94a8c95376df10d366fdbb1dcea665901d7271811a6b58/graphite_beacon_cron-0.25.1.8.tar.gz" } ], "0.25.1.9": [ { "comment_text": "", "digests": { "md5": "dbcdec2b40e731fcd3e2f1e968dcf750", "sha256": "9edc988b4b053008fd3ba8a9c1bc31eb5b1deac5fec04a2e4ec7c4f0914b18da" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dbcdec2b40e731fcd3e2f1e968dcf750", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 40877, "upload_time": "2015-12-04T20:14:27", "url": "https://files.pythonhosted.org/packages/11/4b/840bc910811e3884cac690b3850d6fad9213dad3fcaaa61cd9bf47f1cf12/graphite_beacon_cron-0.25.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ef836319730a5afa174789f2db98171", "sha256": "9ff62b6df8bd8241ef79c112ca6f733a0431f68a1adb0d9b9bfb3f7a8af59b58" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.1.9.tar.gz", "has_sig": false, "md5_digest": "6ef836319730a5afa174789f2db98171", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23928, "upload_time": "2015-12-04T20:14:21", "url": "https://files.pythonhosted.org/packages/82/db/9171170cd61d512f1fa523f4fde3fdc8711c53f9aa53b339ed19e6a64b5c/graphite_beacon_cron-0.25.1.9.tar.gz" } ], "0.25.4.1": [ { "comment_text": "", "digests": { "md5": "82d19de5a619009f979f7498d48ebf6a", "sha256": "06d901e5fd9bdf5163fd22964c5929d49e72db019f9c02194d489bcc0c8a96d0" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "82d19de5a619009f979f7498d48ebf6a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 41239, "upload_time": "2016-01-11T21:23:53", "url": "https://files.pythonhosted.org/packages/3c/0a/6f8730ca82b08446fac38e4611be3c952a60836b055aa86dcda7688ddf9e/graphite_beacon_cron-0.25.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fe1f9527ea0dedd02b8d2ad3f8f9745", "sha256": "c79222d3fc551960704a9db44796af42d2e0429381affaab1a31ff7cdff923ef" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.4.1.tar.gz", "has_sig": false, "md5_digest": "4fe1f9527ea0dedd02b8d2ad3f8f9745", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24092, "upload_time": "2016-01-11T21:23:44", "url": "https://files.pythonhosted.org/packages/9f/ee/171d50a90e220db5d85523670a9e6f035b4b12ad0d7fafbe4b268b0f63b8/graphite_beacon_cron-0.25.4.1.tar.gz" } ], "0.25.4.2": [ { "comment_text": "", "digests": { "md5": "00d158b930756b9b3cdd1c39c1e4e023", "sha256": "1f35b44ec7e5d85f94cdc5e98c478f3b969e5d71c1e22d37d3b8d4a1b1a625d1" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "00d158b930756b9b3cdd1c39c1e4e023", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 41446, "upload_time": "2016-10-19T07:32:02", "url": "https://files.pythonhosted.org/packages/c0/27/1d568cde73668f8c77960f50bcadff62c4f0dc3eedb2cae28770138fddfc/graphite_beacon_cron-0.25.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8eebe6eb7ea9a6d6967b7d48582ae748", "sha256": "0bbdfb2064a1d60dd1a49518f8ba9cb3ae859c73ae8d33759412cd2fa35572d9" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.4.2.tar.gz", "has_sig": false, "md5_digest": "8eebe6eb7ea9a6d6967b7d48582ae748", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24299, "upload_time": "2016-10-19T07:31:59", "url": "https://files.pythonhosted.org/packages/e4/22/977a2259b6b170eb92edba6878edae35597f5468b87bdc4456cc8298a3e4/graphite_beacon_cron-0.25.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "00d158b930756b9b3cdd1c39c1e4e023", "sha256": "1f35b44ec7e5d85f94cdc5e98c478f3b969e5d71c1e22d37d3b8d4a1b1a625d1" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "00d158b930756b9b3cdd1c39c1e4e023", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 41446, "upload_time": "2016-10-19T07:32:02", "url": "https://files.pythonhosted.org/packages/c0/27/1d568cde73668f8c77960f50bcadff62c4f0dc3eedb2cae28770138fddfc/graphite_beacon_cron-0.25.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8eebe6eb7ea9a6d6967b7d48582ae748", "sha256": "0bbdfb2064a1d60dd1a49518f8ba9cb3ae859c73ae8d33759412cd2fa35572d9" }, "downloads": -1, "filename": "graphite_beacon_cron-0.25.4.2.tar.gz", "has_sig": false, "md5_digest": "8eebe6eb7ea9a6d6967b7d48582ae748", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24299, "upload_time": "2016-10-19T07:31:59", "url": "https://files.pythonhosted.org/packages/e4/22/977a2259b6b170eb92edba6878edae35597f5468b87bdc4456cc8298a3e4/graphite_beacon_cron-0.25.4.2.tar.gz" } ] }