Hubot + Rocket.Chat 运维机器人搭建

好久没写博文了,我已经快忘了hexo是怎么使用的,最近有在测试Hubot + Rocket.Chat的搭建,记录下:

Rocket.Chat 安装

这里我尝试按官方文档安装过Docker镜像,不知为何在WEB界面创建管理界面时一直失败,后面只能改成本地安装。

安装完全按照官方文档(https://docs.rocket.chat/installation/manual-installation/centos/)

再写也只是复制一次,就不复制了,可以看文档(一定要看文档安装,Rocket.Chat 3.7版本跟3.8版本要求的node版本就不一样,版本不同有些模块可能会报错)。

安装后进入ip:3000进入WEB界面,进行管理员创建。

Hubot机器人 安装

这方面也有官方文档(https://docs.rocket.chat/guides/bots/create-and-run-a-bot/hubot-bot)
需要注意的是,安装时需要使用普通用户安装,默认不允许root运行hubot。

安装

1
2
3
$ git clone https://github.com/RocketChat/hubot-rocketchat-boilerplate
$ cd hubot-rocketchat-boilerplate
$ npm install

在Rocket.Chat上添加一名机器人用户,比如我这里添加的机器人叫cat。
添加系统变量,把系统变量写入.env:

1
2
3
4
5
6
export ROCKETCHAT_USER=cat
export ROCKETCHAT_PASSWORD=123456
export ROCKETCHAT_ROOM=general
export ROCKETCHAT_USESSL=true
export ROCKETCHAT_URL=http://localhost:3000
export ROCKETCHAT_AUTH=password

启动:

1
2
source .env
bin/hubot

如果启动时没报错,且在WEB界面上看到机器人用户在线,就成功了。

测试

在默认群组里,我们可以使用scripts/example.js里的例子
hubot2

在Rocket.Chat Web界面上输入cat what time is it,机器人会输出当前时间。
hubot1

Rocket.Chat 3.8版本相关SDK有变化,reactToMessages的message参数由Object类型变为Array类型,所以测试时服务端报错TypeError: Cannot read property '_id' of undefined,请按 (https://github.com/RocketChat/Rocket.Chat.js.SDK/issues/122) 链接里说的处理。

手机客户端

Rocket.Chat有官方的手机客户端,比如苹果可以在AppStroe里搜索并下载Rocket.Chat

但是手机客户端有使用限制:
1、服务器域名需要使用https;
2、服务器域名需要先在官方注册才能使用;

先到官方注册一个帐号,并在该帐号下注册你的工作区(域名)。
hubot4

社区版的有10000条推送额度,推送额度不是发送消息额度,如果只是使用机器人的话,一般很少用到,所以这方面偶尔看下就行。

注册完成后界面如下,这时用手机客户端连接上服务器域名即可:
hubot3

手机上查看zabbix图像界面:
hubot5


- - END - -


腾讯云
0%