Azure マネージド データベースでストレージサイズ自動拡張を検知する
AzureではAzure SQL、Azure Cosmos DB、Azure Database for MySQL等のマネージドデータベースサービスが提供されています。
CPUやメモリ等のリソースを必要な要件に応じて選択利用する事が出来ます。
選択できるリソースの1つのストレージサイズがあります。
ストレージサイズはデータベースのディスク容量になり、自動拡張させる事が出来ます。
ストレージサイズはコストにも影響するので、自動拡張した事を検知したい事もあるかと思います。
今回はAzure Database for MySQL(フレキシブルサーバ)を例にストレージサイズが自動拡張をしたことをAzure Monitorを使って検知するようにしてみました。
ストレージサイズの自動拡張をAzure Monitorで検知する方法を考えてみる
ストレージサイズに関連するメトリック
Azure Database for MySQL(フレキシブルサーバ)の場合、ストレージサイズに関してAzure Monitorに存在するメトリックはこちらの通りでした。
この中ではStorage Limitが使えそうです。
Storage Limitがストレージサイズ容量のメトリック
Storage Limitはストレージ容量のメトリックになります。
ですがAzure Monitorの設定を見ている一定容量を超えた場合にアラートを上げる事は出来そうですが、自動拡張を検知する事は出来なさそうです。
※しきい値をストレージサイズに設定する事でも自動拡張を検知する事が可能です。ただその場合はストレージサイズが固定になってしまいます。今回はストレージサイズ関わらず設定出来る方法を試してみます。
動的しきい値を使う事で自動拡張を検知できそう
しきい値に動的と言う項目があります。動的しきい値は異常値を検知する為に使われます。
動的しきい値を使うと一定だった値が変動する事を異常として検知する事が出来ます。
Azure Monitor の動的しきい値を使用したメトリック アラート
この動的しきい値を使う事でストレージサイズの自動拡張(変化)を検知する事が出来そうです。
Azure Database for MySQL フレキシブルサーバでストレージサイズの自動拡張検知設定
Azure MonitorでStorage Limitのアラートルールを作成
Azure Database for MySQL フレキシブルサーバのStorage Limit(メトリック)の変化を検知するアラートルールを作成します。
リソース作成直後には動的しきい値アラートがアクティブにならない
監視対象となるリソース作成直後にはアラートルールはアクティブになりません。
これは異常値検知をするための履歴データが存在しない為になります。
※Azure Database for MySQL フレキシブルサーバの場合、停止しておくと履歴データが集積されません。起動した状態で3日分以上の履歴が必要になります。
ストレージサイズを拡張してAzure Monitorで検知出来るかを確認
ストレージサイズの変更
今回は手動でストレージサイズを変更して確認してみます。
Azure Database for MySQL フレキシブルサーバでストレージサイズを変更します。
ストレージサイズの変更 | |
コンピューティングとストレージのリソースメニューを選択します。 ストレージサイズを拡張して保存を選択します。 |
![]() |
※ストレージの拡張時には再デプロイが発生します。
アラートを確認
Azure Database for MySQL フレキシブルサーバで警告が発生しているかを確認します。
警告を確認 | |
アラートが発生している事が確認出来ました、。 | ![]() |
アラートの詳細見ると変動による検知ができている事が確認出来ました。 | ![]() |
最後に
Azure Monitorのアラートルール作成時に動的しきい値を使う事でマネージドデータベースの自動拡張を検知する事が出来ました。今回はAzure Database for MySQL フレキシブルサーバで試してみましたが、PostgreSQLなども同様に設定する事が出来ます。