ページの先頭です

ページ内を移動するためのリンク
本文へ (c)

ここから本文です。

AIでログを解析する:NLP(自然言語処理)を活用した異常検知とは

ライター:井上 勝晴
2002年にネットワンシステムズ入社後、応用技術部にてVoIP/Mobile/Telemetry等の通信キャリア様向けの技術を担当
2019年4月より、現職であるNet One Systems USA,Inc.に勤務
米国シリコンバレーに駐在し、Innovation調査と新興企業の発掘業務に従事
妻と娘(6歳)も一緒に渡米しており、家族でのベイエリア生活を奮闘しながらも楽しんでいる。家族で米国の国立公園に行くのが最大の楽しみ。

目次

はじめに

 ITの現場で生成される運用データの種類・量は劇的に増加しています。しかし、企業がITに割り当てられるリソースには限りがあります。その為、AI/MLを使って効果的・効率的に運用上の効果を得たいと、多くのIT管理者は考えます。

NLP(自然言語処理)の活用は、そのアプローチの1つと言えるでしょう。しかし、多くのベンダーは既存AI/MLライブラリを利用して製品を作り上げており、この既存AL /MLライブラリがネットワークの構造を理解していないが故に、解析能力やパフォーマンスが不足し、運用上の効果を十分に得られないことが多々あります。

一方、米Augtera Networks社は高性能で効率性が高い、且つネットワークの特性を理解したAI /MLを自社開発することで、他社との差別化を実現しています。同社のITインフラ向けに特化したAI/MLの概要はこちらの記事にて紹介しておりますが、本ブログでは同社が新たな実装したNLP(自然言語処理)機能に焦点を当て、その実力をご紹介したいと思います。

AI vs. テキスト検索

 NLPはAIの中でも非常に広い分野であり、品詞タグ付け(part-of-speech tagging)、統計的言語モデル(statistical language modeling)、構文解析(syntactic analysis)、意味分析(semantic analysis)、感情分析(sentiment analysis)、情報検索(information retrieval)、語彙などの多くの方式が存在します。

Augtera Networksは、数ある自然言語処理の中より類似解析(similarity analysis)に焦点を当てています。この解析手法により、運用チームは「問題が発生して初めて新たなログメッセージやパターンが出現していたことに気づいた」といったことを避け、稀なログが発生したタイミングで瞬時にそれ把握し対応することが出来るようになります。Augteraの類似解析は、我々人間が持つ「メッセージ中の僅かなニュアンス変化」を理解する能力に近しいもので、正規表現のような比較的容易で実現可能なアプローチとは異なります。(更に言えば、現実的には今まで見なかった文字列を検出する正規表現を設定することは極めて難しいでしょう。)

この人間が判断するが如く類似性を理解するAugteraのアプローチにより、NLPもIT運用に有用となるAIファミリーの1つであると認識されるようになりました。

例)LogのNLP解析とその結果

 ログメッセージへのNLP解析の効果を、幾つかの実行例から見ていきましょう。

  1. bgp_recv: read from peer aaa.bbb.ccc.ddd [External AS ZZZZ] failed Broken Pipe

  2. bgp_recv: read from peer aaa.bbb.ccc.ddd [External AS ZZZZ] failed Unknown Error: XXXX

  3. rt_pfe_veto: Memory usage of M_RTNEXTHOP type = (0) Max Size possible for M_RTNEXTHOP type = (8332584960) Current delayed unref = (4281), Current unique delayed unref = (4000), Max delayed unref on this platform = (4000)

  4. rts_veto_net_delayed_unref_limit: Memory usage of M_RTNEXTHOP type = (10144064) Max size possible for M_RTNEXTHOP type = (8332146688) Current delayed unref = (6000) Max delayed unref on this platform = (6000)

  5. task_addr_local: task MSDP.62.40.124.193 address 62.40.124.192: Can’t assign requested address

  6. task_addr_local: task RV.83.97.94.109+8282 address 62.40.96.1: Invalid argument

Augteraの類似解析により、上述のメッセージは以下のように解釈されます。

  • メッセージ1と2は類似性あり(同分類の事象)

  • メッセージ3と4は類似性あり(同分類の事象)

  • メッセージ5と6は類似性なし(異なる事象)

メッセージ5と6は全体的な文の構造は似ていますが、各々のプロトコルはMDPとRVと異なり、またエラーへの説明文も「要求されたアドレスをアサイン出来ない」と「無効な引数」とで異なることから、其々異なる事象と認識されています。

メッセージ3と4は、文の構造は其々異なりますが、どちらもメモリ使用量に関連するメッセージであると認識されています。

メッセージ1と2は文構造が似ており、且つ、同一の事象と認識されています。

ログへのNLP利用からゼロデイ分析へ

 Augtera社のNLPログ解析により、ネットワーク運用管理者はAIが検出した新たなログメッセージを即時に把握することが出来るため、この機能は「ゼロデイ予兆分析」と呼ぶことが出来るでしょう。システム上で初めてのメッセージが生成されると、ネットワーク運用チームはそれを即時に把握して原因分析を行い、将来、同様事象が発生した際のトラブルチケット発行の準備も可能となります。このようなプロアクティブな対応は、DIYでは数ヶ月要することもありますが、Augteraのソフトウェア・プラットフォーム上では容易に立て付けることが出来ます。更に運用チームは、メッセージのレートが通常から逸脱した場合(極端に増えた時)を検知する、レートベースでの異常検も利用可能です。

リアルタイムのログ解析

 NLPによるログ解析は、Augtera Netowrksが提供しているリアルタイム・ログ解析機能を強化する新たな機能です。その他のログ解析機能は以下となります。

  • ユーザーが選択出来るアクションを備えた、リアルタイム・ログ分類

  • 特定ログメッセージの出現レートの変化を検出する、レートベース異常検知

リアルタイム・ログ分析機能の詳細は、こちらをご覧ください。

まとめ

 ログ解析にNLP(自然言語処理)を用いることで、運用チームは「初めて出現したログメッセージ」や「稀に出現するログメッセージ」を瞬時に把握することが出来ます。しかし、このメリットが現実では不可能なほどの無制限のリソースで行われたAI実証実験:AI PoCでは意味がありません。一方、Augtera社のアプローチは現実的なCPUとメモリでこれを可能としており(少量のCPUとメモリで1時間あたり数億のメッセージを欠損なく解析可能)、IT運用チームにとり一考の価値があるものと言えるでしょう。

(このブログは、Augteraの”NLP for Logs: A New Era in Anomaly Detection”の記事を抄訳したものです)


関連リンク

※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。

RECOMMEND