美文网首页
CentOS7中使用Hubot和Slack部署运维机器人

CentOS7中使用Hubot和Slack部署运维机器人

作者: 向前ing_ | 来源:发表于2019-06-17 15:53 被阅读0次

    hubot安装

     安装npm

    yum install -y npm 

    要运行自己的Hubot,需要通过生成器生成,首先安装generator-hubot

    npm install -g yo generator-hubot 

    生成自己的hubot

    mkdir myhubot

    cd myhubot

    yo hubot 

    如果是用root安装的话,这个时候可能会遇到很多权限上的错误,主要原因是它需要对于组有读写权限,所以:

    chmod -R 777 /root/.config

    chmod -R 777 /root/.npm/_locks

    chmod -R 777 /root/.npm/_cacache 

    简单起见,这里打开了所有权限。

    重新 yo hubot

    安装完成配置hubot

    安装过程中会问你安装什么样的adapter,手工输入slack。

    缺省安装的hubot,会带上heroku和redis,如果用不到的话,可以卸载掉:

    npm uninstall hubot-heroku-keepalive --save

    在hubot目录下的external-scripts.json文件中把有关heroku和redis的两行删掉就行了,否则老是会报几个警告。

    然后,再把hubot-scripts.json删掉,目前我们暂时还用不到它:

    rm -f hubot-scripts.json

    OK,开始使用吧

    ./bin/hubot

    执行:

    myhubot help

    myhubot ping

    myhubot help


    myhubot ping

    连接hubot与slack

    在slack上安装好hubot的插件,它会自动生成一个token,把这个token记下来

    token

    在hubot目录下输入:

    HUBOT_SLACK_TOKEN=你的token ./bin/hubot --adapter slack

    如果没有报错的话,就可以看到Apps下面有我们建立的myhubot,这时候hubot就启动起来,等待接收命令了。但是由于hubot缺省加入的是slack的#general频道,如果你改掉了频道名字,或者删掉了这个频道的话,你需要重新邀请小机器人进入一个新的频道,否则没法对话。

    time

    现在你可以在slack的客户端和小机器人对话了,可尝试输入命令:

    time

    myhubot pug me

    myhubot pug me

    让hubot执行shell脚本

    要让机器人执行shell脚本,我们需要安装:

    npm install hubot-script-shellcmd

    cp -R node_modules/hubot-script-shellcmd/bash ./ 

    修改一下external-scripts.json,添加上以下模块:hubot-script-shellcmd。到此为止,你的external-scripts.json应该长的像这个样子:

    external-scripts.json文件内容

    接下来,

    cd bash/handlers

    这里面的helloworld就是个例子,没什么用,可以删掉:

    rm -f helloworld

    把update改造成如下这样的:

    #!/bin/bashcd /your/pathgit pullecho "successfully updated!"exit 0

    OK,现在重启一下小机器人,在slack端输入:

    myhubot shellcmd update

    myhubot shellcmd update

    常用脚本使用操作示例

    检查当前CPU使用情况

    在bash/handlers文件夹下新建一个文件,名字就叫比如说cpu,内容如下:

    #!/bin/bash

    top -b -n2 -p 1 | fgrep "Cpu(s)" | tail -1 | awk -F'id,' -v prefix="$prefix" '{ split($1, vs, ","); v=vs[length(vs)]; sub("%", "", v); printf "%s%.1f%%\n", prefix, 100 - v }'

    exit 0

    然后,你每次只需要在slack里执行:

    myhubot shellcmd cpu

    myhubot shellcmd cpu

    这样就能知道你的服务器当前cpu使用率了,再也不用去服务器端执行top命令,也不用安装任何系统监控软件,然后打开浏览器看结果。是不是很方便呢?当然类似这样的脚本你还可以写很多,就不一一列举了。

    ---

    相关文章

      网友评论

          本文标题:CentOS7中使用Hubot和Slack部署运维机器人

          本文链接:https://www.haomeiwen.com/subject/gesofctx.html