Sumo Logic – メタデータフィールドの作成方法と注意点について
最初に
記事の内容が古い場合は、公式サイトもご確認ください。
Sumo Logic については以下をご参照ください。
メタデータについて
Sumo Logic で、ログやメトリクスを表示・分析するために組み込みのメタデータが存在します。
メタデータのフィールドは、検索するために理解しやすい名前を定義したいです。
組み込みメタデータフィールド名
- _collector
- _source
- _sourceCategory
- _sourceHost
- _sourceName
- メタデータと、フィールドについて
メタデータは、フィールドを入れておくための箱というイメージです。
フィールドは、実際に命名した値です。検索するときにフィールド名を指定します。
実際にクエリ検索するときの図
メタデータのフィールドを作成する時の注意点
- 英数字を使用する
- アンダースコア、ハイフン、ピリオドなどの区切り記号を使用できます。
- スペースの使用は控える
- 大文字・小文字
英数字を使用する必要があります。
適所に配置して読みやすいフィールド名を作成できます。
スペースは、クエリ検索するときに引用符で囲む必要があります。 また、設定したフィールド名のスペースは、省略できません。 さらに、ワイルドカード自体が引用符で囲むと機能しないため、スペースの使用は控えた方がよいです。
クエリ検索するときに文字の大小は認識しないため、文字のケースを統一して作成するのをオススメします。
各種メタデータの意味
以下は、メタデータの大まかな概要です。
_collector
Sumo Logic では、ログ・メトリクスデータを収集する Java 製のソフトウェアをコレクターと呼びます。
コレクターをインストールするときに指定した名前が、フィールド名になります。
メタデータ _collector には、どのホストマシンにインストールされているコレクターか分かる名前を定義するとよいです。
例)
Prod-NginxWebServer
_source
データを受け取るためには、ソースをコレクターと紐付ける必要があります。
ソースを作成するときに指定した名前が、フィールド名になります。
メタデータ _source には、何のデータを送信しているか分かる名前を定義するとよいです。
例)
NginxWebServer
_sourceCategory
Source のカテゴリ名です。
ソースを作成するときに指定した名前になります。
コレクターには、複数のソースを含めることが可能です。
そのため、メタデータ _sourceCategory には、_source に対して、何のカテゴリのデータを送信しているか分かる名前として、階層構造を持たせた命名(コンポーネント1/コンポーネント2/コンポーネント3)が望ましいです。
そして、階層構造にするメリットとして、クエリを実行するときに以下のような絞り込みも可能になります。
_sourceCategory=Networking/Firewall/*(すべてのファイアウォール データ)
_sourceCategory=Networking/*/Cisco/*(すべてのシスコ データ)
例)
Prod/NginxWebServer/Access
_sourceName
ログファイル名です。メタデータ _sourceName には、ソースの作成時に入力したファイルのバスが設定されます。
_sourceHost
ソースのホスト名です。メタデータ _sourceHost には、OS レベルのホスト名が設定されます。
※ Installed Collectors で、ホストのローカルファイルをソースとするの場合のみ、ホスト名以外の名前を定義可能です。
とはいえ、コレクターを積んでいるホスト名を識別するために分かりやすく命名した方がよいです。
例) Ja/MySQL/Pri Ja/FW/Sec どこの/何をする/どんな役割
まとめ
最適化された組み込みメタデータは、クエリ実行時に理解しやすいため、適切な分析データのインサイトを提供します。 とくに、_sourceCategory の命名には注意が必要で、クエリ検索の利便性に関わるため、以下 URL の公式ページも参考に定義することをオススメします。