サーバーのアラートにBotkitを使う
CloudGarage Advent Calendar 2017 11日目です。
はじめに
CloudGarageにはモニタリング機能ないなぁ〜っと思ったので、Botkitを導入し有事の際はSlackに流してもらおうっという内容です。
今回はディスク容量のチェックを行います。
※個人的にawkコマンドの復習を兼ねてます。
やってることはシェルで監視して条件に引っかかった時にslackに飛ばしているだけです。
サーバー設定
- Ubuntu-16.04-64bit
- ポート:全開放
面倒なので、ひとまずポートは全開放。
下ごしらえ
apt-get update apt-get upgrade
とりあえず更新。
SlackへBotユーザーの追加
チーム名を置き換えて以下のURLへアクセス
https://<チーム名>.slack.com/apps
検索エリアにBots
っと入力しBotsの設定へ移動
Node.js、npmのインストール
デフォルトのバージョンが古いので新しいバージョンの取得
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
nodeのインストール
apt-get install -y nodejs
npmのインストール
apt-get install -y npm
npmの更新
npm update -g npm
Botkitのインストール
インストール用に適当なディレクトリを作成して移動
mkdir ~/slackbot;cd $_
インストール
npm init -y npm install botkit --save
プログラム設置
ボットのプログラム(index.js)を設置 下記に本題のプログラムを紹介
起動
token=<slackのAPIトークン> node index.js
ディスク容量の通知
監視用にcronのnpmをインストール
npm install --save botkit cron
以下のプロウラムを先程のindex.js
として保存し実行
プログラム内容
5分ごとにディスクの容量を確認し、使用率80%を超えている際にbot-test
チャンネルへ通知を行います。
かんたんに動作テスト。
こんな感じで80%を超えると動作するたびにマッスルマッスル言い出します。
クーロンでシェルスクリプトを回しているだけですので、コピペしていただければ色んなパターンをそのまま増やせると思います。
まとめ
Botkitを使うと、結構かんたんにボットが作れる(小並感)
以前はHubotも使ってみたが、個人的にはBotkitの方に一票を入れたい。
また自動起動とかの設定はしていないので、本格的に監視を行う際にはforeverあたりで設定を作ってあげると、もっと幸せになれます。
以上で11日目の記事とさせていただきます。
お次は、@FITNCCさんです。よろしくお願いします!
P.S.
長いコード貼り付ける際にはGitHubのGist便利ですね(笑)