Halloween!!

今年はコロナで仮装することができません!というわけでブログお久しぶりなのですが!

DigitalOceanで毎月の請求はメールで確認するのですが、実はDigitalOceanにはAPIが豊富でして、dropletの操作だけでなく、リソースの一覧など確認できたり、様々な用途によってカスタマイズ可能となります。今回はメールで請求書を確認するだけではなくて、シェルスクリプトSlackに通知させるように作ってみました。まずはコンソールからAPI tokenを作りましょう。


■Make API

  • Applications & API


■List Billing History

https://developers.digitalocean.com/documentation/v2/#billing-history

  • sample

サンプルが既に書いてあるのでこれを元にシェルスクリプトを作ってみます。

  • run

curlで叩くとこんな感じでJSONで値が返ってきます。必要なのは dateamount でよろしいでしょうね。あとは軽くjqコマンドで加工して、SlackIncoming Webhookを新規で作成しましょう。


■billing.sh

  • cron

  • Run!!

とりあえず個人サーバーのcronでシェルを叩くようにしてみました。上記のようにSlackに通知来ればOK!(見た目ダサいけども気にしない)


■まとめ

これで素早くコスト確認できるようになった!他にもAPI叩いて検証してみます!CircleCIのスケジュール機能でも良かったけどbashだしいいかな.. →移行した。

[CircleCI][Trigger]ジョブのスケジューリングをcronで定期実行する

※Goに移行しました!

[DigitalOcean]3年前に作った毎月の請求Slack通知をシェルスクリプトからGoに移行してみた


adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のインフラコンサルティングを行うほか、TechBullで未経験者にSREのコーチング、コミュニティ運営、Members 会員管理システムの開発をリードしている。過去には脆弱性スキャナVulsのOSS活動にも貢献。

0件のコメント

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.