splunk>live!の参加報告とSplunkの導入方法の紹介

ご無沙汰しております、今回のブログ担当の髙橋です。 猛暑が続いておりますが、皆様はいかがお過ごしでしょうか。 私たちビッグデータチームは、暑さに負けず、ビッグデータに関連するBIツールやDWHの調査を行っております。 その一環として、7月5日に開催されたsplunk>live!に参加しましたので、その報告とSplunkの導入方法を紹介致します。

splunk>live!の報告

以下の5つの発表が行われました。
  1. Splunkの概要とデモ
  2. 事例:稼動データ活用による昇降機メンテナンスサービス
  3. 事例:標的型サイバー攻撃への実践的対策
  4. 事例:MDMサービスでのSplunkを活用したサービス監視
  5. Splunk最新製品動向

1. Splunkの概要とデモ

  • Splunkの概要
  • Splunkの根底技術は、サーチエンジン技術である。 これに、全てのログデータをTimestampでソートし、Key-Value形式で表現することにより、検索と分析を効果的に行うことが可能となっている。 未知のログデータに対しては、正規表現を利用することで、Key-Value形式で表現することができる。
  • Splunkの利用目的
  • バグ発見、トラブルシューティング、BIツールとしての利用が主である。
  • Splunkデモ
  • Splunkの基本的な利用方法とAppsを用いた以下の機能紹介
    • vmsphereの仮想環境の情報を吸い上げて表示
    • ホストに紐付けたvmの情報をトポロジ表示
    • 簡易的なインシデンス管理やワークフローの紹介

2. 事例:稼動データ活用による昇降機メンテナンスサービス

  • 概要
  • 昇降機(エレベータ)で収集している稼動データと既存RDB内の顧客データを有効活用することを目的にSplunkを導入した事例の紹介。
  • Splunkの導入によるメリット
    • Splunkを導入したことにより、データを可視化し、季節によるエレベータの利用量の変化の発見
    • メンテナンス時期の効率的なスケジューリングが可能になった。
    • 特定階の集中利用の発見
    • 特定階のきめ細やかなメンテナンスが可能になった。
    • データ分析までの期間の時間省略
    • 分析に必要なデータの選択と可視化の試行錯誤が短時間で行えるようになり、データ分析を注力することが可能になった。
  • 対象データについて
  • Splunkには現在、1年分200万件程度の稼働データが登録されている。また、既存のRDBには、20年分のデータが蓄積されている。

3. 事例:標的型サイバー攻撃への実践的対策

  • 概要
  • 標的型サイバー攻撃の実態調査及び、セキュリティモニタリング環境の構築についての事例紹介
  • 背景
  • 2010年以降、標的型攻撃が活発に行われてきている。 標的型攻撃とは、特定の相手を狙ったサイバー攻撃のことである。 例として、ソーシャルエンジニアリング型がある。 これは、相手に書類を開かせるような内容の連絡をあらかじめ行っておくことで、ウィルス感染をさせようとするもの。 多くの企業では、さまざまなセキュリティ対策を行っているが、こうした標準型攻撃に対しては、まだまだ不十分である。 そこで、Splunkを用いて、企業における標的型攻撃の実態調査とモニタリング環境の構築を行った。
  • Splunk導入の理由
    • 環境構築や利用方法が簡単で、準備期間や工数の削減が可能
    • ログ毎のフォーマットが異なるデータに対して、ログの正規化が簡単
    • ログアラートも早い
    • PCの性能も通常のデスクトップPCの性能でも利用可能
  • 結果として明らかになったモニタリング環境のシステム要件
    • モニタリングを行うためには、一日あたり数GB~数百GBのアラート・ログ流量に耐えうること
    • 分析対象のログとして、ファイアーウォール、アンチウィルス、Proxy、メール、ファイルサーバ、 リモートアクセスログ、IDS(Intrusion Detection System:不正アクセス監視システム)を収集できること
    • 従来は数種類のログしか分析に利用できていなかった。
    • 既存LANのトラフィック負荷を最小限にすること

4. 事例:MDMサービスでのSplunkを活用したサービス監視

  • 概要
  • MDM(Mobile Device Management:モバイル機器管理)サービスの監視の事例紹介 MDMとは、モバイルデバイスをリモートで一元管理する仕組み。 MDMの管理時のセキュリティに関するログや利用状況のログをSplunkで管理したとのこと。
  • BIツールとしてのSplunk
  • OpenViewやZabbixも利用したが、それぞれの長所を活かし、共存しているとのこと。 SplunkのBIツール部分は、Javascript+HTMLなのでカスタマイズ可能なところも良い。

5. Splunk最新製品動向

  • 概要
  • RDBやHadoop連携のAppsと現在Beta版で公開中のHunkについての紹介。
  • SplunkとRDBの連携
  • 日本での需要としては、既存のRDBとSplunkを連携させる機能がある。 Splunkでは、Splunk DB Connectを用いることで。RDBとの連携を容易に行っているとのこと。 Java Bridge ServerというJDBCをラッパーしたツールを使うことで、実現している。
  • SplunkとHadoopの連携
  • 欧米のユーザからは、既にHDFSに収集してあるデータをSplunkで情報を検索したいという 要望が多い。 そのため、Appsの機能でHadoopとの連携するSplunk Hadoop Connectがある。 さらに、Hadoopとの連携を強化するためにHunkの提供を開始。
  • Hunk:Splunk Analytics for Hadoop
  • 特徴として、仮想インデックス技術「Splunk Virtual Index」がある。 この技術は、保管場所にかかわらずあらゆるデータについて、Splunkインデックス内のデータであるかのように双方向の検索・分析・可視化を可能にする。 (Splunkのサーチ語 → MapReduce → HDFS)

