システムに問題が発生したとき、ログから調査を進めていくのは常套手段です。

調査を迅速にとはいうものの、ログは大抵大量で、

一部だけ値が違って後は一緒など区別が難しかったり

複数行で構成されていたり

 

直接問題と関係のない正常なログも出力されているので、

 

11行目で追いかけるのは骨が折れる作業です。

数値のログだと目視は厳しいのでexcelに投入して視覚化するという手間をかける場合もあります。

 
また発覚したところがアプリケーションでも問題の原因はデータベースということもありますので、横断的にもログを収集し確認をしていく必要があります。

つまり、ログから有効な情報を抽出するには手間も時間もかかるということです。

もし、これを人間の代わりに機械が自動的に行うならどうでしょうか?機械は大量の情報を扱うことに長けています。

ログ分析にかかる時間、作業量は減少し、問題解決の高速化、省力化が期待できるでしょう。

 

しかし、機械が人間と同じようにログ内容を判断するには、ログエントリの類似性や異なる点を認識できなければなりません(パターン認識)。

それを可能にしたのが「機械学習」です。

 

「機械学習」はデータを基にシステムが自ら学習することで、その中から意味のあるパターンやルール、相関関係などを自動的に抽出してモデルを作成し、

新たなデータに適用していくテクノロジーです。コンピュータの性能向上で自動的に大量のデータで複雑な計算を高速に繰り返して扱えるようになり、

精度が高い機械学習が実現できるようになり、注目を集めています。

 

機械学習の学習手法は大きく分けて教師なし学習と教師あり学習があります。前者は正解/不正解のようなラベルを付与したデータ(教師データ)を与えて

モデルを作成させる方法です。後者はラベルが付いていない対象とするデータ自体から規則性を見つけて、モデルを作成させる方法です。

 

ログの場合、どちらの学習手法が適切か考えてみます。

ログの出力パターンはすべて決まっているとはいえません。これまで発生したことがない未知のパターンもあります。

そうなると正常な状態といった教師データの作成は難しく、教師あり学習より教師なし学習のほうが向いているといえそうです。

 

教師なし学習の1つにクラスター分析があります。クラスター分析は対象データから類似性を認識して分類する方法です。

例えば

 

このアクセスログは21万件以上あります。

人間が分析しようとすると大変ですが、機械ならクラスター分析で瞬時に出力されているログの傾向、出力回数を知ることができます。

 

 

 

184パターンに分類されました。

では例外的なログはどうでしょうか。Outfilers(外れ値)で確認しましょう。

 

 

31パターンありました。チェックしたログがどの時間帯に出力されているか視覚的にも確認できます。

これなら正常なログを除外し、例外的なログを知ることも簡単ですね。

 

Oracle Management CloudLog Analyticsは、クラスター分析を効果的に組み込みログ分析の作業量を大幅に削減します。

「機械学習」を活用したログ分析で障害対応のスピードアップを実現しましょう。