轻量级监控系统
kolekti-server的Python项目详细描述
TESTS | COVERAGE |
---|---|
Kolekti是一个具有轻量级代理的度量采集器。
现状:正在大力开发中
安装
因为Kolekti正在进行大量开发,所以安装它的唯一方法就是克隆这个存储库。
默认情况下,任务将使用带有rabbitmq的本地sqlite。您可以在server/app/settings.py下重新配置它,或者创建自己的设置并设置环境变量django_settings模块。
您可以将Uchiwa用于此配置:
{ "sensu": [ { "name": "Kolekti 1", "host": "localhost", "port": 9996, "path": "/sensu" } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 5 } }
默认情况下,kolekti服务器将监听端口9996,并在路径/sensu上提供Sensuapi。
要创建可以使用的数据库:
python server/manage.py syncdb
开发人员
您可以通过运行:
python server/manage.py sample_kolekti
科莱克蒂vs森苏
为什么要编写另一个类似于Sensu的应用程序?好吧…这里有一个比较(有些功能尚不可用):
Feature | Sensu | Kolekti |
---|---|---|
Language | Ruby | Python |
Database | Redis | Relational (Django ORM): Posgresql, MySQL, … |
Interface | Uchiwa | Uchiwa |
License | MIT | MIT |
Internal communications | Redis | Celery over RabbitMQ, Redis, Postgresql, … |
External communications | RabbitMQ | HTTP, HTTPS in near future |
Min. Threads on client | 3 (keepalive, client, subscriptions) | 1 (subscriptions) |
Keepalives | Sent by clients | Not needed. Any communication with clients is a keepalive. |
Metrics | Do not launch alerts | May raise an alert |
Checks | Do not store metrics | May store metrics |
Clients register themselves | Always | Optional |
Subscriptions | Managed by clients | Managed by clients, by server or both. |
Nagios-compatible checks | Yes | No. It requires same format for checks and alerts. |
Check failures | Decided on client | Decided on server |