基于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`。
它只是封装了一些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`。