CentOS7中使用Hubot和Slack部署運維機器人

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

執(zhí)行:

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

現(xiàn)在你可以在slack的客戶端和小機器人對話了,可嘗試輸入命令:

time

myhubot pug me

myhubot pug me



讓hubot執(zhí)行shell腳本

要讓機器人執(zhí)行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文件內(nèi)容

接下來,

cd bash/handlers

這里面的helloworld就是個例子,沒什么用,可以刪掉:

rm -f helloworld

把update改造成如下這樣的:

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

OK,現(xiàn)在重啟一下小機器人,在slack端輸入:

myhubot shellcmd update

myhubot shellcmd update

常用腳本使用操作示例

檢查當前CPU使用情況

在bash/handlers文件夾下新建一個文件,名字就叫比如說cpu,內(nèi)容如下:

#!/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里執(zhí)行:

myhubot shellcmd cpu

myhubot shellcmd cpu

這樣就能知道你的服務器當前cpu使用率了,再也不用去服務器端執(zhí)行top命令,也不用安裝任何系統(tǒng)監(jiān)控軟件,然后打開瀏覽器看結果。是不是很方便呢?當然類似這樣的腳本你還可以寫很多,就不一一列舉了。








---

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 簡介 ?創(chuàng)業(yè)公司里最刻苦的員工 這是Hubot,由Github開發(fā)、開源的聊天機器人,灣區(qū)很多創(chuàng)業(yè)公司也陸續(xù)用Hu...
    alucardzhou閱讀 6,038評論 0 6
  • 說明本次redis集群安裝在rhel6.8 64位機器上,redis版本為3.2.8,redis的gem文件版本為...
    讀或寫閱讀 15,683評論 3 9
  • 描述 npm從以下來源獲取配置值,按優(yōu)先級排序: 命令行標記 在命令行上放置--foo bar設置foo配置參數(shù)為...
    竹天亮閱讀 44,522評論 0 8
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,370評論 2 36
  • 感賞我有個好單位,自由時間接送兒子,下午帶兒子到單位上班。 感賞朋友王紅中午請我吃飯,雖然沒去,但是還是謝謝你的情...
    愛人如己FJ閱讀 170評論 0 1

友情鏈接更多精彩內(nèi)容