余談

参加した感想として、Splunkは、ログの検索速度が非常に速く、環境構築も素早く行えるという点がやはり優れているなと感じました。 SIOSビッグデータチームとしては、データサイズに対する検索速度の遅延の有無、などを検証していきたいと思います。 新製品のHunkについては、MapReduceを介すことで、Splunkの検索速度の速さがどう活きているのか、ということや、 HDFSとSplunkの両方のデータ領域を用意する必要があるのか、などについて興味が湧きました。 そのため、Hunkについても検証を行いたいと思いました。機会があれば、ブログに掲載したいと思います。 以上、splunk>live!の報告でした。

余談ですが、liveで頂いたバッグの中には、下写真のUSBメモリが入っていました。 非常にかわいいですね!!

少し長くなりましたが、可愛いUSBメモリも頂いたので、Splunkの導入方法についても、以下で紹介致していきます。

(色違いはあるのでしょうか??)

Splunkの導入方法

1. 製品の比較

Splunkには、以下の2製品があり、それぞれで課金の種類が異なります。 今回は、60日間の無料期間が提供されているSplunkのEnterprise版を利用します。
Splunk
オンプレミスの製品となっています。 機能制限のあるフリーライセンスとインデックス化の対象となるデータの容量に応じた優勝のエンタープライズライセンスがあります。 フリーライセンスでは、1日にインデックス化できるデータの容量が500MBまでとなっています。 (入力データが500MBを超えたらライセンス違反状態と見なすということであり、500MB以上を読み込めないということではない) その他にも、複数ユーザアカウントの制限や、アラート機能の利用不可などの機能制限があります。
Splunk Storm
クラウドの製品となっています。 クラウド上で用意されるデータ容量によって課金されます。1GBまでは無料となっています。 オンプレミスよりも機能が制限されています。 例)Appによる機能追加ができない、など

2. Splunkのインストール手順

2.1. インストーラのダウンロード

以下のサイトからインストーラーをダウンロードします。

http://www.splunk.com/download

今回はCentOSにインストールするため、

splunk-5.0.3-163460-linux-2.6-x86_64.rpm

をダウンロードします。 アカウントを登録していない場合は、あらかじめ登録を済ませておきます。

2.2. Splunkのインストール

rpmをカレントディレクトリに配置した後、以下のコマンドでインストールを行います。

$ rpm -ivh splunk-5.0.3-163460-linux-2.6-x86_64.rpm
-------実行結果------------------------------------------------------
Splunk has been installed in:
/opt/splunk
To start Splunk, run the command:
/opt/splunk/bin/splunk start
To use the Splunk Web interface, point your browser to:
http://localhost.localdomain:8000
Complete documentation is at http://docs.splunk.com/Documentation/Splunk
-------------------------------------------------------------------------

2.3. WebUIでの確認

インストールが成功したら、ブラウザで確認を行います。 初回アクセス時は、 adminユーザのパスワードの変更を促されます。 (今回のアクセス先は:http://サーバのアドレス:8000) 初回ユーザ名/パスワードは、admin/changemeとなっている。

2.4. その他

2.4.1 初回起動時のライセンスオプション

初回起動時にはライセンス条項への同意が必要となります。 以下のコマンドを実行すると同意したものとして処理を行うことができます。 スクリプトを利用してインストールする場合は、こちらを利用しましょう。

$ /opt/splunk/bin/splunk start --accept-license

なお、SELinuxは無効にしておきましょう。

2.4.2. 自動起動設定

サーバ起動時にSplunkを自動的に起動させるためには、以下のコマンドを実行します。

$ /opt/splunk/bin/splunk boot-start

2.4.3. 設定ファイルについて

$SPLUNK_HOME/etc/system/default
デフォルトの設定値が記載された設定ファイルが格納されているディレクトリ。 通常、このディレクトにあるファイルは直接編集しません。
$SPLUNK_HOME/etc/system/local
デフォルトから変更したい設定値を記載したファイルを格納するディレクトリ。 ここでの設定は、default ディレクトリにある同名のファイルの設定値を上書きします。
$SPLUNK_HOME/etc/system/README
設定ファイルに記載できるパラメータの詳細や設定例を記述したファイルが格納されているディレクトリ。

3. 利用例:Appsを用いたLinuxのパフォーマンス監視

ログの閲覧方法は、様々ありますが、 今回は、パフォーマンス監視を行う場合にSplunk for Unix and Linux(いわゆる「*NIX」アプリ)をインストールします。 このAppにより、パフォーマンス監視と /var/log以下のログファイルの監視、/etc以下のファイルの変更管理を行うことができます。 それでは、Splunk for Unix and Linuxを以下のサイトからダウンロードし、ファイルから追加にて、Appを登録します。

http://splunk-base.splunk.com/apps/22314/splunk-for-unix-and-linux

登録が完了されると*NIX(今回は4.6)が追加されていることが確認します。 セットアップ画面にて、取得先ログや取得頻度などを設定することができます。

セットアップを完了すると一定間隔でログデータを収集し、以下の図のダッシュボードを表示することができます。

この他、有償・無償の便利なAppsが公開されており、それらを用いる事で既知のログ閲覧を容易に行うことができます。

以上、今後もビッグデータに関連する様々なツールを紹介していきたいと思います。 どういった場面でどのツールが適しているのかを判断する手助けになれば幸いです。

髙橋