{ "info": { "author": "Tim Laurence", "author_email": "timdaman@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Other Environment", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Networking" ], "description": "|Build Status| |Code Climate| |Test Coverage| |Downloads|\n\n\n============\ncheck_docker\n============\n\nNagios/NRPE compatible plugins for checking docker based services. Currently there are two nagios checks\n\n- **check_docker** which checks docker container health\n- **check_swarm** which checks health of swarm nodes and services\n\nWith **check_docker** can use it to check and alert on\n\n- memory consumption in absolute units (bytes, kb, mb, gb) and as a percentage (0-100%)\n of the container limit.\n- CPU usages as a percentage (0-100%) of container limit.\n- automatic restarts performed by the docker daemon\n- container status, i.e. is it running?\n- container health checks are passing?\n- uptime, i.e. is it able to stay running for a long enough time?\n- the presence of a container or containers matching specified names\n- image version, does the running image match that in the remote registry?\n- image age, when was the image built the last time?\n\nWith **check_swarm** you can alert\n\n- if a node is not joined to a docker swarm\n- if a service is running in a swarm\n\nThese checks can communicate with a local docker daemon socket file (default) or with local\nor remote docker daemons using secure and non-secure TCP connections.\n\nThese plugins require python 3. It is tested on 3.5 and greater but may work on older\nversions of 3.\n\nInstallation\n-----------------\n\nWith pip\n::\n\n pip3 install check_docker\n --or--\n pip install check_docker\n\nWith curl\n::\n\n curl -o /usr/local/bin/check_docker https://raw.githubusercontent.com/timdaman/check_docker/master/check_docker/check_docker.py\n curl -o /usr/local/bin/check_swarm https://raw.githubusercontent.com/timdaman/check_docker/master/check_docker/check_swarm.py\n chmod a+rx /usr/local/bin/check_docker /usr/local/bin/check_swarm\n\nWith wget\n::\n\n wget -O /usr/local/bin/check_docker https://raw.githubusercontent.com/timdaman/check_docker/master/check_docker/check_docker.py\n wget -O /usr/local/bin/check_swarm https://raw.githubusercontent.com/timdaman/check_docker/master/check_docker/check_swarm.py\n chmod a+rx /usr/local/bin/check_docker /usr/local/bin/check_swarm\n\n\ncheck_docker Usage\n------------------\n\n::\n\n usage: check_docker.py [-h]\n [--connection [//docker.socket|:]\n | --secure-connection [:]]\n [--binary_units | --decimal_units] [--timeout TIMEOUT]\n [--containers CONTAINERS [CONTAINERS ...]] [--present]\n [--threads THREADS] [--cpu WARN:CRIT]\n [--memory WARN:CRIT:UNITS] [--status STATUS] [--health]\n [--uptime WARN:CRIT] [--image-age WARN:CRIT] [--version]\n [--insecure-registries INSECURE_REGISTRIES [INSECURE_REGISTRIES ...]]\n [--restarts WARN:CRIT] [-V]\n\n Check docker containers.\n\n optional arguments:\n -h, --help show this help message and exit\n --connection [//docker.socket|:]\n Where to find docker daemon socket. (default:\n /var/run/docker.sock)\n --secure-connection [:]\n Where to find TLS protected docker daemon socket.\n --binary_units Use a base of 1024 when doing calculations of KB, MB,\n GB, & TB (This is default)\n --decimal_units Use a base of 1000 when doing calculations of KB, MB,\n GB, & TB\n --timeout TIMEOUT Connection timeout in seconds. (default: 10.0)\n --containers CONTAINERS [CONTAINERS ...]\n One or more RegEx that match the names of the\n container(s) to check. If omitted all containers are\n checked. (default: ['all'])\n --present Modifies --containers so that each RegEx must match at\n least one container.\n --threads THREADS This + 1 is the maximum number of concurent\n threads/network connections. (default: 10)\n --cpu WARN:CRIT Check cpu usage percentage taking into account any\n limits. Valid values are 0 - 100.\n --memory WARN:CRIT:UNITS\n Check memory usage taking into account any limits.\n Valid values for units are %,B,KB,MB,GB.\n --status STATUS Desired container status (running, exited, etc).\n --health Check container's health check status\n --uptime WARN:CRIT Minimum container uptime in seconds. Use when\n infrequent crashes are tolerated.\n --image-age WARN:CRIT Maximum image age in days.\n --version Check if the running images are the same version as\n those in the registry. Useful for finding stale\n images. Does not support login.\n --insecure-registries INSECURE_REGISTRIES [INSECURE_REGISTRIES ...]\n List of registries to connect to with http(no TLS).\n Useful when using \"--version\" with images from\n insecure registries.\n --restarts WARN:CRIT Container restart thresholds.\n --no-ok Make output terse suppressing OK messages. If all\n checks are OK return a single OK.\n --no-performance Suppress performance data. Reduces output when\n performance data is not being used.\n -V show program's version number and exit\n\n\ncheck_swarm Usage\n-----------------\n\n::\n\n usage: check_swarm [-h]\n [--connection [//docker.socket|:]\n | --secure-connection [:]]\n [--timeout TIMEOUT]\n (--swarm | --service SERVICE [SERVICE ...]) [-V]\n\n Check docker swarm.\n\n optional arguments:\n -h, --help show this help message and exit\n --connection [//docker.socket|:]\n Where to find docker daemon socket. (default:\n /var/run/docker.sock)\n --secure-connection [:]\n Where to find TLS protected docker daemon socket.\n --timeout TIMEOUT Connection timeout in seconds. (default: 10.0)\n --swarm Check swarm status\n --service SERVICE [SERVICE ...]\n One or more RegEx that match the names of the\n services(s) to check.\n -V show program's version number and exit\n\nGotchas\n-------\n\n- When using check_docker with older versions of docker (I have seen 1.4 and 1.5) \u2013status only supports \u2018running\u2019, \u2018restarting\u2019, and \u2018paused\u2019.\n- When using check_docker, if no container is specified, all containers are checked. Some containers may return critcal status if the selected check(s) require a running container.\n- When using check_docker, --present cannot be used without --containers to indicate what to check the presence of.\n\n.. |Build Status| image:: https://travis-ci.org/timdaman/check_docker.svg?branch=master\n :target: https://travis-ci.org/timdaman/check_docker\n.. |Code Climate| image:: https://codeclimate.com/github/timdaman/check_docker/badges/gpa.svg\n :target: https://codeclimate.com/github/timdaman/check_docker\n.. |Test Coverage| image:: https://codeclimate.com/github/timdaman/check_docker/badges/coverage.svg\n :target: https://codeclimate.com/github/timdaman/check_docker/coverage\n.. |Downloads| image:: http://pepy.tech/badge/check-docker\n :target: http://pepy.tech/count/check-docker\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/timdaman/check_docker", "keywords": "", "license": "GPL-3.0", "maintainer": "Tim Laurence", "maintainer_email": "timdaman@gmail.com", "name": "check-docker", "package_url": "https://pypi.org/project/check-docker/", "platform": "", "project_url": "https://pypi.org/project/check-docker/", "project_urls": { "Homepage": "https://github.com/timdaman/check_docker", "Repository": "https://github.com/timdaman/check_docker" }, "release_url": "https://pypi.org/project/check-docker/2.2.0/", "requires_dist": null, "requires_python": "", "summary": "Nagios/NRPE compatible plugins for checking Docker based services", "version": "2.2.0" }, "last_serial": 4949019, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "ef0d4ec872423cefd6fac430249471e0", "sha256": "a0e7185513f64fd220b4f869035bf075036d279b1cf74af79547c1856a64c0e5" }, "downloads": -1, "filename": "check_docker-1.0.0.tar.gz", "has_sig": false, "md5_digest": "ef0d4ec872423cefd6fac430249471e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20267, "upload_time": "2017-05-22T04:54:57", "url": "https://files.pythonhosted.org/packages/34/fe/666c22a7140953bce7a965591e63afc46475032c13bee9472e2b990c6a43/check_docker-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "400ce62b54e2fea941e60b3a907a00e3", "sha256": "bb8f4d39b1e786d3c074798d50dba970ace66fb204a773b1451b195311e1e577" }, "downloads": -1, "filename": "check_docker-1.0.1.tar.gz", "has_sig": false, "md5_digest": "400ce62b54e2fea941e60b3a907a00e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20288, "upload_time": "2017-05-31T03:20:22", "url": "https://files.pythonhosted.org/packages/bb/ae/7c20bac3a6a466f0dd49bf6846f13e52c45b76608523bafe85bb08ef36a6/check_docker-1.0.1.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "771f74cff93815035680d67f5cab2b77", "sha256": "6531b910b8af82d8e9ca22353bba16d877d9ac660b00d4dc84d1cc51b3e32eec" }, "downloads": -1, "filename": "check_docker-1.0.3.tar.gz", "has_sig": false, "md5_digest": "771f74cff93815035680d67f5cab2b77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20515, "upload_time": "2017-07-02T17:44:51", "url": "https://files.pythonhosted.org/packages/e6/40/7942458bf4eb67038225e75939cb6a6c489da6e3d9df191066c9f05991c5/check_docker-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "62561e2be774bd9ef7b79ee8f3c75f49", "sha256": "376e07f1e007ce90aded99a21ce0fa9b8ec1c00225960c0003a97e7daf061187" }, "downloads": -1, "filename": "check_docker-1.0.4.tar.gz", "has_sig": false, "md5_digest": "62561e2be774bd9ef7b79ee8f3c75f49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20812, "upload_time": "2017-08-04T13:49:44", "url": "https://files.pythonhosted.org/packages/b9/af/bb3a3f743de89b13941acf73d8b8460c1a1089409df428bb4c37e2e34f07/check_docker-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "c5c470a72b7d0273131b5ccd2e8f296b", "sha256": "96d87c3f45daef86e85dbd1c712c9e6152ee9e888f2df9f9b33633ee4d558802" }, "downloads": -1, "filename": "check_docker-1.0.5.tar.gz", "has_sig": false, "md5_digest": "c5c470a72b7d0273131b5ccd2e8f296b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21466, "upload_time": "2017-10-29T03:52:50", "url": "https://files.pythonhosted.org/packages/85/1b/619f46713555711c9e3811950b4c89baae5afc42707f22a9fa07433ee4f9/check_docker-1.0.5.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "dec0ce8053348d5e97da20a4e1483a74", "sha256": "ebca204b71a43a130cf9d542f745d1956f329e907730d5d9b02dec98fb8c9ea5" }, "downloads": -1, "filename": "check_docker-2.0.0.tar.gz", "has_sig": false, "md5_digest": "dec0ce8053348d5e97da20a4e1483a74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24215, "upload_time": "2018-03-20T00:37:07", "url": "https://files.pythonhosted.org/packages/f6/db/cad3b8f7985dfd0ae655f2829956eea8f85e47fbfb876afb77a6172ecf21/check_docker-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "766e0e8ac29479f7163fd21ec7849060", "sha256": "8642a70d9380f538ed2c91459ebdcccdc78299daad69ede6cddd8644f52fd63a" }, "downloads": -1, "filename": "check_docker-2.0.1.tar.gz", "has_sig": false, "md5_digest": "766e0e8ac29479f7163fd21ec7849060", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24160, "upload_time": "2018-03-20T00:55:30", "url": "https://files.pythonhosted.org/packages/c4/57/7d525bc37fc9eed0ed707ab7d0a12f286f1af3ba00c69d5858d5b1618350/check_docker-2.0.1.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "fcdc242f05831a561c369c2cf1f04136", "sha256": "fee48c38f62a2e4885e88f9020cd85dccdb2efcace95d13083cfd9b28ee35917" }, "downloads": -1, "filename": "check_docker-2.0.5.tar.gz", "has_sig": false, "md5_digest": "fcdc242f05831a561c369c2cf1f04136", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35766, "upload_time": "2018-04-15T06:55:37", "url": "https://files.pythonhosted.org/packages/e6/1e/dfcf2763c0aa1b1539e2ae547b1a2788ddfbe31e08a76600faf02cf0ba81/check_docker-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "13690784d4e17edeca8f78b549250245", "sha256": "668edf6fd3d22a0364bf3fef27b9393eb82a8e47d36401a04aed7e1d6f3293fb" }, "downloads": -1, "filename": "check_docker-2.0.6.tar.gz", "has_sig": false, "md5_digest": "13690784d4e17edeca8f78b549250245", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35888, "upload_time": "2018-07-12T15:10:58", "url": "https://files.pythonhosted.org/packages/57/28/ee5958e5f07414e2eabc7e4e7718a82d6aeef66dc7524aedb8e0ba61734c/check_docker-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "7ba7068284f21e4848738ccfd67952d4", "sha256": "70cbf28d6591c6a939d36326ec7b5c6b8f0cdbcd5b5ef4f0c9e68383777a8e24" }, "downloads": -1, "filename": "check_docker-2.0.7.tar.gz", "has_sig": false, "md5_digest": "7ba7068284f21e4848738ccfd67952d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36271, "upload_time": "2018-09-23T16:39:30", "url": "https://files.pythonhosted.org/packages/26/d6/98db9051fbcd207815c04033b26b44afd2f80f15a5dd551c81825507d0d7/check_docker-2.0.7.tar.gz" } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "6f023f6216a58c83cb8b9082fdd0ebb6", "sha256": "7d749f28f3d8db607bec9c0f8953b190bec0faec2ba2fcb87fb3edc94f990c9e" }, "downloads": -1, "filename": "check_docker-2.0.8.tar.gz", "has_sig": false, "md5_digest": "6f023f6216a58c83cb8b9082fdd0ebb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36505, "upload_time": "2018-11-22T18:22:54", "url": "https://files.pythonhosted.org/packages/60/70/f232848cb4f594e1c957d6763f6bde9edaf6191d00e95c710e5e99f2247f/check_docker-2.0.8.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "00565172cd8a849f987455bd847104d0", "sha256": "91952e75d86ef3f16cee6839a918058fbda3c6d7f25056c2fe53e6234837c8ec" }, "downloads": -1, "filename": "check_docker-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "00565172cd8a849f987455bd847104d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 81258, "upload_time": "2018-12-31T21:57:13", "url": "https://files.pythonhosted.org/packages/0f/32/53df00cabe223e948b6edce3e569ce61ada823b8c64e5672a3af77220644/check_docker-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3649607eeb9c22d348a62280cab7b95c", "sha256": "49cb6da9a3dd41e80c2327a5d6abf5651d3c697ef17b7f27a1f5fcf952f08787" }, "downloads": -1, "filename": "check_docker-2.1.0.tar.gz", "has_sig": false, "md5_digest": "3649607eeb9c22d348a62280cab7b95c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27242, "upload_time": "2018-12-31T21:57:15", "url": "https://files.pythonhosted.org/packages/f3/73/dbae4c94aa4117ed602d026a29607692fef0a19f0e45e7c52e5f76a114fc/check_docker-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "9e23598cfbd0d9be2af90d9a5311d1cc", "sha256": "03d4b12717877921cb589a85d01a8a079701ddde394895fd1076f2585f72db81" }, "downloads": -1, "filename": "check_docker-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e23598cfbd0d9be2af90d9a5311d1cc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 82399, "upload_time": "2019-03-16T22:59:34", "url": "https://files.pythonhosted.org/packages/d5/4a/9b603f640913c7268f0dbf5674cc5098984a88a23e25db764380ee87599a/check_docker-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e14e66b8896a7dd20c95b400dc348b94", "sha256": "e7b437ada1a9b0b10bc84ad42df5140fab98eeb8c938f731cfade5aa5f30dbd3" }, "downloads": -1, "filename": "check_docker-2.2.0.tar.gz", "has_sig": false, "md5_digest": "e14e66b8896a7dd20c95b400dc348b94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27478, "upload_time": "2019-03-16T22:59:35", "url": "https://files.pythonhosted.org/packages/68/0c/85b8d3e39bc1a7567d5fa266852112b79a4f21fa8fb42dd97a1bffafc4c1/check_docker-2.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9e23598cfbd0d9be2af90d9a5311d1cc", "sha256": "03d4b12717877921cb589a85d01a8a079701ddde394895fd1076f2585f72db81" }, "downloads": -1, "filename": "check_docker-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e23598cfbd0d9be2af90d9a5311d1cc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 82399, "upload_time": "2019-03-16T22:59:34", "url": "https://files.pythonhosted.org/packages/d5/4a/9b603f640913c7268f0dbf5674cc5098984a88a23e25db764380ee87599a/check_docker-2.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e14e66b8896a7dd20c95b400dc348b94", "sha256": "e7b437ada1a9b0b10bc84ad42df5140fab98eeb8c938f731cfade5aa5f30dbd3" }, "downloads": -1, "filename": "check_docker-2.2.0.tar.gz", "has_sig": false, "md5_digest": "e14e66b8896a7dd20c95b400dc348b94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27478, "upload_time": "2019-03-16T22:59:35", "url": "https://files.pythonhosted.org/packages/68/0c/85b8d3e39bc1a7567d5fa266852112b79a4f21fa8fb42dd97a1bffafc4c1/check_docker-2.2.0.tar.gz" } ] }