机器人应用只不过是一组脚本或一个独立的程序,可以连接到Web服务或聊天服务,作为客户端去执行自动化功能,通常,机器人部署在服务器上,并在后台运行执行各种活动:提供信息、常见问题答疑、删除垃圾邮件等等。
ChatOps引自GitHub,包括开发团队、聊天应用、Bot以及基础设置,它是一种新的操作模式,将当天的工作注入到一个普通的聊天室当中,由此可以将应完成的工作与实际工作历史联系起来,比如从聊天中部署代码、从TSDB或日志工具查看图表、创建新的Jira Tickets等等,都可以通过聊天操作完成。
ChatOps不仅减少了工作输出的反馈循环,还使其他人能够完成复杂的自服务任务,将ChatOps和StackStorm组合在一起,用户可以执行操作和工作流程,加快应用交付。
No.1 Eggdrop
Eggdrop是一个非常受欢迎的IRCChatOps,功能而丰富,可以在各种硬件和软件平台上轻松地使用和扩展(使用Tcl脚本)。
在GNU通用公共许可证(GPL)的条款下,任何人都可以自由地使用、分发和修改。
功能&特点:
- 基本的IRC频道管理
- 可以运行在Linux、BSD、SunOs、Mac OS X和Friends。
- 支持IPV6
- 对IRC和僵尸网络的SSL保护
- 可使用定制的Tcl脚本和C模块扩展基本功能
- 在机器人之间形成僵尸网络和共享社交网络和用户文件的能力
Eggdrop下载地址:http://www.eggheads.org/
No.2 Hubot
Hubot是一个可定制的机器人,由GitHub公司编写了第一个版本,Hubot可以部署网站,自动化任务,基于CoffeeScript。
功能&特点:
- 上传图片
- 语言翻译
- 集成谷歌地图
- 强大的社区,可以将内容添加到机器人上
Hubot下载地址:https://hubot.github.com/
No.3 CloudBot
CloudBot同样也是一个IRC工具应用,定义为简单、快速、可扩展、开源的Python IRCChatOps,CloudBot是在GPL V3许可下获得权限的,引用使用了Asyncio模块,所以只能在Python 3.4或更高版本上运行,若熟悉Python,那么CloudBot不会让人失望。
CloudBot下载地址:https://github.com/CloudBotIRC/CloudBot
No.4 Lita
Lita是用Ruby编写的ChatOps,可以把枯燥耗时又容易出错的任务变成Lita机器人的简单命令。
功能&特点:
- 可连接到任何聊天服务
- 简易安装
- 轻松地扩展插件
- 数据持久性和复述
- 内建的WEB服务器和路由
- 针对任意事件触发的行为事件系统
- 对传出的HTTP请求的支持
- 基于Group的授权
- 可配置的日志
No.5 Errbot
Errbot也是用Python编写的,它是一个基于插件的ChatOps,同时也是一个开源的免费应用,具有易于部署、高扩展性和高维护性,在Gpl3授权下使用。
作为一个ChatOps,Errbot可以将工具带入对话当中,此项目的目标是让用户更容易地编写插件,通过它可以进行部署、在线检索、通过API触发工具、与团队协作等等。
目前Errbot应用于多种不同的环境:ChatOps(DevOps的工具)、在线游戏聊天室如EVE、视频流媒体聊天室如Livecoding TV,家庭安全等等。
功能&特点:
- 简易的安装与设置
- 多个服务器后端
- 内置管理和安全工具
- 广泛的插件框架
Errbot下载地址:http://errbot.io/en/latest/
No.6 StackStorm
StackSorm是一个功能强大的开源自动化平台,可以将用户所有的应用、服务和工作流连接在一起,具有极高的可扩展性与灵活性,可以助力DevOps和ChatOps,StackStorm能自动化常见的操作模式如:
- 促进了故障诊断——触发了Nagios、New Relic和其他监控系统的系统鼓掌,在物理节点、OpenStack或Amazon实例上进行了一系列诊断检查,以及应用组件,并将结果发布到一个共享的通信环境中,如HipChat或JIRA。
- 自动修复——识别和验证OpenStack计算节点上的硬件鼓掌,正确地疏散实例,并给管理员发送关于潜在宕机时间的邮件,但如果出现任何问题——冻结工作流程,并调用Pager值班进行通知。
- 持续部署——与Jenkins一起构建和测试,提供一个新的AWS集群,使用负载平衡器打开一些流量,并根据NewRelic应用的性能数据进行前滚或回滚。
StackSorm下载地址:https://stackstorm.com/
No.7 Lazlo
其原型是IRCBOT响应文本,一般来说,会提供一个规则表达式进行匹配,用户在对话框中符合规则表达式时,即可运行插件。
Lazlo:下载地址:https://github.com/djosephsen/lazlo
协作应用
讲完ChatOps后,再来介绍一下团队协作应用,G Roupware即协作应用,其可以帮助用户完成日常任务,比如日程安排、通信录、电子邮件、论坛、邮件列表、即时通信工具、维基百科等等,协作应用可以为团队创建一个协作的工作环境,同时也能保证隐私和安全,本文将分享5种协作应用。
No.1 Citadel
Citadel是一个免费和开源的协作套件应用,支持如SMTP、IMAP、筛选、POP3、GroupDAV和XMPP等协议。还包括OpenSSL加密,从而获得额外安全保证,用户可以在云端进行操作,功能包括:电子邮件、日历/调度、通信录、公告板(论坛)、邮件列表服务器、即时消息、Wiki和博客引擎、多个域支持、强大的Web界面、RSS聚合等等。
- 语言:C
- 操作系统:BSD、Linux、Unix
- 类型:电子邮件和协作
- 授权:GPLv3
- 下载地址:www.citadel.org
No.2 Horde
Horde是基于PHP和Horde框架构建高质量的开源应用,Horde套件的Webmail版本是免费的企业级基于浏览器通信工具,用户可以阅读、发送和组织电子邮件信息,管理和共享日历、联系人、任务、笔记、文件和书签。
- 语言:PHP
- 操作系统:BSD、Linux、Unix
- 类型:套件
- 授权:GPLv2
- 下载地址 : horde.org
No.3 Cozy Cloud
Cozy Cloud是一个开源的个人私有云,可以用于阅读电子邮件,或者管理和同步联系人、文件或日历,同时会有相关的应用商店和社区作为素材库,它可以将所有Web服务都放在同一个私有的个人平台,通过此平台,用户的网页应用和设备可以轻松地进行数据分享。
- 语言: Go
- 操作系统: Linux/Unix
- 类型: Groupware
- 授权: Agpl 3
- 下载地址:https://github.com/cozy/cozy-stack
No.4 Egroupware
Egroupware是一个免费的开源应用,以PHP编写基于WEB的群件服务器,功能有:日历、地址簿、记事本、项目管理工具、客户关系管理工具(CRM)、知识管理工具、Wiki和CMS。
- 语言:PHP
- 操作系统:Linux、Unix、BSD
- 类型: 套件
- 授权:Agpl 3
- 下载地址:https://github.com/EGroupware/egroupware
No.5 Zimbra Collaboration
- 语言:Java
- 操作系统:Linux、Unix
- 类型: 协作套件
- 授权:GPLv2(后端)和公共的公共属性许可版本1(前端)。
- 下载地址:zimbra.com
总结
不管是ChatOps,还是团队协作应用,都可以帮助团队更快速地完成相关工作任务,善用工具和引用新概念可以节省大量的人力和资金成本,永远拥抱创新才能不断进步。
原文作者:nixCraft
原文链接:http://www.tuicool.com/articles/mE32IvF