Learning」は、ログなどの膨大な時系列データに教師なし機械学習を行うことで、従来型の閾値監視では気付けないような「いつもと違う」データを異常として検知可能にします。主な用途としては、サーバやネットワーク機器などの障害につながるような異常の検知、Webアプリケーションへのアクセス数の急増(急減)の検知などが挙げられます。Learningの基礎編として、異常値の検知、原因の分析、将来予測などの基本的な操作方法を紹介します。Learningもプログラミングを行うことなく、GUIによる操作で機械学習が可能です。自社の環境に生かせると感じた方は、ぜひ挑戦してみてください。Learningの位置づけを説明します。Stack」の有償の拡張機能です(一部無償機能あり)。Learningを含めた全機能を試用できるため、気軽に試すことができます。Learningは、Elasticsearchに貯めた時系列データに対して、教師なし機械学習を行います。これによって、時系列データのふるまいを学習してモデルを作成するとともに、「いつもと違う」「まわりと違う」データを、異常として検知することができます。特徴は、従来行われているような、事前に設定した閾値による監視では気付けないような異常に気付くことができる点です。図2:周期性のあるデータに含まれる「いつもと違う」点なお、時系列データの周期的な特性をモデルに反映させるには、取得するデータの取得間隔にもよりますが、最低4~5周期分のデータが必要です。機械学習を行う際は、扱うデータの概要をあらかじめ把握しておくことが重要です。)、ヒストグラムなどを表示することができ、データの概要把握に大きく役立ちます。Learningは、定常状態をモデル化した上で異常を検知するため、扱うデータの中に外れ値や意図していない値があると、良いモデルが作れないことがあります。Visualizer」機能で可視化した外れ値をあらかじめ排除することで、より適したモデルを生成できます。Job:異常の検知では、実際の機械学習に入っていきます。Job」を用いて機械学習を行い、異常を検知します。Jobでは、以下の5ステップで設定します。今回は事前に準備した静的なデータ(Kibana内にあるWebサイトのトラフィックログのサンプルデータ)を使って分析していますが、作成したモデルに対してリアルタイムに取得したデータを評価し、異常なふるまいが起こっていないか随時確認する、という使い方もできます。jobの結果として、図5のような画面が表示されます。濃い青色の実線が機械学習に使った値(実測値)で、実線の周りの水色で示されるエリアが機械学習によって求められた正常値の範囲です。図5の(1)を見ると、最初の数周期分のデータを学習した後にモデルが作成され、正常値の範囲がある程度定まったことがわかります。(2)、(3)では異常を検知している様子(赤点や黄点)を表しており、明らかな外れ値だけでなく、微小な変化も周りとは異なる点として検知していることがわかります。score)が表示されるため、その後の対応に使うこともできます。Jobでは、異常の発生には気付くことができますが、その原因まではわかりません。Jobは、複数のデータを分析することで、その異常を発生させた原因を調べやすくすることができます。Jobと同じですが、分析対象とするデータを複数選択でき、それをどのような切り口で分析するかを指定することができます。Jobを行った結果です。時系列に並んだデータに対し、赤色や黄色で表示された時間帯に異常が発生していることを表しています。Jobの結果(1)から特定の時間帯でアクセス数に異常があったことがわかり、(2)、(3)からインドからのアクセスが多くなったことによるものだと特定できます。分析したい観点でデータを入れておく必要がありますが(この例では、アクセス元の国)、事前準備をすることで分析が楽になります。Learningには、将来の値を予測する「Forecast」機能があります。機械学習の対象としたデータの取得間隔や量によりますが、最大10年先までの値を予測できます。この機能の利用例としては、将来の値を予測して、あらかじめ設定した上限値に達したときにメールで通知し、障害発生前に対策を取る、といった予防保全があります。人間の知識を機械学習に反映させるデータの裏にある、人間だけが知っている情報もあります。祝日や計画停電などで、取得するデータがいつもと異なることがあらかじめわかっている場合です。「特定のマシンのみCPUの使用率を監視したい」「特定のIPが起こしたイベントは監視から除外したい」という要望もあります。した要望に対しては、図8の(1)のように、機械学習の対象から除外する設定も可能です。(2)のように、機械学習の結果から人間が判断したことを書き残しておく(アノテーション:正解のタグ/ラベル)ことで、気付きを共有することもできます。Learningの基本的な機能を紹介しました。次回は、より複雑な分析を実現する最近追加された機能や機械学習の結果の活用例を解説します。ハイパーコンバージドインフラ、データセンタースイッチやネットワーク管理製品の製品担当を経て、現在はAI関連技術の技術調査やデータ分析業務の経験をもとに、さまざまな場面でのデータの利活用を推進している。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。