SakuraCloud Exporter v0.6.0がリリースされました🎉

kameneko
penguin-lab
Published in
4 min readJul 25, 2019

こんにちは!かめねこです!
つい先程、「SakuraCloud Exporter」の新しいバージョンがリリースされたのでご紹介します!

どうしたのか

本日、07月25日にPrometheusでさくらのクラウドの各コンポーネントを監視するための、SakuraCloud Exporterのv0.6.0がリリースされました!

今回は次の2つのアップデートが行われました。

  • [GH-16] Don’t collect mobile-gateway’s metrics when availability=failed (@yamamoto-febc)
  • [GH-17] Add maintenance info metrics at server (@yamamoto-febc)

この内、特に関心が強いのが2つ目になります。これにより、さくらのクラウドのメンテナンス情報をPrometheusで取得することができるようになりました。

詳しく

さくらのクラウドのホストメンテナンスでは、ホスト上で稼働している仮想サーバを別のホストに移動させる必要があるため、再起動をしなければなりません。

ユーザの手によって再起動が行われれば問題ないのですが、このメンテナンス情報を逃していた場合などは自動で再起動が行われます。

この自動再起動には2段階あり、まずは対象のサーバに対する「ACPI シャットダウンリクエスト」がサーバに送信されます。これは、コントロールパネルよりシャットダウンを行うのと同様です。更にその後、ACPIシャットダウンでシャットダウンが行われなかった場合は強制的に電源が落とされます。これは予期しないシャットダウンであるため、通常の運用では避けたいところです。

特に、パブリックアーカイブとして利用可能なUbuntuなどはいいのですが、自分でVyosなどを構築していた場合は、ACPIシャットダウンリクエストを受けることができず、直接人の手によってシャットダウンを行う必要があるサーバもあります。こういった環境では、メンテナンス情報は定期的にチェックしておく必要がありました。

しかし、今回のアップデートにより、サーバごとにメンテナンス対象かどうか取得することができるようになりました。

「sakuracloud_server_maintenance_scheduled」というメトリクスがあり、これを参照すると、さくらのクラウドの対象のアカウントの管理下で稼働している全てのサーバがメンテナンスの対象かどうか取得してきます。

このメトリクスのValueは通常「0」ですが、メンテナンス対象である場合は「1」となります(多分)。ですので、これをもとにAlertRuleを作成することで、例えばSlackなどで対象のノードのメンテナンス情報をピンポイントで取得することができます。

最後に

また、ちょうどまさに本日このような機能があれば良いねと、チームメンバーと話しており、そのままIssueを立てたのですが、そこからなんと数時間で実装が行われました。(実はもともと実装していた可能性もありますが…

非常に迅速に対応してくれた、「@yamamoto-febc」に大変感謝です。ぜひ、今回リリースされたSakuraCloud Exporter v0.6.0をみなさんも使ってみてください!

--

--

kameneko
penguin-lab

PrometheusとかKubernetesとか物理、配信とかが好きなしがないエンジニアです。さくらインターネットという会社であれこれしています。ペンギンがとても、とても好き。