Twitterのつぶやきを監視して、SaaSの障害を検知する。
SaaS検知用としてますが、エゴサ用にも使えるかも。
このリポジトリについて記載している記事は こちら
- Googleアカウント(G Suiteはもちろん、無料アカウントでもOK)
- Twitterアカウント
- Slackアカウント(無料アカウントでもOK)
下記のようにして、SaaSの障害を検知する。
- スプレッドシートに障害検知したい「SaaS名」と「障害とみなすつぶやきのキーワード」を記載。
- 例:
- SaaS名: ○△SaaS
- 障害キーワード : 落ちた
- 例:
- Google Apps Scriptで上記1の文言をTwitter APIを利用してTwitterから検索する処理を定期実行する。
- このスクリプトの内容では15分間隔で実行させてます。
- 障害に該当するメッセージのつぶやき数が多い場合、Slackに通知。
- 短時間に数件の障害つぶやきがあれば、障害とみなしてSlackに通知するようにしています。理由は下記の通りです。
- 1-2件のつぶやきでは誤報の可能性が高いため。
- 短時間に数件の障害つぶやきがあれば、障害とみなしてSlackに通知するようにしています。理由は下記の通りです。
- Twitter APIの準備
- 下記手順などを参考に、Twitterの「API Key」と「API key secret」を取得。
- Slackチャンネル 及び そのチャンネルに対してのIncoming Webhook URLの準備
- このリポジトリにある「SAMPLE.xlsx」をGoogleDriveにアップロード。
- ※ファイル名はアップロード時に任意に変更頂いてOK。
- 1のファイルをスプレッドシート形式に変換。
- スプレッドシートのスクリプトエディタを開く。
- スクリプトエディタに「sample_gas.gs」の内容をコピペ。
- 2-5行目に事前準備で取得したキー情報を記載。
- 2行目: 変数「slackWebhookUrl」にSlackのIncoming WebhookのURLを記載。
- 4行目: 変数「twitter_api_key」にTwitterのAPI Keyを記載。
- 5行目: 変数「twitter_api_key_secret」にTwitterのAPI Key secretを記載。
- 15分おきにGASが実行されるようにトリガーを設定する。
下記内容をスプレッドシートのそれぞれのシートに記載すれば監視が始まります。
- 「SaaSリスト」シート
- A列: 監視したいSaaS名
- B列: Twitterに15分間の間に何件つぶやかれたらSlack通知するか、しきい値を記載。
- 「検知文言」シート
- A列: SaaSリストに記載された製品名と一緒に「何がつぶやかれたら」検知するかを記載。
- 例: 障害、落ちた、等
- 例: SaaSリストに「gmail」、検知文言に「落ちた」とした場合、「gmailが落ちたー」といったつぶやきを検知するようになります。
- A列: SaaSリストに記載された製品名と一緒に「何がつぶやかれたら」検知するかを記載。
- 「無視文言」シート
- A列: つぶやきのうち無視する文言を記載。
- 例: 「連番」を記載した場合、「gmailで限定Boxの発送通知が来ない。当選落ちたか...」といったつぶやきを無視します。
- 「SaaSリスト」シートにA列に「テスト」、B列に「1」と記載。
- 「検知文言」シートに「障害」と記載。
- Twitterで「障害テスト」とつぶやく
- 15分後にSlackに通知がくることを確認。