SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

シリコンバレー直送便 ~世界を変えるスタートアップたち~

「Zebrium」――エンジニア永遠の課題「障害対応」にAIで挑む【シリコンバレー直送便】

シリコンバレー直送便 ~世界を変えるスタートアップたち~ 第3回


Zebriumのログ分析機能 (1)構造化

 Zebriumのログ分析機能は、大きく次の3つの機能によって実現されている。

  1. ログ構造化:非構造データのフォーマッティングと時系列での整列
  2. 異常検知:機械学習を通した異常検知
  3. ヒートマップ:検出された異常の重みづけと時系列ベースの可視化

 1つめのログ構造化とは、様々なフォーマットで出力されるアプリケーション、ミドルウェア、OSのログを自動的に構造化し、すべてのログを統合して時系列に沿って表示する機能である。

 ログ解析を行ううえでは、CSVやリレーショナルデータベースのテーブルのような二次元表の形にフォーマットされているのが最も扱いやすい。端的に言うと、Excelに取り込みやすい形である。しかし、現実のログはそのようなきれいなフォーマットにはなっていない。タイムスタンプや重大度(Severity)など、ログ解析に重要な情報ですらすべてのレコードに付与されていないこともある(たとえばJavaのStack Traceなどが代表的である)。しかも、アプリケーションログにおける最も重要な情報は構造化されていないことも多い。Zebriumはこうした欠落をログの内容や前後の情報から自動的に判定し、補完してくれる。

 構造化によって、ログはたとえば以下のような項目(カラム)別にフォーマットされる:

  • タイムスタンプ
  • ログ種別
  • 重大度
  • 変数(ログ内に表示されるパラメータ名や値)
  • エラーメッセージ
フォーマッティングのイメージ。ログデータの意味を自動的に判別し適切なヘッダの付与などが行われる。
フォーマッティングのイメージ。ログデータの意味を自動的に判別し適切なヘッダの付与などが行われる。

 適切なヘッダ情報がないログであっても、ある列が文字列かどうか、文字列ならばその内容を見て「この列はタイムスタンプ」「この列は重大度」というように自動的に判断を行う。これらは教師なし機械学習によって行われ、ユーザによる明示的な学習プロセスは不要である。

 この構造化機能は、いわばデータプリパレーション(前処理)を代替してくれるものだ。AIなどの分析にかける業務データのフォーマットが構造化されていないという問題に対して、近年、データの整形や名寄せ、重複排除といった前処理に特化したインテリジェントなツールが多数登場している。シリコンバレーを拠点とするスタートアップにも、TamrTrifactaなどが知られている。Zebriumもまた、ログ解析の前処理として必要なログの構造化に特化したデータプリパレーション機能を持っているわけである。

 障害対応の現場では、こうした非構造化データを含む雑多なフォーマットのデータ整形や時系列の突き合わせという作業を、自作のツールやExcelを使って行うことが多い。この面倒なステップは(何しろログのデータ量が多いので)意外に時間を消費するわりに、しょせん解析の準備としか見なされず、顧客からの評価も低い。早く終わらせられるに越したことはないのだが、前述のようにミドルウェアやアプリケーションによってログフォーマットはまちまちで、しかも解析に適したフォーマットですら出力されないこともあるため、自動化が難しいという難点がある。この機能だけでもかなり助かるという開発や運用の現場は多いのではないだろうか。

 大量のログを読み込む場合、その実行時間も気になるところだが、SCSKのシリコンバレー拠点でZebriumの機能評価を実施している中原氏によれば「数百万行のログでも10~20分程度で読み込まれるうえに、ストリーミングで実施されるため、読み込み中でもログ解析を始めることができる」という(注2)。

注2

 SCSKは早くからZebriumに注目しており、現在同社内での技術検証を進めている。本稿の執筆においても同社のシリコンバレー拠点で活動される遠藤丈寛氏と中原丈晴氏にご協力いただいた。

次のページ
Zebriumのログ分析機能 (2)異常検知とヒートマップ

この記事は参考になりましたか?

シリコンバレー直送便 ~世界を変えるスタートアップたち~連載記事一覧

もっと読む

この記事の著者

ミック(ミック)

日本では、主にBI/DWHの設計からチューニングまでを専門とするデータベースエンジニアとして活動。2018年より米国シリコンバレーに活動拠点を移し、技術調査とビジネス開発に従事している。主な著書・訳書:『達人に学ぶSQL徹底指南書 第2版』(2018)『SQL実践入門』(2015)Joe Celko『プログラマのためのSQL 第4版』(2015)翔泳社 - 著者ページ:https://www.shoeisha.co.jp/book/author/3964著者個人ページ:http://mickindex.sakura.ne.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11794 2020/04/09 16:56

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー