ようやく本編?です。

今回は最も基本的なグリーンの部分を解説?します。
このBLOGはざっくりとした流れの説明なので、実際に実装する場合は他のBLOGを
参照してくださいw。

11513_1
cloudpackでは

でも記載されていますが、Slackを使っています。
なので、Slackがコミュニケーションの中心となりますので、MSPの
業務でもSlackがメインとなります。
Slackが便利な所は(他のチャットツールでもありますが)、botやwebhookの
他システムとの連携が秀逸なところです。

で、どこの勉強会でもSlack=bot=hubotな流れがずっとあるので、
MSPの業務にHubotを比企のほうで導入してみようと思いました。

ただ、どんな小さな内容を導入するのでも

①24時間/365日稼働する必要がある
②開発ではないので業務の合間の時間のみで実装やデバッグと導入
③顔をなかなか合わせない(スケジュールのローテーションの都合)メンバーにも使ってもらえるように配慮した仕組み

する必要があり、

①に関しては、バグを出さずに重い実装もしない
②に関しては、自分でがんばる&手軽に出来る実装方法を選ぶ
③に関しては、自然と使ってもらえる機能を用意して、必ず使う方向に持って行く

が必要な要件で、
とりあえず手始めとして
日次業務で時間になったらHubotがSlack上につぶやいて完了した事を報告しないと
Slack上に一定間隔で忘れていないか?をしつこくつぶやき続けるHubotのサービスを
作りました。

Hubotのインストールの仕方は残念ながら自身がやりだしたのがVer1の方で
今展開しても意味がないのでVer2のほうでのインストールの仕方
Hubot のインストール – Qiita
などを参考にしてください。

Hubotをインストールすると結構な頻度でHEROKUが現れますが
今回はAWSのEC2(CentOS)上にインストールをしました。
Hubotをインストールするだけでは駄目なので

cd 作ったプロジェクトのディレクトリ
npm install hubot-slack --save

で、slackのアダプターをインストールしてあげる必要があります。
上記だけでは駄目でSlackの画面左上にある、Slackのグループ名の

11513_2をクリックし

11513_3をクリックし

11513_4タグの

11513_5のAddをクリックし

11513_6botの名前をつけて
表示されているAPI Tokenを保持し
Customize Icon/First & Last Name/What this bot does
な項目はわかりやすいのをセットし
Save IntegrationするとSlack側のHubotの設定は完了です。
※SlackはHubotからの通信が長期間ないと
勝手にDisableしてくれるNice(涙)な仕様なので、
繋がらない場合は、そこの設定も見ておいてください

あとはHubot側のEC2の環境変数に

export HUBOT_SLACK_TOKEN=控えておいたトークン
export HUBOT_SLACK_TEAM=チーム名
export HUBOT_SLACK_BOTNAME=botの名前

をセットして、

./bin/hubot --adapter slack

で起動させてエラーが出なければ、最初は#generalで反応するようになります。
※Ver2は試していませんが、各チャンネルでhubotを招くと反応するようになるようです。
※Ver1の時は

export HUBOT_SLACK_CHANNELMODE=whitelist
export HUBOT_SLACK_CHANNELS=チャンネル名

のような感じで記載する必要がありました。

ここでとりあえずHubotのインストールは終わりですが、
これまでの設定とAWSのEC2のセキュリティグループのポートがOPENしていたら
ハマる事は無いと思われます。
しっかりと設定を確認し、時間切れでのDisableになっていない事も確認してください。

なお、hubot(node.js)は、例外が発生するとサービスが継続できなくなりますので

sudo npm install forever -g

で、foreverをインストールし

forever start -c coffee node_modules/.bin/hubot -a slack

で起動させHubotを永続させてください。

なお、停止は

forever list

でプロセスIDを確認し(1つだけだと基本0です)

forever stop プロセスID(基本は0)

で、停止させてください。
プログラムを更新する時も再起動の必要があるのでご注意を

とりあえず今回はここまで

元記事はこちらです。
【cloudpack 大阪 BLOG】MSPのシステム化について(不定期連載) まずはHubotのインストールとslack連携まで