自托管、易于部署的监视和警报服务-如轻量级页面
cabot的Python项目详细描述
[![生成状态](https://travis-ci.org/arachnys/cabot.svg?branch=master)](https://travis-ci.org/arachnys/cabot) [![PYPI版本](https://badge.fury.io/py/cabot.svg)](https://badge.fury.io/py/cabot) [![覆盖状态](https://codecov.io/github/arachnys/cabot/coverage.svg?branch=master)](https://codecov.io/github/arachnys/cabot?分支=主) [![需求状态](https://requires.io/github/arachnys/cabot/requirements.svg?branch=master)](https://requires.io/github/arachnys/cabot/requirements/?分支=主) [![许可证:mit](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![吉特](https://img.shields.io/gitter/room/arachnys/cabot.svg)](https://gitter.im/arachnys/cabot)
卡伯特是一个免费的、开源的、自托管的基础设施监控平台,它提供了一些最佳的特性[Paple Real](http://www.pagerduty.com)、[服务器密度](http://www.serverdensity.com)、[PangDOM](http://www.pingdom.com)和[naGiO](http://www.nagios.org),而没有它们的成本和复杂性。(纳吉奥斯,我主要是看着你。)
它提供了一个Web界面,允许您监视服务(例如“Stage Redis服务器”、“Production ElasticSearch群集”),并在这些服务开始出现问题或故障时向值班团队发送电话、短信或HipChat/电子邮件警报,而无需编写一行代码。最重要的是,您可以使用已经推送到graphite/statsd的数据来生成警报,而不是实现和维护一个全新的数据收集器系统。
您可以根据以下条件发出警报:
- 来自[石墨](https://github.com/graphite-project/graphite-web)的度量值
- web端点的状态码和响应内容
- [jenkins](http://jenkins-ci.org)生成状态
我们在[arachnys](https://www.arachnys.com)将cabot作为一个圣诞项目来构建,因为我们无法将自己的头缠绕在nagios上,而且似乎没有其他东西适合我们的用例。我们正在公开采购它,希望其他人发现它有用。
cabot是用python编写的,它使用了[django](https://www.djangoproject.com/)、[bootstrap](http://getbootstrap.com/)、[font awesome](http://fontawesome.io)和一大堆其他的东西。
##屏幕截图
###服务仪表板
###单一服务概述
##快速启动
使用docker:使用[官方快速启动指南,位于cabotapp.com](http://cabotapp.com/qs/quickstart.html)在5分钟或更短的时间内部署。(另请参见https://hub.docker.com/r/cabotapp/cabot/)
##工作原理
文档已移动到[cabotapp.com](http://cabotapp.com)
章节:
- [配置](http://cabotapp.com/use/configuration.html)
- [部署](http://cabotapp.com/use/deployment.html)
- [服务](http://cabotapp.com/use/services.html)
- [石墨检查](http://cabotapp.com/use/graphite-checks.html)
- [詹金斯支票](http://cabotapp.com/use/jenkins-checks.html)
- [http检查](http://cabotapp.com/use/http-checks.html)
- [警报](http://cabotapp.com/use/alerting.html)
- [用户](http://cabotapp.com/use/users.html)
- [旋转](http://cabotapp.com/use/rota.html)
对于那些想贡献的人:
- [帮助开发](http://cabotapp.com/dev/get-started.html)
- [贡献代码](http://cabotapp.com/dev/contribute-code.html)
##常见问题解答
###为什么叫“卡伯特”?
我的狗叫卡博特,他喜欢监视事物。主要是他周围有食物,或者松鼠经常来我们的花园。他还大声吠叫,提醒我们某些事件(如邮递员上门)。
他的名字听起来像是一个自动化工具,这只是一个幸运的巧合。
##API
api通过浏览https://cabot.yourcompany.com/api自动生成了可用的文档。可浏览的文档显示了示例get请求并列出了其他允许的http方法。
要查看单个项目,请将项目id附加到url。例如,要查看石墨检查,请浏览: ` /api/graphite_checks/1/ `
###身份验证
api允许使用标准django用户名和密码以及会话身份验证(通过在登录页面上提交登录表单)进行http基本身份验证。api同样使用标准django权限来允许和拒绝api访问。
任何经过身份验证的用户都可以获取所有资源,但必须为post、put和其他写方法授予单独的权限。
例如,对于对所有status\u check子类的post访问,添加以下权限: ` cabotapp | status check | Can add graphite status check cabotapp | status check | Can add http status check cabotapp | status check | Can add icmp status check cabotapp | status check | Can add jenkins status check `
访问位于https://cabot.yourcompany.com/admin的django管理页以添加/删除用户、更改用户权限、添加/删除基于组的权限控制的组以及更改组权限。
###排序和筛选
rest客户端和d在可浏览的api上。可浏览api中可见的所有字段都可用于筛选和排序。
获取所有启用Debunce且具有关键重要性的Jenkins检查: ` https://cabot.yourcompany.com/api/jenkins_checks/?debounce=1&importance=CRITICAL `
按名称字段对石墨进行排序,升序: ` https://cabot.yourcompany.com/api/graphite_checks/?ordering=name `
按名称字段排序,降序: ` https://cabot.yourcompany.com/api/graphite_checks/?ordering=-name `
[django rest framework](http://www.django-rest-framework.org/api-guide/filtering#djangofilterbackend)文档中提供了其他(非特定于cabot的)示例。
##许可证
请参见本回购协议中的许可证文件。