gocept链接监控服务器
项目描述
链接监控服务器(LMS)是一组用于定期检查给定URL是否可访问的组件。它目前支持HTTP、HTTPS和FTP URL。
历史
gocept.lms是LMS的第三个版本(因此3.x的主版本号为3)。
第一个版本直接集成到CMFLinkChecker中,作为一个线程运行。这并不很稳定。
第二个版本使用了Twisted框架和MySQL数据库。这也不太稳定。
第三个版本现在是用Zope 3/Grok编写的,使用ZODB作为数据存储,并在可能的情况下分离关注点。这是稳定的。
组件
LMS由小型组件组成,这些组件仅通过在ZODB中存储数据来通信。
XML-RPC服务器
XML-RPC服务器为需要检查其URL的应用程序/客户端提供API接口。它提供注册和注销客户端和URL的操作。
管理系统可以注册客户端。客户端可以注册它希望检查的URL。
调度器
调度器检查由客户端添加的URL的数据年龄。它决定何时需要检查URL,并相应地将它插入检查队列。
检查器
检查器从检查队列中提取URL并执行实际检查。它有措施限制并行执行检查的数量,以避免过度冲击外部系统。(默认情况下,它同时检查多达20个URL,并确保同一主机的URL每秒最多检查一次)。
通知器
通知器保持注册客户端更新其订阅的URL的状态信息。客户端通过XML-RPC接收通知。
同步器/同步器
同步器负责保持LMS及其客户端的URL数据库同步。它通过定期获取客户端数据库的完整快照来实现,并为它们提供所有感兴趣URL的当前状态信息。
安装
安装使用buildout。一个例子可以在我们的SVN中找到
% svn co https://code.gocept.com/svn/gocept/gocept.lms/deployment/profiles
buildout当前定义了两个配置文件
prod.cfg用于生产环境
test.cfg用于测试环境
虽然目前这两个配置文件没有真正不同,但它们是为了说明可能性而设置的。测试配置文件如下所示
[buildout] extends = base.cfg [app] admin-password = admin appname = test mail-server-host = localhost [zeo] address = localhost:8100 [lms] address = localhost:8080
要选择测试配置文件,创建一个包含它的buildout.cfg
[buildout] extends = profiles/test.cfg
接下来,使用Python 2.5引导buildout
% python2.5 bootstrap.py
这将在bin/buildout中创建实际的buildout脚本
% bin/buildout
运行buildout将创建一系列脚本,对应于各种组件。测试配置文件使用部署沙盒,因此所有脚本都包含在parts/deployment/etc/init.d中
% ls parts/deployment/etc/init.d/ lms-checker lms-notifier lms-scheduler lms-syncer lms-web lms-zeo
要开始,首先启动ZEO和LMS Web界面
% parts/deployment/etc/init.d/lms-zeo start % parts/deployment/etc/init.d/lms-web start
将您的浏览器指向https://127.0.0.1:8080。这会打开grok管理UI。创建一个ID为test的LMS。创建后,LMS将显示“祝贺”。
现在启动其他服务
% parts/deployment/etc/init.d/lms-checker start % parts/deployment/etc/init.d/lms-notifier start % parts/deployment/etc/init.d/lms-scheduler start % parts/deployment/etc/init.d/lms-syncer start
下一步是注册客户端。LMS欢迎页面有一个链接到一个非常基本的表单。在那里您必须输入以下数据
- 客户端ID
这是客户端的标识符。它与密码结合用于认证XML-RPC请求。
- 密码
用于认证客户端的密码。
- 联系人姓名
LMS发送的电子邮件将包含收件人的姓名。
- 联系人电子邮件地址
有关此客户端的LMS发送的电子邮件将发送到此地址。
- 回调URL
回调URL是回调方法被调用的XML-RPC点。对于gocept.linkchecker安装,这将是http://example.com/portal_linkchecker/database/。
注册客户端后,您可以配置gocept.linkchecker(或任何其他客户端)以与LMS通信。
变更
3.0a6(2011-02-14)
更新SVN引用。
修复接受多个URL时的错误:如果单个URL不可添加(ConstraintNotSatisfied),则不会中断。
正确处理urllib的InvalidURL异常。
3.0a5(2011-02-13)
实际上将没有可用的处理程序的手册URL标记为“不可检查”。
一次处理队列中的最多1000个项目,以降低检查器的延迟。
3.0a4(2011-01-25)
使URL注册和同步对不正确的URL具有鲁棒性。我们现在要求URL仅包含ASCII字符。请在发送给我们之前对您的客户端进行URL编码。
增加了客户端通知的调试输出量很多。我们现在显示客户端现在得到通知的所有URL。
将没有关联处理器或被策略禁止的URL标记为已检查,以便它们只在成功检查后的相同期间重新出现。
3.0a3 (2011-01-18)
提供一个用于检查URL数据库的最小UI,并允许从数据库中清除选定的URL。
修复了冲突解决中的问题:如果一个对象依赖于类的默认值,则状态字典不包含该值。
改进了对响应为空字符串(或不良状态行)的URL的错误处理。
删除了对twisted的依赖。
为LMS无法或拒绝检查的URL提供单独的状态(推荐颜色:蓝色)。
不要分类mailto链接(优化)。
3.0a2 (2009-05-21)
略微更新了文档。
声明了命名空间包。
更新了使用的egg版本。
向pytz添加了缺失的依赖项。
3.0a1 (2009-04-14)
首次公开发布。
项目详情
gocept.lms-3.0a6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b0b51ce4b4e40efa4419267f673bdb6f5cbb298a786c9b9e531664e0c6c16fae |
|
MD5 | 080bf26265eac537de6e823967329417 |
|
BLAKE2b-256 | bb766c955ea7a045567656c8091bfeb9f1f3ed98689417ee060b02a097d91ece |