Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crazy-canux/arguspy
Monitoring Plugin API for Nagios and tools based on nagios.
https://github.com/crazy-canux/arguspy
monitoring nagios plugins
Last synced: 2 days ago
JSON representation
Monitoring Plugin API for Nagios and tools based on nagios.
- Host: GitHub
- URL: https://github.com/crazy-canux/arguspy
- Owner: crazy-canux
- License: gpl-3.0
- Created: 2016-09-06T03:22:19.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-26T20:28:22.000Z (almost 2 years ago)
- Last Synced: 2024-09-24T02:00:01.859Z (about 2 months ago)
- Topics: monitoring, nagios, plugins
- Language: Python
- Homepage: https://arguspy.rtfd.io
- Size: 9.85 MB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://img.shields.io/pypi/v/arguspy.svg
:target: https://pypi.python.org/pypi/arguspy/.. image:: https://img.shields.io/pypi/dm/arguspy.svg
:target: https://pypi.python.org/pypi/arguspy/.. image:: https://travis-ci.org/crazy-canux/arguspy.svg?branch=master
:target: https://travis-ci.org/crazy-canux/arguspy.. image:: https://coveralls.io/repos/github/crazy-canux/arguspy/badge.svg?branch=master
:target: https://coveralls.io/github/crazy-canux/arguspy?branch=master=======
arguspy
=======.. figure:: https://github.com/crazy-canux/arguspy/blob/master/data/images/argus.jpg
:alt: pic1[Deprecated] As nagios is too old, this project is deprecated.
Please Move to another project `[super-devops] `_.
Arguspy is pure python code.
It's a API packge for monitoring plugins, like Nagios, Icinga, Naemon, Shinken, Centreon, Opsview and Sensu.
`[awesome-monitoring] `_.
--------------
How to install
--------------Use pip to install::
$ pip install super_devops
$ pip install arguspy----------
How to use
----------Just import what protocol you need::
from arguspy.ftp_ftplib import Ftp
from arguspy.http_requests import Http
from arguspy.mssql_pymssql import Mssql
from arguspy.mysql_pymysql import Mysql
from arguspy.ssh_paramiko import Ssh
from arguspy.winrm_pywinrm import WinRM
from arguspy.wmi_sh import Wmi
from arguspy.wmi_subprocess import WmiThen write your own function monitoring class::
class YourClass(Ftp/Mssql/Ssh/WinRM/Wmi/Http/Snmp/...):
def __init__(self):
super(YourClass, self).__init__()
self.logger.debug("Init YourClass.")def define_sub_options(self):
super(YourClass, self).define_sub_options()
self.your_parser = self.subparsers.add_parser(...)
self.your_parser.add_argument(...)
...def your_handle(self):
"""Put your function monitoring code here."""
# Default status is ok.
status = self.ok# Call the API and get the monitoring data.
# Read the document or check the API on python/ipython Interactive console.
# help(Ftp/...)
# dir(Ftp/...)
...# Compare with the warning and critical value and change the status.
...self.shortoutput = "..."
self.longoutput.append(...)
self.perfdata.append(...)self.logger.debug("Return status and output.")
status(self.output())If you put more than one function monitoring class in one file(Not recommend)::
class Register(YourClass1, YourClass2, ...):
def __init__(self):
super(Register, self).__init__()Last step::
def main():
plugin = Register()
if plugin.args.option == 'action':
plugin.action_handle()
elif ...:
...
else:
plugin.unknown("Unknown actions.")if __name__ == "__main__":
main()--------------
How to extends
--------------Check the TODO list, you can give test examples or documents.
Also you can pull request for your code.
-----
TODO
-----* Write unit tests in tests/
* Write docs in docs/
* Write examples in examples/* Compatible with Python3
* vSphere monitoring
* LDAP monitoring
* SNMP monitoring============
Contribution
============`[Contribution] `_
=======
Authors
=======`[Authors] `_
=======
License
=======`[License] `_