0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

オブザーバビリティにおけるAI活用

Last updated at Posted at 2023-09-02

オブザーバビリティ時代の監視

従来型IT監視手法

従来型ITインフラの監視は、応答有無を判断条件として例えば3回連続応答が無ければ障害と判断していました。リソースモニタリングは、CPU利用率やディスク残り容量などに閾値を設定して、その閾値を超過したときだけアラート通知していました。

モダンな監視手法

オブザーバビリティ時代の昨今では、監視やリソースモニタリングで計測した連続的なデータとして、その状態の変化を観測します。時系列で連続するデータは、例えばURL応答時間を観測して、応答時間がだんだん遅くなることを検出することが可能です。つまり、ユーザーのWEB画面の表示がだんだんと遅くなる状態変化を見つけます。別の例では、プロセスあるいはプログラムコードのなにかの原因でURL応答が遅くなり、やがてWEBシステムが停止する前に状態の変化に気付くこと、そして障害になる前に原因を取り除くことが大切です。
分かりやすい障害事例として、ログローテーションをせずに大量のログをディスクに保存して、ついにはディスク容量100%にログを書き込んでしまい、アプリがログを書き込めずにプロセスが応答しなくなってしまう障害。ディスク容量が80%超過したらアラート通知という設定も可能ですが、ディスク容量がいつもと何か異なるときにアラート通知するという設定も可能です。

Datadog監視SaaSでのAI活用

Datadogは、従来型IT監視もできるし近年のモダンな監視もできます。その上、セキュリティ監査やユーザー視点のアプリもモニタリングできます。そんなDatadog監視機能は、いつもと違う異常(Anomaly)と予測(Forecast)による状態の変化を観測することもできます。

前提

GCPの仮想サーバー(Compute Engine)に、Datadogエージェントをインストール済み

ディスク容量の異常検知(Anomaly)

ディスク容量の増減傾向を検知できることを検証してみる。

モニタリングの初期設定

Anomal
image.png

avg(last_15m):
anomalies(avg:system.disk.total{*}, 'agile', 2, 
direction='both', 
interval=60, alert_window='last_15m', 
count_default_zero='true', seasonality='weekly', timezone='utc') >= 1

定常時

ディスク容量の増減は無い。一定量をキープ。
image.png

異常な操作をしてみる

DDコマンドで1GBの大きなファイルを2つ作ってみる。

dd if=/dev/zero of dummy_file bs=1024k count=1000

モニター画面

ディスクサイズが増加したことが分かる。通常枠(レンジ)を示す灰色のゾーンを超過した。
image.png

アラート・メールが届いた(Trrigered)

image.png

ダッシュボードにもアラート表示

image.png

テストデータを削除して定常に戻す

image.png

Recoveredメールが届く

image.png

URL応答モニタの異常検知(Anomaly)

DatadogのUC Monitoringに、URL応答を検査するSynthetics Testsがある。

モニタリングの初期設定

image.png

avg(last_4h):
anomalies(sum:synthetics.http.response{env:gcp}.as_count(), 'agile', 2, 
direction='both', 
interval=60, alert_window='last_15m', 
count_default_zero='true', seasonality='daily', timezone='utc') >= 1

定常時

image.png

異常な操作をしてみる

プログラムコードを書いて応答時間をわざと遅くしたかったけれど時間かかりそうだったので、apacheプロセスを止めることで代用します。

$ sudo systemctl stop apache2

モニター画面

URL応答時間が通常枠(レンジ)を示す灰色のゾーンを超過した。
image.png

アラートメールが届いた(Triggered)

image.png

WEBサービスを再起動して定常に戻す

$ sudo systemctl start apache2

Recoveredメールが届く

image.png

まとめ

  • 異常検知(Anomaly)を使ってみた
  • ディスク残り容量は、予測検知(Forecast)を使ってみるべきだった。間違えた。
  • アラート通知がメールで届いた(復旧時もメールが届く)
  • 折れ線グラフなど推移を可視化できた
  • エラートラッキングとかコンポジットとか未だ使ったことがない機能がある
  • 他にも多くの監視・観測の機能があるので使ってみたい
  • 【注意点】異常検知(Anomaly)は異常な状態が長く続くとそれ自体が定常時となり復旧アラートも届くので勘違いしないようにモニター画面で確認した方がよい。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?