{ "info": { "author": "Yuvaraj Loganathan", "author_email": "uvaraj6@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: No Input/Output (Daemon)", "Intended Audience :: System Administrators", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Boot", "Topic :: System :: Monitoring", "Topic :: System :: Systems Administration" ], "description": "# Superhooks\n\nSuperhooks is a supervisor \"event listener\" that sends events from processes that run under [supervisor](http://supervisord.org) to predefined web hooks. When `superhooks` receives an event, it sends a message notification to a configured URL.\n\n`superhooks` uses [requests](https://2.python-requests.org/en/master/#) full-featured Python http requests library.\n\n## Installation\n\n```\npip install superhooks\n```\n\n## Command-Line Syntax\n\n```bash\n$ superhooks -u http://localhost:8090/ -e STARTING,RUNNING,BACKOFF,STOPPING,FATAL,EXITED,STOPPED,UNKNOWN -d \"a^b^^c^d\" -H \"p^q^^r^s\" \n```\n\n### Options\n\n```-u URL, --url=http://localhost:8090/```\n\nPost the payload to the url with http `POST`\n\n```-d DATA, --data=a^b^^c^d``` post body data as key value pair items are separated by `^^` and key and values are separated by `^`\n\n```-H HEADERS, --headers=p^q^^r^s``` request headers with as key value pair items are separated by `^^` and key and values are separated by `^`\n\n```-e EVENTS, --event=EVENTS```\n\nThe Supervisor Process State event(s) to listen for. It can be any, one of, or all of\nSTARTING, RUNNING, BACKOFF, STOPPING, EXITED, STOPPED, UNKNOWN.\n\n## Configuration\nAn `[eventlistener:x]` section must be placed in `supervisord.conf` in order for `superhooks` to do its work. See the \u201cEvents\u201d chapter in the Supervisor manual for more information about event listeners.\n\nThe following example assume that `superhooks` is on your system `PATH`.\n\n```\n[eventlistener:superhooks]\ncommand=python /usr/local/bin/superhooks -u http://localhost:8090/ -e BACKOFF,FATAL,EXITED,UNKNOWN -d \"a^b^^c^d\" -H \"p^q^^r^s\"\nevents=PROCESS_STATE,TICK_60\n\n```\n### The above configuration will produce following payload for an crashing process named envoy\n\n```\nPOST / HTTP/1.1\nHost: localhost:8090\nAccept: */*\nAccept-Encoding: gzip, deflate\nConnection: keep-alive\nContent-Length: 177\nContent-Type: application/x-www-form-urlencoded\nP: q\nR: s\nUser-Agent: python-requests/2.12.1\n\nfrom_state=RUNNING&a=b&c=d&event_name=PROCESS_STATE_EXITED&process_name=cat%3Ameow&pheaders_all=from_state%3ARUNNING+processname%3Ameow+pid%3A25232+expected%3A0+groupname%3Acat+\n```\n\n### Notes\n* All the events will be buffered for 1 min and pushed to web hooks. \n\n### Development \n* Modify the changes.\n* Execute `python setup.py publish` \n\n\n0.5 (2019-05-11)\n----------------\n- Sending the complete supervisor data under the key name `pheaders_all`.\n\n0.4 (2019-05-11)\n----------------\n- Switched from semicolon(;) to cap(^) as separator\n\n0.2 (2019-05-11)\n----------------\n- Fixed Readme\n\n0.1 (2019-05-11)\n----------------\n- Initial release", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/skyrocknroll/superhooks", "keywords": "supervisor web hooks monitoring", "license": "BSD-derived (http://www.repoze.org/LICENSE.txt)", "maintainer": "Yuvaraj Loganathan", "maintainer_email": "uvaraj6@gmail.com", "name": "superhooks", "package_url": "https://pypi.org/project/superhooks/", "platform": "", "project_url": "https://pypi.org/project/superhooks/", "project_urls": { "Homepage": "https://github.com/skyrocknroll/superhooks" }, "release_url": "https://pypi.org/project/superhooks/0.5/", "requires_dist": null, "requires_python": "", "summary": "superhooks plugin for supervisord", "version": "0.5" }, "last_serial": 5348119, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "14358601dd523f4557284338950a452d", "sha256": "dd73bdb00a7785b2ae2101881c7896bd8d0b709defd1122adda956835af98964" }, "downloads": -1, "filename": "superhooks-0.1-py2.7.egg", "has_sig": false, "md5_digest": "14358601dd523f4557284338950a452d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8361, "upload_time": "2019-05-10T21:14:59", "url": "https://files.pythonhosted.org/packages/90/05/ec91ad72a2236933154bc70e07b72826d5a0d12b8781af5d83e63e901e61/superhooks-0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "db8348a4e4e4f724d9053b62de0855b0", "sha256": "abb461d1a9b4b4b44dcf15955dd7f3875477c2a61f9539d600e6cb83db4045e5" }, "downloads": -1, "filename": "superhooks-0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "db8348a4e4e4f724d9053b62de0855b0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5910, "upload_time": "2019-05-10T21:14:55", "url": "https://files.pythonhosted.org/packages/ea/0c/4572f1c42d252874324b7bfe7dd50fbddc9e49893e946006c68322cdc6a3/superhooks-0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "587dd89b16bf0e5fc6c3dacd816ca616", "sha256": "d4b731b6e3e9deeb9348a941439bc1841ab6a6c102586c8d7d296ce107599645" }, "downloads": -1, "filename": "superhooks-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "587dd89b16bf0e5fc6c3dacd816ca616", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5839, "upload_time": "2019-05-10T21:14:57", "url": "https://files.pythonhosted.org/packages/3a/f7/a271cfef0f432a8593b1b4b4a799d9d289f1553c3bea1078ed1984a20719/superhooks-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a4a6784a860ef36ab97ca7a839ee14a", "sha256": "1a04f11315a41e75f12fd38400307c5585716a87c1c3f27b0019459d7f35d4a0" }, "downloads": -1, "filename": "superhooks-0.1.tar.gz", "has_sig": false, "md5_digest": "8a4a6784a860ef36ab97ca7a839ee14a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4634, "upload_time": "2019-05-10T21:15:00", "url": "https://files.pythonhosted.org/packages/79/0e/55ed44c734e86edf873fc8c621215bf89bbe828124ad6c5dc54803ac2fc6/superhooks-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c984d51390e8e6ba9b8e1a43af9c35a6", "sha256": "7bad8ab10fe498adac19d4c938f44d8791c79f83a9f12ad411418a962ca75736" }, "downloads": -1, "filename": "superhooks-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c984d51390e8e6ba9b8e1a43af9c35a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7526, "upload_time": "2019-05-10T21:19:16", "url": "https://files.pythonhosted.org/packages/5d/2a/143ea13236c06dc1e91e105a7baac1e38526a2c2ea45f30399b12facc201/superhooks-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f759b553a590d1808a1a16d31716b518", "sha256": "6ee52b733de6e49415e3a285230ffa78ec4a1b9e88b70e7fd19ff353ff1f09ba" }, "downloads": -1, "filename": "superhooks-0.2.tar.gz", "has_sig": false, "md5_digest": "f759b553a590d1808a1a16d31716b518", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4786, "upload_time": "2019-05-10T21:19:19", "url": "https://files.pythonhosted.org/packages/5f/f8/6cc34ccf634867117d24b0cbac8c13f951332d56eca2f44384bc09a3486d/superhooks-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "7afa91e1a04619060c4fdeac550c31ed", "sha256": "36b4246fd5700b052ee35143220933c05cea663fa4803543e6c8d4f0015fc11a" }, "downloads": -1, "filename": "superhooks-0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "7afa91e1a04619060c4fdeac550c31ed", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7572, "upload_time": "2019-05-10T21:23:14", "url": "https://files.pythonhosted.org/packages/63/c7/a6c6ca2249c9f97e36e97dd83e4c9abc801adcd82c7f4177ac3e00f99363/superhooks-0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f9671ce54c45d372496f73b326e3439", "sha256": "bd03a14ec2d282023a72e51063db4fac226c6371b8ae39aa03b529b37e1e3eb1" }, "downloads": -1, "filename": "superhooks-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0f9671ce54c45d372496f73b326e3439", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7572, "upload_time": "2019-05-10T21:22:49", "url": "https://files.pythonhosted.org/packages/76/6f/e4660fdcb36dbbb90b73c054aadb25c09b620b49baa28927fc484a00c4d4/superhooks-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "454d9b786cc12cd7f4290ab012ffee3a", "sha256": "028f7d3383c060b16e8fbba7f40533181f7baedf72c1b0938da83c883a6b730b" }, "downloads": -1, "filename": "superhooks-0.3.tar.gz", "has_sig": false, "md5_digest": "454d9b786cc12cd7f4290ab012ffee3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4828, "upload_time": "2019-05-10T21:22:50", "url": "https://files.pythonhosted.org/packages/f4/df/4b43116f166af78a40c0467b767bccae5cc126fa6e834695c231173713fb/superhooks-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "9a637b7f906436c7f9dccca9843bb265", "sha256": "f05e1d56617dfff8c7d7ae57f5cdd798312598504e87a5e0b6043dc3e02865b5" }, "downloads": -1, "filename": "superhooks-0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "9a637b7f906436c7f9dccca9843bb265", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8032, "upload_time": "2019-05-11T05:21:31", "url": "https://files.pythonhosted.org/packages/4c/fd/901ea4f37af22ed7a8a607ddadb4586763219968176bb24a7ac9d4bf7c77/superhooks-0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c79fe38f41d32adfd60198613c5b58db", "sha256": "1afc3171ec3fe572ad4eaaa0e6dd9504eab937fbf5fdabaad7c3be3365049e4c" }, "downloads": -1, "filename": "superhooks-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c79fe38f41d32adfd60198613c5b58db", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5818, "upload_time": "2019-05-11T05:21:46", "url": "https://files.pythonhosted.org/packages/9e/f1/6f115a71fabe47a36f4c09136a64c09c078dcd3b1595c56bd8310f0a6f28/superhooks-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a52fa989ba74406cb27b493820366de", "sha256": "582c516bdf6ed430b46678e094131bab3ab412f88a9c3dcf0ee81bb69c6d8cce" }, "downloads": -1, "filename": "superhooks-0.4.tar.gz", "has_sig": false, "md5_digest": "8a52fa989ba74406cb27b493820366de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5218, "upload_time": "2019-05-11T05:21:15", "url": "https://files.pythonhosted.org/packages/80/fb/b32572602e3e373fd16adea11f918960a09472626b5c52342e322edb8e24/superhooks-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "f57252acb7500f6811eb66d850d22548", "sha256": "7c5f9233e18489315cf5aa3983d8e288edee67a01f7608955ceb73092e963b33" }, "downloads": -1, "filename": "superhooks-0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "f57252acb7500f6811eb66d850d22548", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7112, "upload_time": "2019-06-02T07:45:46", "url": "https://files.pythonhosted.org/packages/0e/06/a5f3dfc4d8c9c609642ef996f14b1c0496fa418792eae30e86bc8ad3accc/superhooks-0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a94fa79543ccb6255c18ff4499feed1", "sha256": "6f9eedcc7ee9d44ff8cc4ec326874b31f733906aeb6d3d64cfccd82a7985f197" }, "downloads": -1, "filename": "superhooks-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "6a94fa79543ccb6255c18ff4499feed1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6050, "upload_time": "2019-06-02T07:46:05", "url": "https://files.pythonhosted.org/packages/93/10/c463280954d1bedf576070e8384a457301cff680d3b5a92d44ef0503a90e/superhooks-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd6d19c690aa1f011aee1ac195c76e37", "sha256": "59e0f81cd4951dc43287896504505aae06d3c206335edf55b66c673c758df92f" }, "downloads": -1, "filename": "superhooks-0.5.tar.gz", "has_sig": false, "md5_digest": "cd6d19c690aa1f011aee1ac195c76e37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5449, "upload_time": "2019-06-02T07:08:39", "url": "https://files.pythonhosted.org/packages/79/01/9d163cfc25dc775d490cb4d46d08fcdf97754fefc2c091132a20eee938b3/superhooks-0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f57252acb7500f6811eb66d850d22548", "sha256": "7c5f9233e18489315cf5aa3983d8e288edee67a01f7608955ceb73092e963b33" }, "downloads": -1, "filename": "superhooks-0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "f57252acb7500f6811eb66d850d22548", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7112, "upload_time": "2019-06-02T07:45:46", "url": "https://files.pythonhosted.org/packages/0e/06/a5f3dfc4d8c9c609642ef996f14b1c0496fa418792eae30e86bc8ad3accc/superhooks-0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a94fa79543ccb6255c18ff4499feed1", "sha256": "6f9eedcc7ee9d44ff8cc4ec326874b31f733906aeb6d3d64cfccd82a7985f197" }, "downloads": -1, "filename": "superhooks-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "6a94fa79543ccb6255c18ff4499feed1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6050, "upload_time": "2019-06-02T07:46:05", "url": "https://files.pythonhosted.org/packages/93/10/c463280954d1bedf576070e8384a457301cff680d3b5a92d44ef0503a90e/superhooks-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd6d19c690aa1f011aee1ac195c76e37", "sha256": "59e0f81cd4951dc43287896504505aae06d3c206335edf55b66c673c758df92f" }, "downloads": -1, "filename": "superhooks-0.5.tar.gz", "has_sig": false, "md5_digest": "cd6d19c690aa1f011aee1ac195c76e37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5449, "upload_time": "2019-06-02T07:08:39", "url": "https://files.pythonhosted.org/packages/79/01/9d163cfc25dc775d490cb4d46d08fcdf97754fefc2c091132a20eee938b3/superhooks-0.5.tar.gz" } ] }