{ "info": { "author": "S. Zachariah Sprackett", "author_email": "zac@sprackett.com", "bugtrack_url": null, "classifiers": [], "description": "![sensu](https://raw.github.com/sensu/sensu/master/sensu-logo.png)\n\n# Python Sensu Plugin\n\nThis is a framework for writing your own [Sensu](https://github.com/sensu/sensu) plugins in Python.\nIt's not required to write a plugin (most Nagios plugins will work\nwithout modification); it just makes it easier.\n\n[![Build Status](https://travis-ci.org/sensu/sensu-plugin-python.png?branch=master)](https://travis-ci.org/sensu/sensu-plugin-python)\n\n## Checks\n\nTo implement your own check, subclass SensuPluginCheck, like\nthis:\n\n from sensu_plugin import SensuPluginCheck\n\n class MyCheck(SensuPluginCheck):\n def setup(self):\n # Setup is called with self.parser set and is responsible for setting up\n # self.options before the run method is called\n\n self.parser.add_argument(\n '-w',\n '--warning',\n required=True,\n type=int,\n help='Integer warning level to output'\n )\n self.parser.add_argument(\n '-m',\n '--message',\n default=None,\n help='Message to print'\n )\n\n\n def run(self):\n # this method is called to perform the actual check\n\n self.check_name('my_awesome_check') # defaults to class name\n\n if self.options.warning == 0:\n self.ok(self.options.message)\n elif self.options.warning == 1:\n self.warning(self.options.message)\n elif self.options.warning == 2:\n self.critical(self.options.message)\n else:\n self.unknown(self.options.message)\n\n if __name__ == \"__main__\":\n f = MyCheck()\n\n## Metrics\n\n### JSON\n\n from sensu_plugin import SensuPluginMetricJSON\n\n class FooBarBazMetricJSON(SensuPluginMetricJSON):\n def run(self):\n self.ok({'foo': 1, 'bar': { 'baz': 'stuff' } })\n\n if __name__ == \"__main__\":\n f = FooBarBazMetricJSON()\n\n### Graphite\n\n from sensu_plugin import SensuPluginMetricGraphite\n\n class FooBarBazMetricGraphite(SensuPluginMetricGraphite):\n def run(self):\n self.output('a', 1)\n self.output('b', 2)\n self.ok()\n\n if __name__ == \"__main__\":\n f = FooBarBazMetricGraphite()\n\n### StatsD\n\n from sensu_plugin import SensuPluginMetricStatsd\n\n class FooBarBazMetricStatsd(SensuPluginMetricStatsd):\n def run(self):\n self.output('a', 1, 'ms')\n self.output('b.c.d', 15)\n self.ok()\n\n if __name__ == \"__main__\":\n f = FooBarBazMetricStatsd()\n\n## License\n\n* Based heavily on [sensu-plugin](https://github.com/sensu/sensu-plugin) Copyright 2011 Decklin Foster\n* Python port Copyright 2014 S. Zachariah Sprackett\n\nReleased under the same terms as Sensu (the MIT license); see LICENSE\nfor details\n", "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/sensu/python_sensu_plugin/", "keywords": null, "license": "LICENSE.txt", "maintainer": null, "maintainer_email": null, "name": "sensu_plugin26", "package_url": "https://pypi.org/project/sensu_plugin26/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sensu_plugin26/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/sensu/python_sensu_plugin/" }, "release_url": "https://pypi.org/project/sensu_plugin26/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "A framework for writing Python sensu plugins.", "version": "0.2.0" }, "last_serial": 1339839, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "8937e81a1df6769b5d3888c1a0ee3df1", "sha256": "9a68eac3555b69ada282178028d4a577b4bd90712d98e661a4a209a3834d731d" }, "downloads": -1, "filename": "sensu_plugin26-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8937e81a1df6769b5d3888c1a0ee3df1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4235, "upload_time": "2014-12-11T12:24:41", "url": "https://files.pythonhosted.org/packages/4e/53/dd2a3cf271ac3971846fcce05de1bb74bf2c8be0bb25dd57533048b6d4bb/sensu_plugin26-0.2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "82e6193cdcb01988cdd6dbe290e7f054", "sha256": "152ef7fd6a4cc41f8e2610bf9603bf7a6338649935fb67a9c9247b66d09d2284" }, "downloads": -1, "filename": "sensu_plugin26-0.2.0.zip", "has_sig": false, "md5_digest": "82e6193cdcb01988cdd6dbe290e7f054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8525, "upload_time": "2014-12-11T12:24:43", "url": "https://files.pythonhosted.org/packages/1f/2d/caafa9192a3cc024f11b2a88f0f1921384d00d8b8819ded196e04c5bbfeb/sensu_plugin26-0.2.0.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8937e81a1df6769b5d3888c1a0ee3df1", "sha256": "9a68eac3555b69ada282178028d4a577b4bd90712d98e661a4a209a3834d731d" }, "downloads": -1, "filename": "sensu_plugin26-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8937e81a1df6769b5d3888c1a0ee3df1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4235, "upload_time": "2014-12-11T12:24:41", "url": "https://files.pythonhosted.org/packages/4e/53/dd2a3cf271ac3971846fcce05de1bb74bf2c8be0bb25dd57533048b6d4bb/sensu_plugin26-0.2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "82e6193cdcb01988cdd6dbe290e7f054", "sha256": "152ef7fd6a4cc41f8e2610bf9603bf7a6338649935fb67a9c9247b66d09d2284" }, "downloads": -1, "filename": "sensu_plugin26-0.2.0.zip", "has_sig": false, "md5_digest": "82e6193cdcb01988cdd6dbe290e7f054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8525, "upload_time": "2014-12-11T12:24:43", "url": "https://files.pythonhosted.org/packages/1f/2d/caafa9192a3cc024f11b2a88f0f1921384d00d8b8819ded196e04c5bbfeb/sensu_plugin26-0.2.0.zip" } ] }