up-下一代状态监视器
up的Python项目详细描述
有时候你只需要知道,是不是?这个项目的目标是创建一个易于使用,但高度可定制的状态监视器。
设置
首先从安装环境开始。
$ mkdir example-status
$ cd example-status
$ virtualenv . -p python3 --no-site-packages
$ bin/pip install up
现在您需要创建upfile.py。它和其他东西放在同一个文件夹里。从这里你可以设置你想要监视的东西。
fromupimportstatus,source,sinkclassExampleStatus(status.StatusMonitor):source=source.HTTPStatusSource('Example Status','https://example.com/')sink=sink.StdOutStatusSink()
你现在可以这样运行了。
$ bin/up Example Status: UP
监视多个url
up使用一个“修补程序玩具”模式,允许您组合资源来构建任何 你需要什么样的监视器。statustreesource将允许您组合多个 来源于一个。
fromupimportstatus,source,sinkclassExampleStatus(status.StatusMonitor):# You can also try a ThreadedTreeSource which runs the monitors# in parallel.source=source.StatusTreeSource('Example Status',[source.HTTPStatusSource('PROD','https://example.com/'),source.HTTPStatusSource('QA','https://qa.example.com/')])sink=sink.StdOutStatusSink()
up将查询每个源并为您提供一个简化的状态。
$ bin/up Example Status: HALF UP
有关详细信息,请使用-v.
$ bin/up -v Example Status: HALF UP (50%) PROD: UP QA: DOWN
检查github
的状态up提供了一个从github的状态api读取的源代码。
fromupimportstatus,source,sinkclassExampleStatus(status.StatusMonitor):source=source.GitHubStatusSource('GitHub Status')sink=sink.StdOutStatusSink()
$ bin/up -v GitHub Status: UP
开发人员设置
$ virtualenv . -p python3 --no-site-packages $ bin/python setup.py develop
更改日志
- next还没有。
- 0.2.1-修复egg中缺少的模板和静态资源
- 0.2.0-检测连接错误并将状态设置为关闭;公开Web界面;实验性SNMP监视(很可能会更改)
- 0.1.0-初始版本