基于Tornado和Apscheduler的非常简单、可配置的监控服务。

rakomon的Python项目详细描述


Rakomon是为最简单、最愚蠢的监视任务而设计的,不需要日志记录、缓存等。
它只是封装了一些Tornado和Apscheduler功能,以便定期运行简单的任务,将结果存储在内存中,并在application/json中提供。
您可以使用monitor和endpoint模块自动提供度量,也可以单独实例化monitor.monitor类,以便在您认为合适的情况下使用它。

我建立这个存储库主要是为了学习如何维护一个开源项目。这取决于你的评估,如果拉科蒙是生产准备。

依赖关系
rakomon仅限于python 3。它还需要Tornado和Apscheduler。

您只需要获得默认的“monitor”实例,然后将度量定义为函数,并用“monitor.metric”装饰符装饰它们。
度量函数应返回数字或字符串。ITerables的支持计划在未来。
定义度量之后,调用“endpoint.run()”启动一个简单的Tornado服务器来为它们提供服务。默认情况下,它将绑定到本地主机上的端口80。
``python
import psutil

端点

m=monitor.default()

@m.metric
def cpu():
return psutil.cpu百分比(interval=1)

@m.metric
def ram():
return psutil.virtual_memory().percent

endpoint.run()
``````
``sh
$curl http://127.0.0.1/rakomon
{“cpu”:2.3,“ram”:33.1}
```

可以将配置作为关键字参数传递。如果未提供kwargs,rakomon将使用默认值。

\monitor.monitor
*`scheduler`-继承自'apscheduler.schedulers.base.basescheduler'的类。当您希望在不包含端点的情况下单独使用监视器时非常有用。有关调度程序的详细信息,请参阅[apscheduler docs](http://apscheduler.readthedocs.io)。默认为“tornado scheduler”。
*`metric_interval`-度量运行之间的空闲秒数。默认值为“5”。
*“round\u ndigts”-舍入度量值时的位数。当然,仅适用于数值。默认为“2”。

默认为“monitor.default()”。
*`address`-要将Tornado终结点绑定到的地址。默认为“127.0.0.1”。
*`port`-要将龙卷风端点绑定到的端口。默认值为“80”。
*`url_path`-默认值为'r'/rakomon`。

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

推荐PyPI第三方库


热门话题
java Selenium Web驱动程序。负载策略不稳定   JAVAsql。SQLException:没有合适的驱动程序无法创建“oracle”类的JDBC驱动程序。jdbc。驾驶员用于连接URL的OracleDriver   java谷歌地图“优化路径点”如何解决旅行推销员的问题?   java这段代码可能会造成潜在的内存泄漏吗?   java更改JCombobox的高度   java如何清除jtable中的数据   JavaHadoop:错误安全性。UserGroupInformation:MapReduce程序中的PriviledgedActionException   java如何将sonarlint添加到gradle任务中?   性能为什么Java排序优于原语计数排序   java Spring属性PlaceHolderConfigure从数据库加载   java从泛型获取类不起作用   java Spring@Transactional传播属性   java试图拥有主菜单和子菜单类   XSL的java后处理步骤   java第一个字母和最后一个字母、第二个字母和倒数第二个字母之间的差值之和,依此类推,直到单词的中心   switch语句在Java中的下一个出发点   java 安卓如何在OnBackpress()时设置viewpager的特定项目位置?