Azure マネージド データベースでストレージサイズ自動拡張を検知する

Azure,Azure Monitor,MySQL Database

AzureではAzure SQL、Azure Cosmos DB、Azure Database for MySQL等のマネージドデータベースサービスが提供されています。

Azure マネージド データベース

CPUやメモリ等のリソースを必要な要件に応じて選択利用する事が出来ます。
選択できるリソースの1つのストレージサイズがあります。
ストレージサイズはデータベースのディスク容量になり、自動拡張させる事が出来ます。

ストレージサイズはコストにも影響するので、自動拡張した事を検知したい事もあるかと思います。

今回はAzure Database for MySQL(フレキシブルサーバ)を例にストレージサイズが自動拡張をしたことをAzure Monitorを使って検知するようにしてみました。

スポンサーリンク

ストレージサイズの自動拡張をAzure Monitorで検知する方法を考えてみる

ストレージサイズに関連するメトリック

Azure Database for MySQL(フレキシブルサーバ)の場合、ストレージサイズに関してAzure Monitorに存在するメトリックはこちらの通りでした。

  • Storage Limit:ストレージ使用容量上限
  • Storage Percent:ストレージの使用率
  • Storage Used:ストレージの使用容量

  • 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 フレキシブルサーバのリソースメニューにある警告を選択します。
作成にあるアラートルールの作成を選択します。
シグナルでStorage Limitを選択します。

アラートロジックの設定です。
しきい値で動的を選択します。
演算子は次の値より大きい、集計の種類は最大値、しきい値の感度は高を選択します。

今回は評価基準や詳細設定はデフォルトのままとしています。

※詳細設定でしきい値の感度の調整を行う事が出来ます。

自身の環境に合わせたアクショングループを選択します。

詳細タブでアラートルール名等の設定を行います。
今回は【test-mysql-db-01】データベースの自動拡張が発生しましたと言う名前にしています。

確認および作成を選択します。

作成されたアラートルールがが確認出来ます。

リソース作成直後には動的しきい値アラートがアクティブにならない

監視対象となるリソース作成直後にはアラートルールはアクティブになりません。
これは異常値検知をするための履歴データが存在しない為になります。

  • 履歴データが無い場合のエラーメッセージ

※Azure Database for MySQL フレキシブルサーバの場合、停止しておくと履歴データが集積されません。起動した状態で3日分以上の履歴が必要になります。

ストレージサイズを拡張してAzure Monitorで検知出来るかを確認

ストレージサイズの変更

今回は手動でストレージサイズを変更して確認してみます。
Azure Database for MySQL フレキシブルサーバでストレージサイズを変更します。

ストレージサイズの変更
コンピューティングとストレージのリソースメニューを選択します。
ストレージサイズを拡張して保存を選択します。

※ストレージの拡張時には再デプロイが発生します。

アラートを確認

Azure Database for MySQL フレキシブルサーバで警告が発生しているかを確認します。

警告を確認
アラートが発生している事が確認出来ました、。
アラートの詳細見ると変動による検知ができている事が確認出来ました。

最後に

Azure Monitorのアラートルール作成時に動的しきい値を使う事でマネージドデータベースの自動拡張を検知する事が出来ました。今回はAzure Database for MySQL フレキシブルサーバで試してみましたが、PostgreSQLなども同様に設定する事が出来ます。