こちらのブログをご覧いただき、ありがとうございます!
IT サービス運用を技術とクラウドの力で幸せにしたいと奮闘中の、佐藤 実です。
どうぞ、よろしくお願いいたします。
今回は、Azure の公式ブログで先日アナウンスがありました動的しきい値を使用した Azure Monitor AIOps アラートに関するお知らせ(※1)に触れ、今後の IT サービス運用を考えている管理職の皆様と AIOps に対する理解を深め、どのようにコスト削減につながるのかを共有したいと思います。
Azure Monitor の AIOps では、実線との偏差によって動的しきい値が算出される仕組みです。
今より更にノイズを減らし、異常値に気が付きやすいというメリットがあります。
昔は、点線の静的しきい値を超えるとアラートを通知する仕組みが主流でした。
今は、直近数分間の平均値を静的しきい値と比較する仕組みが主流です。
こちらは極端な例ですが、動的しきい値を超えている場合に赤く表示される例です。
動的しきい値は万能ではないため、使うケースを考える必要があります。
例えば、アプリケーションサーバーの CPU 使用率は、バッチ処理等の不定期な CPU 使用率のスパイクが無ければ、一定の傾向がある時系列データとなるはずです。このようなケースで動的しきい値を使用すると、曜日や時間帯によるアラートのノイズを低減する効果が見込めるほか、CPU 使用率が動的しきい値を下回り続けた場合にアプリケーションのプロセスは存在するが、ゾンビプロセスになっている事を異常として気付くことができます。
また、Web サイトへのログイン失敗数を動的しきい値によりモニターした場合、急激に数値が増えた場合は、他のサイトで漏えいした ID とパスワードで大量にログインを試みている、なんて恐ろしいことにも気が付くことができます。
Azure Monitor の動的しきい値は、機械学習で言うところの、異常検知(anomaly detection)や外れ値検知(outlier detection)にあたります。
メトリクスの時系列データに対して、過去10日間の履歴データを基に偏差(平均値との差)を Azure 側で計算し、しきい値を動的に算出してくれます。