Hubot 运维机器人初探

如今运维人员都在强调自动化,降低运维成本。尽管现在搭建一套运维自动化体系架构并不难,然后有些工作还是必须需要运维手动工作,比如上线动作(上线的过程自动化,但是操作点由谁来操作,比如jenkins上谁去点击构建),或者偶尔有开发或测试会在直接找你手动更改数据操作,这些暂时都必须人为手动操作。次数多了,难免会想这些怎么去实现自动化,无需人为干预!知道有次在钉钉群有人添加生活机器人,互动回复天气情况。当时我在想后面的逻辑肯定是,当机器人收到指定后,自动调第三方接口,将数据返回。如果这个接口是我自己编写,实现自己的功能,不就可以将一些手动任务直接让机器人去执行了!换句话说,下次开发有条sql要执行,别@我,直接@机器人,然后机器人直接将sql执行,然后返回给对应的开发就完美了!还别说,真有人在做这样的事情,那就是Hubot。一些相关细节早就有人发过博客,我就不啰嗦了,请自动百度!以下是我尝试使用机器人,去模拟实现我目前工作中的一些简单任务。
一,安装nodejs,过程略

[bot@k8s-node1 scripts]$ node -v
v8.11.2
[bot@k8s-node1 scripts]$
[bot@k8s-node1 scripts]$ npm -version
6.4.1
[bot@k8s-node1 scripts]$

二,安装redis
hubot一些底层数据会默认存储在本机localhost:6379中,测试功能中,一切随简

[bot@k8s-node1 scripts]$ ps -ef | grep redis
redis    109616      1  0 Oct16 ?        00:04:22 /usr/bin/redis-server 127.0.0.1:6379
bot      111413  89457  0 15:39 pts/0    00:00:00 grep --color=auto redis

三,安装hubot,过程比较简单

npm install –y generator-hubot yo
mkdir myhubot && cd myhubot
yo hubot 

正常启动如下图

 

Hubot 运维机器人初探_第1张图片

image.png

 

如果能看到上图说明hubot部署成功
当前文件下的文件如下

drwxrwxr-x.   2 bot bot    36 Oct 17 15:47 bin
-rw-rw-r--.   1 bot bot   288 Oct 17 16:30 external-scripts.json
-rw-rw-r--.   1 bot bot     0 Oct 18 14:12 hubot.log
-rw-rw-r--.   1 bot bot     2 Jul 19 17:51 hubot-scripts.json
drwxrwxr-x. 102 bot bot  4096 Oct 17 15:49 node_modules
-rw-------.   1 bot bot  6703 Oct 18 15:52 nohup.out
-rw-r--r--.   1 bot bot   694 Oct 17 13:14 package.json
-rw-rw-r--.   1 bot bot 28437 Oct 17 15:49 package-lock.json
-rw-r--r--.   1 bot bot    27 Jul 19 17:51 Procfile
-rw-r--r--.   1 bot bot  7856 Jul 19 17:51 README.md
drwxrwxr-x.   2 bot bot    85 Oct 18 13:25 scripts
-rw-rw-r--.   1 bot bot   401 Oct 16 17:26 touser.coffee

node_modules 目录是存放npm install packagename 第三方包的存放目录
external-scripts.json 将安装玩的第三方包要添加到此配置文件
scripts 文件夹用户存放用户自定义的,机器人能“读懂”的指令,具体使用情况请查看github地址:https://github.com/hubotio/hubot/blob/master/docs/scripting.md
启动:

[bot@k8s-node1 scripts]$ nohup ./bin/hubot -a bearychat 2&1> hubot.log

四,与聊天机器人结合
既然hubot作为聊天机器人,那么肯定要结合聊天工具,才能真正的实际意义。可惜的是国内办公聊天工具如钉钉,微信(如果算的话)官方暂未支持hubot机器人。所以只能用替代工具测试hubot功能,https://bearychat.com/,倍洽相当于国内的slack,官方支持hubot机器人,免费。
在页面直接添加机器人



作者:苏州运维开发
链接:https://www.jianshu.com/p/a3dc6b74af7a

你可能感兴趣的:(运维)