非構造化データをビジネスに活かせ!
Splunkによる“ビッグデータ攻略法”
2012年 3月
SIerの為の実践講座

本講座は、ITエンジニアの為の明日から役に立つシステム構築スキルや技術・製品スキルなどをご提供します。まだお客様へご提案したことがない製品や技術でも、ポイントを押さえた実務知識を短時間に把握したい方にお勧めです。

【今回の講座】

最近目にする機会の多い“ビッグデータ”という単語ですが、大きくは経理データや購買データなど“構造化されたデータ”、報告書やプレゼン資料など“人間が生み出すデータ”、ITシステムやデバイスなどから生成された“マシンデータ”の3種類に分類できます。中でもマシンデータは、ITインフラの増大やモバイルネットワークの充実などを背景にデータ量が爆発的に増加しており、データに含まれる価値が最も高いものとしてビジネスへの応用が注目されています。一方でマシンデータは、大容量でデータフォーマットがシステムやデバイス毎に異なっており、データの活用における課題が多いのも特徴です。
今回の講座では、大量、複雑なマシンデータを効率的かつ効果的に活用可能な『Splunk』について詳しく紹介します。

By 市川 博一
Macnica Networks Corp.

非構造化ゆえの悩み!マシンデータと活用に向けた課題

非構造化ゆえの悩み!マシンデータと活用に向けた課題マシンデータとは、サーバ、NW機器、アプリケーションなどから生成されるログなどの大量かつ複雑なデータを指します。これらのデータはログ毎にデータフォーマットがバラバラで非構造化データであることが特徴です。また、ログの中には価値ある情報が多く含まれており、例えばオンラインショッピングサイトにおけるマシンデータには、どのお客様が、どの商品を購入したのか、クーポンを利用したのかなど、ビジネスに役立つデータを多く含んでいます。これらのマシンデータを効率よく活用する動きが活発化していますが、課題も山積しています。
 
非構造化のマシンデータを活用する上で大きな課題となるのが、ログフォーマットがシステム・デバイスごとに異なる点です。ログの中に含まれる情報を分析していくためには、まずはログの持つ意味を認識する必要があります。しかし、ログフォーマットの異なるログそれぞれに意味の定義をしていくのは容易ではありません。また、ログ分析をするための仕組みとしてData Baseにデータを格納して分析する仕組みがありますが、Data Baseの特性上、取り込む際にスキーマ定義と言われるデータの事前定義が必要です。大量かつ複雑なマシンデータに対して事前にスキーマ定義するのは時間もかかり容易ではありません。このようにマシンデータを活用するためには、これらの課題をクリアしていく必要があるのです。

収集から分析まで!Splunkによるマシンデータ活用術

Splunkは、まさにマシンデータのような非構造化されたデータを容易に検索・分析するためのNonSQL型のデータ分析エンジンです。Data Baseを持っていませんので、課題であげたような事前のスキーマ定義は不要です。テキスト化されているデータであれば、ログフォーマットの違いを意識せずにあらゆるデータをSplunkに取り込むことができ、マシンデータの一元化によるデータ活用を容易に実現することが可能です。下記のイラストではアプライアンスに見えますが、Splunk自体はソフトウェアです。専用のサーバを用意し、Splunkをインストールして動作させます。

収集から分析まで!Splunkによるマシンデータ活用術

Splunkでのデータ認識方法

Splunkはあらゆるデータを取り込み可能とご説明しましたが、フォーマットの異なるデータを取り込む際のポイントがあります。Splunkではデータの認識をフィールド定義と呼んでいます。フィールド定義は取り込み時の自動認識と、任意のタイミングでの手動定義が可能です。例えば下記のサンプルログでご説明すると、赤くハイライトした部分のように、Key=Valueの形式になっている部分に関しては、取り込み時にSplunkが自動でデータの意味を認識します。例えば、time= となっていれば、タイムスタンプを意味するといったような認識をします。一方ログには、必ずしもKey=Valueになっているものばかりではありませんので、青くハイライトした部分のように、IPアドレスだけが記録されているケースもあります。この部分についてはSrcIPなのかDstIPなのか判断できませんので、分析が必要になった時点で、GUI上で簡単に定義できます。もちろん分析する上で不要な部分であれば定義する必要はありません。

Splunkでのデータ認識方法

次に手動でのフィールド定義の方法を見てみましょう。

フィールド定義の方法
フィールド定義の方法

上記のように、GUI上で容易にフィールド定義が可能です。 また定義するタイミングもいつでも可能なため、取り込みが完了している過去のログに対しても新たに定義したり、定義し直したりできるのも特徴です。

Splunkでのデータ収集~保存~分析

