一个非常简单的服务器监控解决方案。

graphit的Python项目详细描述


格斗?

graphit是一个非常简单的监控解决方案。不同于其他 像仙人掌,GraphIT这样的解决方案设置非常迅速,而且非常简单 使用。另一方面,graphhit不是为大型监视而设计的 它的目标是那些想用一个简单的 太好了。

GraphIT是基于客户机/服务器的,使用SQLite作为数据库后端,并且 HTTP作为传输协议它使用rest(表示状态 传输)代理和服务器之间交换数据的原则,以及 服务器和前端。所有数据都采用json格式。

代理是一个支持post请求的简单http客户端。Python 提供库是为了方便在python中创建代理。

Frontend是一个带有JavaScript的简单网页,可以查询GraphIT 使用ajax的服务器。图表是用flot js库呈现的。

设置

安装

安装非常简单,只需键入 命令(在发行版上安装setuptools包之后):

easy_install graphit

配置

配置是在graphitd命令的帮助下进行的 参数。键入graphitd --help以获得可用的列表 参数。

石墨化安装

graphitize是graphit的javascript/html前端。下载自 http://idevelop.org/p/graphit/downloads/ 石墨化的最新版本。在你的网络服务器上解压它

依赖于提供的index.html来理解石墨化是如何工作的(事实如此 很简单!!).

您可以在graphit以外的服务器上托管graphize,甚至运行它。 在你的桌面上,没有网络服务器。

graphit为ajax跨域实现了JSONPOPTIONShttp方法。 默认情况下使用JSONP,因为OPTIONS http method仅实现 最新的Firefox和Webkit版本要使用后者,请删除 调用graphitize()时url中的“callback”参数。

使用监视程序

守望者是为GraphIT准备的它们与 格斗。

监视程序需要定期运行,您可以使用crontask来执行此操作, 你只需要选择一个时间间隔(这取决于 数据的准确性)。

有些观察者需要特定的执行间隔。例如 graphit vnstat用于在指定的 接口。如果你每五分钟拍一次速度快照 将有不代表 最后五分钟,但就在守望者被处决的时候

为了防止这个问题,vnstat在用户指定的时间内执行 (默认为60秒),并返回此时间的平均交通速度。

在这种情况下,不能一次执行多个watcher 指定,或多个监视程序实例将同时执行 时间。

观察器二进制文件以“graphit”前缀开头,安装在 与graphid binary相同的位置。

代理创建

代理Python库与服务器包一起安装 (请参见设置/Installation)。要使用它,必须导入 GraphItAgentgraphit.client中:

>>> from graphit.client import GraphItAgent

然后,你只需举例说明:

>>> agent = GraphItAgent('http://my-graphit-server/', login='graphit', passwd='secret')

最后,使用附加值法提交监测数据:

>>> agent.add_value(set='df', feed='sda', value=42, unit='%')

就这么简单

变更日志

0.6:
  • 添加:新的观察者:graphit vnstat和graphit disk
  • 修正:graphit mem free信息现在已转换为MB
  • 代码清理
0.5:
  • 这个版本引入了“观察者”守望者是小剧本 使用Watchers框架并允许将数据提交给GraphIT守护进程 (通过graphhit的python库)。它们是某种预制构件 GraphIT代理,与GraphIT一起分发,可用于 cli接口。 在这个版本中添加的观察者是graphit loadavg和graphit mem。 请参见设置学习如何使用它。 很快就会有更多
0.4.1:
  • 针对0.4版本中引入的错误的错误修复版本格斗意志 现在,如果索引已经存在于数据库上,请启动。
  • 如果不存在,索引将自动添加。
0.4:
  • graphid数据库现在对it数据库使用索引。真的很好 查询的响应时间…修改只涉及新数据库 创建,所以,在旧数据库上创建索引:sqlite3 <path to database> "CREATE INDEX "main"."idx" ON "monitdata" ("date" DESC, "set" ASC, "feed" ASC)"感谢Thibault Vincent的创意。

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

推荐PyPI第三方库


热门话题
Java Selenium测试无符号扩展   Java JDBC DB2“CLI0129E无更多句柄”   java无法使SeleniumWebDriver单击复选框   wordpress Http请求帖子只有在通过Java应用程序发送时才起作用   java在while循环中构建Flux对象   java如何使用EL从地图中检索所有值   java在ImagePanel上绘制形状   java为同一服务器上的多个应用程序提供相同的JMX Mbean类   java如何基于s显示文本字段:选择struts 2   单个Java变量可以接受原语或对象数组吗?   java如何在文件中找到最大字节?   java Springboot可执行文件JAR错误:由于缺少EmbeddedServletContainerFactory bean,无法启动EmbeddedWebApplicationContext   JavaSpringJMX级联/联合   eclipse外部的命令行JUnit测试   java设置放大gral plot会导致空plot   java Android小部件   java如何在不同片段中更改具有不同样式的动作栏标题?