[DigitalOcean] Dropletの資源不足などの通知をSlackで行う
[移行につき画像が消失されました。念の為ドキュメントは残しておきます]
この記事では、DigitalOceanで起動中のDropletの資源(メモリ、CPUなど)が一定値以上になってる場合、SlackBotを通して特定のチャンネルに通知する方法を紹介します。この作業によって、ブログなどが停止したなどの状況を早く把握することができます。
まず、DigitalOceanにアクセスし、プロジェクト画面に入ります。右上のCreateボタンを押し、Resource Alerts を押してください。 このような画面が現れます。
ここで、以下の設定をしてください。
- メトリクスを選択します。
CPU: ドロップレットで使用されている合計 CPU の 100% のうちの割合
帯域幅 — 受信: ドロップレットへの受信トラフィックの量 (MBps 単位)
帯域幅 — 送信: ドロップレットからの送信トラフィックの量 (MBps 単位)
ディスク - 読み取り: ドロップレットのディスクの読み取りアクティビティ (MB/秒)
ディスク - 書き込み: ドロップレットのディスクの書き込みアクティビティ (MB/秒)
メモリ使用率: 100% のうち、使用されている合計メモリの割合
ディスク使用率: 100% のうち、使用されているルート ディスク ストレージの割合
選択したメトリックに応じて、使用量のしきい値自体を、使用されている合計利用可能容量の割合または使用率として指定します。
- アラート間隔を選択します。これは、ドロップレットがしきい値を超えるまでに通知がトリガーされるまでの時間です。
次に、通知の方法を変更します。今回はSlackを通して通知するのでSlackを設定します。私は事前にblogというチャンネルに連携しておいたので表示されていますが、何もなかったら連携ボタンが表示されるはずです。そのボタンを押しましょう。 ここで、ワークスペースとチャンネルを設定します。
追加を行ったら、そのチャンネルにDigitalOceanのbotが追加され、設定した通知を送ってくれます。 DigitalOceanのマイページのところにMonitoringのメニューを押すと現在の通知設定を確認、修正することができます。 以上の設定で、ブログなどが急なアクセス集中によるシャットダウンや遅延などの通知を早く受け取り、すぐ対応できるようになります。