{ "info": { "author": "Dylan Page", "author_email": "genpage@pagefortress.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries", "Topic :: System :: Monitoring" ], "description": "########\nIcingapy\n########\n\n|License| |PyPI Downloads| |PyPI Version| |Build Status| |Coverage Status|\n\nA library for interacting/scrapping Icinga 1 CGI endpoints.\n\nFull Documentation can be found at: https://icingapy.readthedocs.io/\n\nHow to setup the client:\n\n>>> from icingapy import IcingaClient\nicinga = IcingaClient('icinga.host.com', 'admin', 'Ch@ng3m3!')\n\nIcinga Client currently support three methods. **summary**, **status**, **downtime**\n\nsummary\n queries the *status.cgi* endpoint and parses the table for a list of services,\n their status and info.\n\n>>> icinga.summary('testhost')\n{'Current Load': {'service': 'Current Load', 'status': 'OK', 'info': 'OK - load average: 0.38, 0.33, 0.31'},\n'Current Users': {'service': 'Current Users', 'status': 'OK', 'info': 'USERS OK - 0 users currently logged in'},\n'Disk Space': {'service': 'Disk Space', 'info': 'DISK CRITICAL - free space: / 1423 MB (10% inode=53%): '},\n'HTTP': {'service': 'HTTP', 'status': 'OK', 'info': 'HTTP OK: HTTP/1.1 301 Moved Permanently - 529 bytes in 0.000 second response time'},\n'SSH': {'service': 'SSH', 'info': 'connect to address 127.0.0.1 and port 22: Connection refused'},\n'Total Processes': {'service': 'Total Processes', 'status': 'OK', 'info': 'PROCS OK: 12 processes'}}\n\nstatus\n queries the *extinfo.cgi* endpoint and parses the table to pull the same information\n (with the addition of last-check) as summary but for a single service\n\n>>> icinga.status('testhost', 'Current Load')\n{'service': 'Current Load',\n'state': ' OK (for 0d 1h 50m 10s)',\n'info': 'OK - load average: 0.38, 0.33, 0.31',\n'last-check': '2018-09-29 17:22:07'}\n\ndowntime\n queries the *cmd.cgi* endpoint to post a downtime for a particular host or service host. Returns True/False.\n service, expire_timedate, and msg are optional. Method defaults to a timedate of 1 hour.\n expire_timedate expects a dictionary with keys matching datetime.timedelta parameters.\n\n>>> icinga.downtime(host='localhost', service='Disk Space', expire_timedate={'hours': 1}, msg='until logrotate'))\nTrue\n\n.. |License| image:: https://img.shields.io/pypi/l/icingapy.png\n :target: https://pypi.python.org/pypi/icingapy\n.. |PyPI Downloads| image:: https://img.shields.io/pypi/dm/icingapy.png\n :target: https://pypi.python.org/pypi/icingapy\n.. |PyPI Version| image:: https://img.shields.io/pypi/v/icingapy.png\n :target: https://pypi.python.org/pypi/icingapy\n.. |Build Status| image:: https://travis-ci.com/GenPage/icingapy.svg?branch=master\n :target: https://travis-ci.com/GenPage/icingapy\n.. |Coverage Status| image:: https://codecov.io/gh/GenPage/icingapy/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/GenPage/icingapy\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/GenPage/icingapy", "keywords": "icinga", "license": "Apache-2", "maintainer": "", "maintainer_email": "", "name": "icingapy", "package_url": "https://pypi.org/project/icingapy/", "platform": "", "project_url": "https://pypi.org/project/icingapy/", "project_urls": { "Homepage": "https://github.com/GenPage/icingapy" }, "release_url": "https://pypi.org/project/icingapy/0.1.2/", "requires_dist": [ "requests", "bs4" ], "requires_python": "", "summary": "A library for interacting/scrapping Icinga 1 CGI endpoints", "version": "0.1.2" }, "last_serial": 4323412, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "19664bf170335354e21f2fe7999a3568", "sha256": "47037fcb1d715207f2fab90ca426cd4ee6cbf4a7a9225eba1b329f206496fb5e" }, "downloads": -1, "filename": "icingapy-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "19664bf170335354e21f2fe7999a3568", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8213, "upload_time": "2018-09-29T19:40:11", "url": "https://files.pythonhosted.org/packages/6b/63/55c11e8b540d669123e8b4da79a960ef03b411b5c242f0e5408ffe3ffba3/icingapy-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e01e6b5f29b95b661070cabd88b7afb8", "sha256": "067805d384043625f8a4c40b97ae424dad737401fde73846374244320b9fdbe8" }, "downloads": -1, "filename": "icingapy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e01e6b5f29b95b661070cabd88b7afb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33226, "upload_time": "2018-09-29T19:40:12", "url": "https://files.pythonhosted.org/packages/a5/b4/9f4c8cb9e828b701c906aa62dcd673a1a21c56b9cfa619d0d9a1c7959dea/icingapy-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "19664bf170335354e21f2fe7999a3568", "sha256": "47037fcb1d715207f2fab90ca426cd4ee6cbf4a7a9225eba1b329f206496fb5e" }, "downloads": -1, "filename": "icingapy-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "19664bf170335354e21f2fe7999a3568", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8213, "upload_time": "2018-09-29T19:40:11", "url": "https://files.pythonhosted.org/packages/6b/63/55c11e8b540d669123e8b4da79a960ef03b411b5c242f0e5408ffe3ffba3/icingapy-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e01e6b5f29b95b661070cabd88b7afb8", "sha256": "067805d384043625f8a4c40b97ae424dad737401fde73846374244320b9fdbe8" }, "downloads": -1, "filename": "icingapy-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e01e6b5f29b95b661070cabd88b7afb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33226, "upload_time": "2018-09-29T19:40:12", "url": "https://files.pythonhosted.org/packages/a5/b4/9f4c8cb9e828b701c906aa62dcd673a1a21c56b9cfa619d0d9a1c7959dea/icingapy-0.1.2.tar.gz" } ] }