用于交互/废弃ICinga 1 CGI终结点的库

icingap的Python项目详细描述


LicensePyPI DownloadsPyPI VersionBuild StatusCoverage Status

用于交互/废弃ICinga 1 CGI终结点的库。

完整的文档可以在:https://icingapy.readthedocs.io/

如何设置客户端:

>>> from icingapy import IcingaClient
icinga = IcingaClient('icinga.host.com', 'admin', 'Ch@ng3m3!')

icinga客户端目前支持三种方法。摘要状态停机

摘要
查询端点status.cgi并分析表以获取服务列表, 他们的状态和信息。
>>> icinga.summary('testhost')
{'Current Load': {'service': 'Current Load', 'status': 'OK', 'info': 'OK - load average: 0.38, 0.33, 0.31'},
'Current Users': {'service': 'Current Users', 'status': 'OK', 'info': 'USERS OK - 0 users currently logged in'},
'Disk Space': {'service': 'Disk Space', 'info': 'DISK CRITICAL - free space: / 1423 MB (10% inode=53%): '},
'HTTP': {'service': 'HTTP', 'status': 'OK', 'info': 'HTTP OK: HTTP/1.1 301 Moved Permanently - 529 bytes in 0.000 second response time'},
'SSH': {'service': 'SSH', 'info': 'connect to address 127.0.0.1 and port 22: Connection refused'},
'Total Processes': {'service': 'Total Processes', 'status': 'OK', 'info': 'PROCS OK: 12 processes'}}
状态
查询exterfo.cgi端点并解析表以获取相同的信息 (加上最后一次检查)作为摘要,但对于单个服务
>>> icinga.status('testhost', 'Current Load')
{'service': 'Current Load',
'state': '  OK   (for  0d  1h 50m 10s)',
'info': 'OK - load average: 0.38, 0.33, 0.31',
'last-check': '2018-09-29 17:22:07'}
停机时间
查询cmd.cgi端点以发布特定主机或服务主机的停机时间。返回true/false。 服务、过期日期和消息是可选的。方法的默认时间日期为1小时。 expire\u timedate需要密钥与datetime.timedelta参数匹配的字典。
>>> icinga.downtime(host='localhost', service='Disk Space', expire_timedate={'hours': 1}, msg='until logrotate'))
True

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从thymeleaf表单保存地址对象和用户对象的列表?   序列化java。时间使用Jackson将localdate转换为json   java删除LinearLayout和子级之间的空间   具有内存大小限制的Java队列   java尝试在freemarker中创建min(a,b)函数失败   askQuestion()方法中的Java逻辑问题   在Java客户端中接受服务器的自签名ssl证书   java如何正确更新字符串数组?   java如何使多个方法调用充当一个事务性工作单元   swing如何创建可滚动的Java框?   java如何使用SearchView在多个单词之间搜索?   初始化启动层java时出错。lang.module。FindException:模块javafx。找不到图形   java struts对隐藏字段的转义形式验证   用于构建FEM 3D解算器的java JOGL与JAVA3D   java mvn安装忽略hibernate映射文件   在C++和java之间使用JNI通信时,我在哪里保存“这个”?   java无法使用计时器重新绘制窗口   java我遇到一个找不到符号的错误,我无法解决   IntelliJIdea生成实体时java面临的问题   java在动态文本的末尾添加三个点