索引付けとフィールド・マッピングについて
優先順位の洞察でログを最適にクエリするには、IBM Cloud Logsがデータを分析した後にどのようにインデックスを作成するかを理解することが重要です。
ログの索引付けにより、以下を使用して、ログによるマッチングを素早く取得できます。
- フリー・テキスト検索
- 正規表現
- フィールド検索
IBM Cloud Logs 分析機能から最大値を取得するために、ログを JSON としてシリアライズすることをお勧めします。 JSON への非構造化ログの構文解析について詳しくは、「 JSON への非構造化テキストの構成 」を参照してください。
データ・タイプ
IBM Cloud Logs は、以下のデータ型をサポートします。
- テキスト
-
このタイプは、索引付けの前に用語に分析される、構造化されておらず、人間が理解できるコンテンツを表します。
- キーワード
-
このタイプは、索引付けの前にアナライザーをパススルーしないテキストを表します。 このデータ・タイプは、正規表現、集約、およびソートに適しています。
照会でキーワード・データ型を使用するための構文は、
<fieldName>.keywordです。IBM Cloud Logs は、フィールドが 256 文字より長い場合、キーワード・タイプを作成できません。
- 数値
-
このタイプは、範囲照会および算術集約 (
avg、max、min、sum) に適しています。照会で数値データ・タイプを使用するための構文は、
<fieldName>.numericです。 - 日付
-
このタイプでは、タイム・スタンプでフィルタリングしたり、時系列グラフを作図したりすることができます。 値はエポック・ミリ秒としてフォーマットする必要があります。
- ゲオポイント
-
このタイプでは、 Grafana マップ上に経度と緯度のペアをプロットできます。
- オブジェクト
-
このタイプは階層を表します。 これは、他のタイプ (オブジェクトを含む) のフィールドを含めることができることを意味します。
データ・タイプの考慮事項
データを照会する際には、以下を考慮してください。
-
明示的なマッピングは、タイム・スタンプおよび geopoints でサポートされています。 フィールド名に
_timestampまたは_geopointを付加すると、それぞれ日付またはジオポイントとしてマップされます。 例えば、duration_timestampという名前のフィールドは日付としてマップされます。 -
他のすべてのフィールドには、動的マッピングが使用されます。 つまり、インデックス付けの時点で、新しいフィールドの値がマップされたデータ型を決定します。
-
配列は有効な JSON です。 ただし、 IBM Cloud Logsには専用の配列データ・タイプはありません。 つまり、以下のようになります。
-
フィールドには複数の値を含めることができ、すべての値は同じデータ・タイプでなければなりません。 そうでない場合は、マッピング例外が発生します。
-
配列の最初の値がフィールド・マッピングを決定します。
-
オブジェクトの配列の場合、各オブジェクトを個別に照会することはできません。
-
-
ログ内の各フィールドは、以下の 3 つのデータ・タイプのいずれかとしてマップされます。
- Text、Object、Date、または Geopoint
- キーワード
- 数値
インデックス・フィールドの数をチェックする
インスタンスごとのインデックス・フィールドの数と使用した数を確認するには、ナビゲーション・バーで 「使用状況」 アイコンの「>「マッピング統計」をクリックします。 今日使用されたキーのセクションで、毎日使用されたインデックスの総数を取得できます。
サービス・インスタンスでは、インデックス・フィールドの1日のデフォルト上限は3000に設定されています。
インデックス・カウンターは協定世界時(UTC)の深夜にリセットされる。
1日のインデックス・フィールド数に達するとどうなるか
1日のインデックス・フィールド数に達すると、次の日のカウンタがリセットされるまで、新しいフィールドはインデックスされません。
マッピングの例外があり、インデックスを作成できなかったフィールドには感嘆符が表示されます。
{: caption="を持つフィールドのフラグマッピング" caption-side="bottom"}を持つフィールドのフラグマッピング例外を持つフィールドのフラグ
マッピング例外を含むデータの検索
優先順位の洞察で検索する場合、マッピング例外を含むログレコードは、インデックス化されていないフィールドについてはフリーテキストクエリを使用し、インデックス化されているフィールドについてはキーと値のペアを使用して検索することができます。
インスタンスに関連付けられているデータバケットがある場合、All Logs からログを検索できます。 フリーテキストクエリ、またはキーと値のペアを使用して検索することができます。
アラート
アラートはデータマッピング例外の影響を受けず、通常通りトリガーされる。