CentOS7中使用Hubot和Slack部署運(yùn)維機(jī)器人

hubot安裝

?安裝npm

yum install -y npm?

要運(yùn)行自己的Hubot进陡,需要通過生成器生成,首先安裝generator-hubot

npm install -g yo generator-hubot?

生成自己的hubot

mkdir myhubot

cd myhubot

yo hubot?

如果是用root安裝的話坠陈,這個(gè)時(shí)候可能會(huì)遇到很多權(quán)限上的錯(cuò)誤梁厉,主要原因是它需要對(duì)于組有讀寫權(quán)限,所以:

chmod -R 777 /root/.config

chmod -R 777 /root/.npm/_locks

chmod -R 777 /root/.npm/_cacache?

簡(jiǎn)單起見刽射,這里打開了所有權(quán)限听隐。

重新 yo hubot

安裝完成配置hubot

安裝過程中會(huì)問你安裝什么樣的adapter补鼻,手工輸入slack。

缺省安裝的hubot雅任,會(huì)帶上heroku和redis辽幌,如果用不到的話,可以卸載掉:

npm uninstall hubot-heroku-keepalive --save

在hubot目錄下的external-scripts.json文件中把有關(guān)heroku和redis的兩行刪掉就行了椿访,否則老是會(huì)報(bào)幾個(gè)警告乌企。

然后,再把hubot-scripts.json刪掉成玫,目前我們暫時(shí)還用不到它:

rm -f hubot-scripts.json

OK加酵,開始使用吧

./bin/hubot

執(zhí)行:

myhubot help

myhubot ping

myhubot help


myhubot ping



連接hubot與slack

在slack上安裝好hubot的插件,它會(huì)自動(dòng)生成一個(gè)token哭当,把這個(gè)token記下來

token

在hubot目錄下輸入:

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

如果沒有報(bào)錯(cuò)的話猪腕,就可以看到Apps下面有我們建立的myhubot,這時(shí)候hubot就啟動(dòng)起來钦勘,等待接收命令了陋葡。但是由于hubot缺省加入的是slack的#general頻道,如果你改掉了頻道名字彻采,或者刪掉了這個(gè)頻道的話腐缤,你需要重新邀請(qǐng)小機(jī)器人進(jìn)入一個(gè)新的頻道,否則沒法對(duì)話肛响。

time

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

time

myhubot pug me

myhubot pug me



讓hubot執(zhí)行shell腳本

要讓機(jī)器人執(zhí)行shell腳本,我們需要安裝:

npm install hubot-script-shellcmd

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

修改一下external-scripts.json特笋,添加上以下模塊:hubot-script-shellcmd剃浇。到此為止,你的external-scripts.json應(yīng)該長(zhǎng)的像這個(gè)樣子:

external-scripts.json文件內(nèi)容

接下來,

cd bash/handlers

這里面的helloworld就是個(gè)例子虎囚,沒什么用角塑,可以刪掉:

rm -f helloworld

把update改造成如下這樣的:

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

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

myhubot shellcmd update

myhubot shellcmd update

常用腳本使用操作示例

檢查當(dāng)前CPU使用情況

在bash/handlers文件夾下新建一個(gè)文件圃伶,名字就叫比如說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

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








---

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末洛退,一起剝皮案震驚了整個(gè)濱河市瓣俯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌兵怯,老刑警劉巖彩匕,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異媒区,居然都是意外死亡驼仪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門袜漩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绪爸,“玉大人,你說我怎么就攤上這事宙攻〉旎酰” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵座掘,是天一觀的道長(zhǎng)递惋。 經(jīng)常有香客問我,道長(zhǎng)溢陪,這世上最難降的妖魔是什么丹墨? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮嬉愧,結(jié)果婚禮上贩挣,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好王财,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布卵迂。 她就那樣靜靜地躺著,像睡著了一般绒净。 火紅的嫁衣襯著肌膚如雪见咒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天挂疆,我揣著相機(jī)與錄音改览,去河邊找鬼。 笑死缤言,一個(gè)胖子當(dāng)著我的面吹牛宝当,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胆萧,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼庆揩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了跌穗?” 一聲冷哼從身側(cè)響起订晌,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蚌吸,沒想到半個(gè)月后锈拨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡羹唠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年推励,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肉迫。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡验辞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出喊衫,到底是詐尸還是另有隱情跌造,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布族购,位于F島的核電站壳贪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寝杖。R本人自食惡果不足惜违施,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瑟幕。 院中可真熱鬧磕蒲,春花似錦留潦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至站削,卻和暖如春坊萝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背许起。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工十偶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人园细。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓惦积,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親珊肃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荣刑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 ?創(chuàng)業(yè)公司里最刻苦的員工 這是Hubot馅笙,由Github開發(fā)伦乔、開源的聊天機(jī)器人,灣區(qū)很多創(chuàng)業(yè)公司也陸續(xù)用Hu...
    alucardzhou閱讀 5,900評(píng)論 0 6
  • 說明本次redis集群安裝在rhel6.8 64位機(jī)器上董习,redis版本為3.2.8烈和,redis的gem文件版本為...
    讀或?qū)?/span>閱讀 14,734評(píng)論 3 9
  • 描述 npm從以下來源獲取配置值,按優(yōu)先級(jí)排序: 命令行標(biāo)記 在命令行上放置--foo bar設(shè)置foo配置參數(shù)為...
    竹天亮閱讀 44,146評(píng)論 0 8
  • 什么是 NPM npm之于Node皿淋,就像pip之于Python,gem之于Ruby,composer之于PHP招刹。 ...
    ihoey閱讀 6,250評(píng)論 2 36
  • 感賞我有個(gè)好單位,自由時(shí)間接送兒子窝趣,下午帶兒子到單位上班疯暑。 感賞朋友王紅中午請(qǐng)我吃飯,雖然沒去哑舒,但是還是謝謝你的情...
    愛人如己FJ閱讀 135評(píng)論 0 1