用于正常运行时间robot的声明性配置库
urconf的Python项目详细描述
用于正常运行时间robot的声明性配置库
urconf是用于正常运行时间robot的python库<;https://uptimerobot.com/>; 应用程序编程接口。它要求定义所有联系人和监视器,然后 相应地配置正常运行时间robot所需的api调用。
用法
使用pip:pip install urconf
将监视配置编写为python脚本:
importloggingimporturconf# urconf logs all operations that change configuration at the INFO level.# Use DEBUG to see API call contents.logging.basicConfig(level=logging.INFO)config=urconf.UptimeRobot("api-key")# dry_run=True enables dry mode# Define contactsemail=config.email_contact("me@example.com")boxcar=config.boxcar_contact("boxcar-api-key","my boxcar")# Define monitorsssh=config.port_monitor("ssh on server1","server1.example.com",22)web=config.keyword_monitor("my site","https://example.com/","welcome to example.com!")# More complex example with HTTP auth and non-standard monitoring intervalbackend=config.keyword_monitor("my backend","https://admin.example.com","Cannot connect to database",should_exist=False,http_username="admin",http_password="password",interval=20)# Associate contacts with monitorsformonitorin(ssh,web,backend):monitor.add_contacts(email,boxcar)# Sync configuration to Uptime Robotconfig.sync()
运行脚本以同步配置。
功能性
当前实施:
- 电子邮件和BoxCar联系人;
- 关键字和端口监视器。
扩展支持的联系人或监视器类型的请求非常 欢迎。
注意事项
由于uptimerobot api不支持修改联系人,当联系人 检测到修改,urconf必须删除旧联系人并重新添加 它。这意味着必须再次手动重新验证电子邮件联系人。
开发说明
- 实现时请参阅api文档<;https://uptimerobot.com/api>;。 附加功能;
- 运行tox在Python2.7和3.4环境中运行测试;
- 在docs/中运行make html以HTML格式生成文档。可能是 之后在docs/_build/html/中查看。
许可证
urconf根据mit许可证获得许可。