Splunkでのデータ認識方法について紹介しましたが、今度はSplunkでのデータ収集、保存、分析といった具体的な流れについて見ていきます。
まずはデータ収集方法です。大きく分けるとエージェントを使わない方法と、エージェントによる収集方法があります。
エージェントを使わない方法では、下記の図のように、SyslogやSNMPなどでSplunkへデータを転送する方法、収集対象システムのログファイルが出力されるディレクトリを監視することによる取り込み、予め作成したスクリプトファイル実行による取り込みといった、複数の方法が選択できます。もちろん、対象システムや機器ごとに異なる方法を選択しても問題ありません。
その他エージェント経由での取り込みも可能です。エージェントを利用するケースとして代表的なのは、Windowsイベントログ(バイナリデータ)を取り込む際や、Splunkサーバを複数台で構成した際に、同じデータを2か所以上のSplunkサーバへ転送する場合に利用します。

Splunkでのデータ収集~保存~分析

次に、データの保存です。SplunkはData Baseを持っていませんので、取り込んだテキストデータは、圧縮されたテキストデータとしてSplunkサーバ上に保管されます。データ取り込み時に元データに対してIndexデータが自動で作成され、元データとIndexデータ合計で元データの約40%~50%に圧縮されて保存されます。これら保存されたデータの活用方法として、データ検索・分析の実行、実行された結果のレポート化、特定条件にヒットしたらアラート実行といったアクションが可能です。

Splunkでの検索方法

次に、Splunkの大きな特徴の一つである検索機能について見ていきましょう。WebにおけるGoogleのように、検索条件を自由に定義して、Splunkに取り込んだデータの中から見たい情報だけを高速に表示できます。

検索に使える条件として下記のようなものがあります。

  • キーワード   例)error
  • 論理演算子   例)error OR failed NOT application
  • ワイルドカード   例)172.22.* OR 172.16.*
  • 正規表現による検索
  • 100種類の検索コマンド組み合わせによる検索
  • 検索結果をパイプ「|」でつなげることで、絞り込みや結果の編集も可能
       例)error | head 1

下記がSplunkの検索画面です。ブラウザでSplunkサーバへアクセスしてGUIによって操作できます。上部の検索BOXに、キーワードなどの検索条件を入力して、画面下部に検索結果が表示されます。

Splunkの検索画面

上記のように検索した結果を、そのままレポートとして表示、保存することが可能です。

Splunkでのレポート作成

作成できるレポートの種類は10種類以上から選択することが可能です。ここで作成したレポートは保存可能なため、定期レポートなどが必要な場合は、ワンクリックでいつでも最新状態のレポートが表示可能です。さらにはPDFでエクスポート(※)できるためEmailで自動配信することも可能です。
(※)SplunkをLinux上で動作させた場合

Splunkでのレポート作成

Splunkでのアラート設定

アクションメニューからアラートの作成が可能です。検索の際に利用した条件を、そのままアラートルールとして利用できます。

Splunkでのアラート設定

アラートにヒットした場合、下記のアクションを実行します。

  • メール通知
  • スクリプト実行(予め指定したスクリプトファイルの実行)
  • RSS
アラート

Splunk が公開しているAppによる容易なレポート作成

SplunkではAppと呼ばれる分析支援ツールを無償公開しています。Xen DesktopやVmwareなどの仮想環境の可視化や、Blue Coat, Citrix, CiscoなどのNW機器ログを元にした分析など、Appを使うことにより容易に分析を行うことが可能です。

アラート
3300社以上の実績あり!様々な活用例と導入事例

Splunkを使って、複数システムのログ突合せ、関連するログの相関分析、外部テーブルと紐づけた分析など、自在な分析を行うことが可能です。それぞれの具体的な分析例については弊社製品ページに記載しておりますので、ぜひご参照ください。
http://www.macnica.net/splunk/
 
また、World Wideで展開するSplunkは75か国3300社以上での導入実績があります。SalesForce, Expediaなどのオンラインビジネス企業を始め、政府機関、大学などSplunkが活用される範囲は非常に広く、ITシステムの運用担当をはじめ、セキュリティ監査担当、マーケティング担当、経営層に至るまで、多様な用途で利用できます。国内でも急激に導入数を伸ばしており、事例も交えてSplunkの活用方法を紹介することが可能なため、ご興味ありましたら是非お問い合わせください。

最後に

あらゆるデータを自在に分析できるSplunkを、無償評価版で体験することができます。日本語版クイックインストールガイドや無償ハンズオンセミナーといった評価支援も実施しておりますので是非お試しください。ご不明点等ございましたら下記連絡先まで、お気軽にお申し付けください。

マクニカネットワークス株式会社 Splunk 製品 担当
TEL 045-476-1960
Email

【参考】

Copyright © 2004-2014 Macnica Networks Corp. All Rights Reserved.

上へ戻る