[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.
Use pip to install:
$ pip install super_devops $ pip install arguspy
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 Wmi
Then 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()
Check the TODO list, you can give test examples or documents.
Also you can pull request for your code.
- Write unit tests in tests/
- Write docs in docs/
- Write examples in examples/
- Compatible with Python3
- vSphere monitoring
- LDAP monitoring
- SNMP monitoring