{ "info": { "author": "Denis Ryzhkov", "author_email": "denisr@denisr.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Install::\n\n pip install critbot\n\nAdd to \"config.py\" file::\n\n import critbot.plugins.syslog\n import critbot.plugins.slack\n import critbot.plugins.email\n from critbot import crit_defaults\n import logging\n\n crit_defaults.subject = 'MyService host:port CRIT'\n\n crit_defaults.plugins = [\n critbot.plugins.syslog.plugin(),\n critbot.plugins.slack.plugin(\n token='Get it from https://my.slack.com/services/new/bot',\n channel='#general', # '@private' or '#channel'\n users='', # '@user1 @user2 @userN'\n ),\n critbot.plugins.email.plugin(\n to='Name1 , Name2 ',\n user='critbot@example.com', # Add more config if not GMail.\n password='pa$$word',\n ),\n ]\n\n crit_defaults.crit_in_crit = logging.getLogger('critbot').critical\n\nCheck other config options and their defaults, e.g. \"seconds_per_notification=60\" and \"spam=False\":\n\n* https://github.com/denis-ryzhkov/critbot/blob/master/critbot/core.py#L23 - \"crit_defaults\"\n\n* https://github.com/denis-ryzhkov/critbot/blob/master/critbot/core.py#L38 - \"crit\"\n\n* https://github.com/denis-ryzhkov/critbot/blob/master/critbot/plugins/syslog.py#L17\n\n* https://github.com/denis-ryzhkov/critbot/blob/master/critbot/plugins/slack.py#L14\n\n* https://github.com/denis-ryzhkov/critbot/blob/master/critbot/plugins/email.py#L14\n\nUse \"crit\" in other files of your project::\n\n from my_project import config\n from critbot import crit\n\n try:\n 1/0\n except Exception:\n crit()\n # More processing if needed.\n\n try:\n 1/0\n except Exception:\n crit(also='test2')\n\n if True:\n crit('test3')\n\nIf you are using http://supervisord.org/ \nthen you can monitor stderr, EXITED and FATAL states with::\n\n [eventlistener:critvisor]\n command=critvisor /path/to/config.py\n events=PROCESS_LOG_STDERR,PROCESS_STATE_EXITED,PROCESS_STATE_FATAL\n\n [program:my_program]\n stderr_events_enabled=true\n\n Optional \"crit_defaults.skip_stderrs\" list allows to avoid some \"safe\" crits.\n Optional \"crit_defaults.max_stderr_crit_length\" allows to save e.g. Slack from being broken.\n\nIf you want to convert stderr of your small scripts to crits::\n\n stdcrit /path/to/config.py /path/to/script.py arg...\n\nTo stop spam from multiple processes on the same host::\n\n crit_defaults.stop_spam_file.enabled = True\n # \"crit_defaults.stop_spam_file.path\" defaults to \"/run/lock/critbot\" - RAM, no disk IO.\n\nTo stop spam from multiple hosts::\n\n apt-get install libmemcached-dev zlib1g-dev\n pip install pylibmc\n crit_defaults.mc.enabled = True\n\n And either \"apt-get install memcached\"\n or update \"crit_defaults.mc.servers\" list.\n\nPlease fork https://github.com/denis-ryzhkov/critbot\nand create pull requests with new plugins inside.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/denis-ryzhkov/critbot", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "critbot", "package_url": "https://pypi.org/project/critbot/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/critbot/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/denis-ryzhkov/critbot" }, "release_url": "https://pypi.org/project/critbot/0.1.19/", "requires_dist": null, "requires_python": null, "summary": "Sending critical errors to syslog, slack, email, {your_plugin}.", "version": "0.1.19" }, "last_serial": 2290647, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "fc16dffc467bd4a97d24f4361b88a3e2", "sha256": "86905caab575f5c3e4fd92823ff266050b8cd8992e7400b5a2f53c3e7429fccf" }, "downloads": -1, "filename": "critbot-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fc16dffc467bd4a97d24f4361b88a3e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2187, "upload_time": "2015-07-31T12:21:23", "url": "https://files.pythonhosted.org/packages/e1/32/7fadb3e651fbcdc2a242f9e33113dac27c9891655e35d0313c4e2ec55cd8/critbot-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "9f6ff6ef0d5a30b98fde8d34b125cfcd", "sha256": "70a2de1b778415bb42c613ee14d6e0e501542aa30b3d1db6d2397609556ddd21" }, "downloads": -1, "filename": "critbot-0.1.10.tar.gz", "has_sig": false, "md5_digest": "9f6ff6ef0d5a30b98fde8d34b125cfcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5180, "upload_time": "2015-09-17T08:54:18", "url": "https://files.pythonhosted.org/packages/fa/12/aef5689020b1b620bb4fee7b7678d63ac4c0751b7282466351d56cf5a324/critbot-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "abfe28650eadb43ef32c48a28b9d7e72", "sha256": "b75ea6249e077b38afae8b890acd8f3eafdb34a4e43ea270cb94147e509eea8e" }, "downloads": -1, "filename": "critbot-0.1.11.tar.gz", "has_sig": false, "md5_digest": "abfe28650eadb43ef32c48a28b9d7e72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5226, "upload_time": "2015-09-18T13:10:30", "url": "https://files.pythonhosted.org/packages/be/bd/92900f8fe71323e427686cb219fd8cc8866caa0d89982454766838044543/critbot-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "3a3eba1b24d3bceaa4c6f9d5ad0d655a", "sha256": "7f6364306454f503515d2046f0e807bca6d6ece3f1c94431753dcb436640e02c" }, "downloads": -1, "filename": "critbot-0.1.12.tar.gz", "has_sig": false, "md5_digest": "3a3eba1b24d3bceaa4c6f9d5ad0d655a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5630, "upload_time": "2015-09-23T12:01:31", "url": "https://files.pythonhosted.org/packages/74/28/6a3ed83a79317d58142f2d596d0d57f0f99ab100d1380a1b4e82e540f1d4/critbot-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "4dae491905488f0925554392e7b9988c", "sha256": "303fb7055c6e7a8c86f9f80db57af5e8d010a7f5f85c2f88b1900d6e0c345972" }, "downloads": -1, "filename": "critbot-0.1.13.tar.gz", "has_sig": false, "md5_digest": "4dae491905488f0925554392e7b9988c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5693, "upload_time": "2015-11-02T14:43:01", "url": "https://files.pythonhosted.org/packages/90/aa/ccb0eec0f05ba2ffad805fa70725f80748ebd6dd065d9855c62ff759fe10/critbot-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "7ec75296374545e35c96c6190dec88af", "sha256": "34c34f48b1cff203883d64f150a5cc4a959f54711542403ec6562ca4e7365564" }, "downloads": -1, "filename": "critbot-0.1.14.tar.gz", "has_sig": false, "md5_digest": "7ec75296374545e35c96c6190dec88af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5703, "upload_time": "2015-11-05T09:34:16", "url": "https://files.pythonhosted.org/packages/fc/e7/aec8492e2b69a7fc929c7e6705e6e6810246c603438cbb76746f49446d8d/critbot-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "6d73de978f37e9e0ca08684396029b99", "sha256": "a481008548e74dfcc111ac01d5a5c11178f7c63661ef5c66938de0d046df4cae" }, "downloads": -1, "filename": "critbot-0.1.15.tar.gz", "has_sig": false, "md5_digest": "6d73de978f37e9e0ca08684396029b99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5699, "upload_time": "2015-11-09T09:08:45", "url": "https://files.pythonhosted.org/packages/17/28/e716e7300c0b35c24e21a81e62b46b5977d3b72ac4e39819069169797f9c/critbot-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "5e445c48cf10e75af9ad90e60c74dffc", "sha256": "84ac2dbd5444c1e3281b73c791f936964a9441ffbb383f0b18bc0497e2deb74a" }, "downloads": -1, "filename": "critbot-0.1.16.tar.gz", "has_sig": false, "md5_digest": "5e445c48cf10e75af9ad90e60c74dffc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5704, "upload_time": "2015-11-10T09:17:40", "url": "https://files.pythonhosted.org/packages/b7/cd/28cd05999b5721215a4dc5004a3135cc1cc238783f9deaea808c5a7be52c/critbot-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "4d537e51fb410e8d21ef5667190f6b12", "sha256": "b2a67d0848fc350843c2eee1ce643729708bc1647e2e0371c8681b940d596a4d" }, "downloads": -1, "filename": "critbot-0.1.17.tar.gz", "has_sig": false, "md5_digest": "4d537e51fb410e8d21ef5667190f6b12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5796, "upload_time": "2016-03-10T15:04:44", "url": "https://files.pythonhosted.org/packages/c1/20/44dee004f73fd3f40f2496775b593ffa4f7acd09b90c923def37ed375bda/critbot-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "2e9b98c02b06b106e0dcdd0cfd0adb70", "sha256": "89b8454eed1af89fa283e639d58756e4968283a056cfe5b0be15e4ff03cd2539" }, "downloads": -1, "filename": "critbot-0.1.18.tar.gz", "has_sig": false, "md5_digest": "2e9b98c02b06b106e0dcdd0cfd0adb70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6070, "upload_time": "2016-08-19T10:25:52", "url": "https://files.pythonhosted.org/packages/23/4a/acf9da08a28ed3ef967d6f39a7305b4a5377f65334c2ab6f9c9a953d40c6/critbot-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "9e64ab523bb46befda3aa0e62103d011", "sha256": "6704b96be70909af167c383e33e4bea2e9c481bcb1bc33786dbddb582c8f824d" }, "downloads": -1, "filename": "critbot-0.1.19.tar.gz", "has_sig": false, "md5_digest": "9e64ab523bb46befda3aa0e62103d011", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6084, "upload_time": "2016-08-19T11:08:58", "url": "https://files.pythonhosted.org/packages/1c/c7/822fe481995fe3c503c27160c6c8cf3e31fa504d6fe40031a08ad2e9dd1b/critbot-0.1.19.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "396fa4fcf18913c6d1013469f9640615", "sha256": "b31a3c17098f7578f12f017ed4ee8688b07db374573a726b8a27b6ecf07cf58d" }, "downloads": -1, "filename": "critbot-0.1.2.tar.gz", "has_sig": false, "md5_digest": "396fa4fcf18913c6d1013469f9640615", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3342, "upload_time": "2015-07-31T12:29:29", "url": "https://files.pythonhosted.org/packages/5a/d4/d7433815733ceee3afa0716ccd72e902135bb727c16797893c89d3cecc3b/critbot-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0921add6eeee027a5890a4e6eca9560c", "sha256": "a8f5158d4ed9a53215a714a6b1ab1105e090b7107d67ebb1c221f514c2b22d77" }, "downloads": -1, "filename": "critbot-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0921add6eeee027a5890a4e6eca9560c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3341, "upload_time": "2015-07-31T12:32:35", "url": "https://files.pythonhosted.org/packages/53/24/a8bcd6530f1d6ad75c95124e42480eb7c9bf6bb51aff353c093ec5ac82a9/critbot-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "17beec47c118e3abedb549693ba16ac3", "sha256": "4e18b2b7fd7c28d6e42d61cd805961071a774da0ac68b439002764a59257ccbd" }, "downloads": -1, "filename": "critbot-0.1.4.tar.gz", "has_sig": false, "md5_digest": "17beec47c118e3abedb549693ba16ac3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3407, "upload_time": "2015-08-10T07:40:14", "url": "https://files.pythonhosted.org/packages/8c/40/dbe6375c44f89c51acd55c252b35a3bb4fb58049cb4741a2fc6c0659f1af/critbot-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "61cb564f57e30e10aa57f195df019513", "sha256": "2d1507f05538f70c020403cbb255d0f90de7c613c4752e8a0726b9ba7a575bdc" }, "downloads": -1, "filename": "critbot-0.1.5.tar.gz", "has_sig": false, "md5_digest": "61cb564f57e30e10aa57f195df019513", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4033, "upload_time": "2015-08-10T13:43:04", "url": "https://files.pythonhosted.org/packages/4f/ee/e0473f65a9348cd876acd7255cf2a916116fc35847cbf7561b7dca93db11/critbot-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "b05c513d028cef47c1f764cd6a50b59b", "sha256": "4162cc2d8c9a9cc034fad4c98b9b8f04fceaeb420050590737ee3623dc30b40f" }, "downloads": -1, "filename": "critbot-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b05c513d028cef47c1f764cd6a50b59b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4295, "upload_time": "2015-09-09T11:59:21", "url": "https://files.pythonhosted.org/packages/d9/a3/a2d242026750fb4498bfe98c8a97700046075cac00b9bb363d25b33000a3/critbot-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "e2f1692d6f82f9d93bdb895cf394346c", "sha256": "c01742bb6af686e6e25116b6a5cc4f5a2fcf721104b51f37eff07b5f7cea0e9a" }, "downloads": -1, "filename": "critbot-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e2f1692d6f82f9d93bdb895cf394346c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4470, "upload_time": "2015-09-09T12:02:14", "url": "https://files.pythonhosted.org/packages/d2/d6/a1da6ddb038a5a0f547b07bf51e27162f98685ee9093696833b3a5266618/critbot-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "e03ece7a019a33eb6b2518765c85a7df", "sha256": "f69d329931978533320a7e6b4e3832dbd0dfa8af67ebb446d11446ae24b98199" }, "downloads": -1, "filename": "critbot-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e03ece7a019a33eb6b2518765c85a7df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5052, "upload_time": "2015-09-14T12:29:32", "url": "https://files.pythonhosted.org/packages/82/09/8969fea563766b3da59632e3d7409641eaa100b902d05d3db2a998effecf/critbot-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "b966b7fe9f9b04638bf23d491ff4d69b", "sha256": "5d70541e1a46be9035594b76112d1c23db03886cd02c952e14239cf7d545cea9" }, "downloads": -1, "filename": "critbot-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b966b7fe9f9b04638bf23d491ff4d69b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5156, "upload_time": "2015-09-14T15:05:11", "url": "https://files.pythonhosted.org/packages/d4/16/f427ca86b9e11e8b730b7aba530af94d51e88cb1a795942010e5d24e1941/critbot-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9e64ab523bb46befda3aa0e62103d011", "sha256": "6704b96be70909af167c383e33e4bea2e9c481bcb1bc33786dbddb582c8f824d" }, "downloads": -1, "filename": "critbot-0.1.19.tar.gz", "has_sig": false, "md5_digest": "9e64ab523bb46befda3aa0e62103d011", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6084, "upload_time": "2016-08-19T11:08:58", "url": "https://files.pythonhosted.org/packages/1c/c7/822fe481995fe3c503c27160c6c8cf3e31fa504d6fe40031a08ad2e9dd1b/critbot-0.1.19.tar.gz" } ] }