はじめてのSplunk ― 概要から応用までを体系的に学ぶ

4-10 CIM(Common Information Model)Add-onの使用

Splunkにはさまざまな製品・ベンダーのログが集まりますが、 同じ「送信元IPアドレス」でも、ある製品ではsrc_ip、別の製品ではclientipと、 フィールド名がバラバラになりがちです。 これでは、ソースごとに違うSPLを書かなければならず、横断的な分析が困難になります。 この問題を解決するのが共通情報モデル(CIM, Common Information Model)です。

1. CIMとは何か

CIMは、異なる製品・ベンダーのログでも同じフィールド名・スキーマで扱えるようにするための、 標準化されたデータモデルの集まりです。 Authentication(認証)、Web(Webアクセス)、Network Traffic(ネットワーク通信)など、 用途ごとに共通のデータモデルが定義されています。

たとえば認証ログであれば、どの製品由来でもuseractionsrcといった 共通のフィールド名で扱えるように取り決められています。 これにより、ソースが違っても共通のSPLで横断的に分析できるようになります。

2. データをCIMに準拠させる

自分のデータをCIMで扱うには、ログをCIMのスキーマに合わせて正規化(Normalization)します。 正規化は、主に次のような設定を組み合わせて行います。

仕組み 役割
フィールドエイリアス(Field Alias) clientipsrcとして扱うなど、フィールド名を共通名に読み替える
タグ(Tag) イベントにauthenticationなどの意味づけを付ける
イベントタイプ(Event Type) 特定の条件に合うイベントをまとめ、分類しやすくする

これらでデータをCIMに準拠させておくと、 ソースが違っても同じフィールド名・同じデータモデルで分析できるようになります。

3. CIM Add-onの導入

CIMのデータモデル定義は、Splunk Common Information Model Add-onとして提供されています。 これをSplunkbaseからダウンロードして導入することで、 CIMの各データモデルが利用できるようになります。

CIMへの準拠は、Splunk Enterprise Securityなどの Premium Appが正しく動作するための前提にもなっています。 これらのアプリは、データがCIMに正規化されていることを前提に集計・検知を行うためです。

Premium Appを活用する場合は、取り込むログを適切にCIMへ正規化しておくことが重要です。 正規化が不十分だと、アプリのダッシュボードや検知が期待どおりに動作しません。

4. まとめ

  • CIMは異なる製品のログを共通のフィールド名・スキーマで扱う標準データモデルの集まり
  • フィールドエイリアス・タグ・イベントタイプでデータをCIMに正規化する
  • 正規化すればソースが違っても共通のSPLで横断分析できる
  • CIM Add-onはSplunkbaseから導入し、Enterprise SecurityなどのPremium Appの前提になる