ログファセット
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

ログファセット

エクスプローラーファセットのファセット

概要

ファセットは、インデックス付きログのユーザー定義のタグと属性です。これらは、定性的または定量的なデータ分析を目的としています。そのため、ログエクスプローラーでこれらを使用して、次のことができます。

ファセットを使用すると、ログモニターのログ、ダッシュボードのログウィジェット、ノートブックを操作することもできます。

: ログ処理ライブテイル検索アーカイブ転送、リハイドレート、またはログからのメトリクス生成をサポートするためのファセットは必要ありません。また、フィルターを使用してパイプラインおよびインデックスにログをルーティングするためのファセットや、除外フィルターを使用してインデックスからログを除外またはサンプリングするためのファセットも必要ありません。これらすべてのコンテキストで、オートコンプリート機能は既存のファセットに依存しますが、入力ログに一致する入力はすべて機能します。

定性的ファセット: ディメンション

次が必要な場合は、定性的ファセットを使用します。

  • 特定の値に対してログをフィルタリングする。たとえば、environment タグのファセットを作成して、トラブルシューティングを開発、ステージング、または本番環境にまで絞り込みます。
  • 値の相対的なインサイトを取得する。たとえば、http.network.client.geoip.country.iso_code のファセットを作成して、NGINX ウェブアクセスログの 5XX エラーの数ごとに最も影響を受ける上位の国を確認し、Datadog GeoIP Processor で加工します。
  • 一意の値をカウントする。たとえば、Kong ログから user.email のファセットを作成して、ウェブサイトに毎日接続しているユーザー数を把握します。

定性的ファセットには、文字列または数値(整数)型を指定できます。文字列型をディメンションに割り当てるとすべてのケースで機能しますが、ディメンションで整数型を使用すると、前述のすべての機能に加えて範囲フィルタリングが有効になります。たとえば、http.status_code:[200 TO 299] は整数型のディメンションで使用する有効なクエリです。参考として検索構文を参照してください。

定量的ファセット: メジャー

次が必要な場合は、メジャーを使用します。

  • 複数のログから値を集計する。たとえば、マップサーバーの Varnish キャッシュが提供するタイルのサイズのメジャーを作成し、1 日の平均スループット、またはリクエストされたタイルサイズの合計ごとに最上位の参照元を追跡します。
  • ログを範囲フィルターする。たとえば、Ansible タスクの実行時間のメジャーを作成し、10 秒以上かかった実行が最も多いサーバーのリストを確認します。
  • その値に対してログを並べ替える。たとえば、Python マイクロサービスで実行された支払い額のメジャーを作成します。その後、最も金額の高いログから順に、すべてのログを検索できます。

メジャーには、同等の機能のために、(長)整数またはダブル値が付属しています。

単位

メジャーは、クエリ時間と表示時間の桁数を簡単に処理するための単位(seconds の時間または bytes のサイズ)をサポートします。単位は、フィールドではなく、メジャー自体のプロパティです。たとえば、ナノ秒単位の duration メジャーを考えてみます。duration:1000 が 1000 ミリ秒を表す service:A からのログと、duration:500 が 500 マイクロ秒を表す service:B からの他のログがあるとします。

  1. 算術演算プロセッサーで流入するすべてのログの期間をナノ秒にスケーリングします。service:A のログには *1000000 乗数を使用し、service:B のログには *1000 乗数を使用します。
  2. duration:>20ms検索構文を参照)を使用して、両方のサービスから一度に一貫してログにクエリを実行し、最大 1 min の集計結果を確認します。

ファセットパネル

検索バーを使うと、包括的かつインタラクティブにデータを分類することができます。ただし、ほとんどの場合は、ファセットパネルを使った方がよりわかりやすくデータに移動できます。ファセットを開くと、現在のクエリのスコープのコンテンツのサマリーが表示されます

**ファセット(定性的)**には、一意の値の上位リストと、それぞれに一致するログの数が用意されています。

いずれかの値をクリックして、検索クエリのスコープを設定します。値をクリックすると、この一意の値とすべての値の検索が切り替わります。チェックボックスをクリックすると、この特定の値がすべての値のリストに追加または削除されます。また、その内容を検索することもできます。

メジャーには、最小値と最大値を示すスライダーが付いています。スライダーを使用するか、数値を入力して、検索クエリを別の範囲に絞り込みます。

ファセットを非表示にする

ログを使用するすべてのチームのあらゆるユースケースに対処する必要があるため、組織が持つファセットは膨大になるものです。しかし、特定のトラブルシューティングのコンテキストで必要となるのは、こうしたファセットの一部のみであることが大半でしょう。トラブルシューティングセッションで最も関連性の高いファセットのみを保持するために、必要のないファセットを定期的に非表示にします。

必要に応じて、ファセットは非表示にしてもファセット検索に表示されます(ファセットのフィルターセクションを参照)。そこから非表示のファセットを再表示します。

非表示のファセットは、検索バーのオートコンプリートと、ログエクスプローラーの分析のドロップダウン(メジャー、グループ化など)からも非表示になります。ただし、ファセットは非表示にしても検索クエリでは有効です(たとえば、ログエクスプローラーのリンクをコピーして貼り付けた場合)。

非表示のファセットはログエクスプローラー以外には影響を与えません(例: Live Tail、モニター、ダッシュボードのウィジェットの定義)。

非表示のファセットとチームメイト

ファセットの非表示は、自身のトラブルシューティングコンテキストに固有の操作で、保存ビューを更新しない限り、チームメイトのビューには影響を与えません。非表示のファセットは、保存ビューに保存されたコンテキストの一部です。

ファセットをグループ化

ファセットは、ファセットリスト内のナビゲーションを容易にするために、意味のあるテーマにグループ化されます。ファセットグループの割り当てや再割り当て(ファセットの管理方法を参照)は、ファセットリストの表示に関する問題に過ぎず、検索や分析機能には影響しません。

ファセットをフィルター

ファセットの検索ボックスを使用して、ファセットリスト全体を絞り込み、操作する必要があるものにすばやく移動することができます。ファセット検索では、ファセット表示名とファセットフィールド名の両方を使用して、結果の範囲を絞り込みます。

エイリアスが設定されたファセット

一部のファセットにはエイリアスが設定されている場合があります(ファセットのエイリアス設定セクションを参照)。ファセットはエイリアスが設定されても分類できますが、組織では非推奨と見なされます。

トラブルシューティングを行う場合、_エイリアス設定された_ファセットではなく_標準_ファセットで他のチームのコンテンツを(自分のチームのコンテンツと共に)見つけることが多いでしょう。これにより、さまざまな発信元からのコンテンツの関連付けがより簡単になります。

ファセットリストにエイリアス設定されたファセットが表示される場合は、switch to alias メニュー項目をクリックして、_標準_ファセットを使用することを検討してください。この操作により、エイリアス設定されたファセットが非表示になり、標準ファセットが再表示されます。この時に保存ビューを更新する場合は、保存ビューを保存して、この保存ビューを使用するすべてのユーザーにエイリアス設定が適用されるようにすることを検討してください。

古いコンテンツに対するトラブルシューティングを行う場合は、ファセットの非標準の_エイリアス設定された_バージョンを保持することをお勧めします(このファセットのエイリアス設定が組織によってセットアップされる前)。

ファセットを管理

すぐに使えるファセット

HostServiceURL PathDuration などの最も一般的なファセットは、ログがログインデックスに流れたらすぐに使用してトラブルシューティングを開始できます。

予約済み属性およびほとんどの標準属性のファセットがデフォルトで使用可能です。

インデックスファセット

インデックスファセットは、組織に複数のインデックスがある場合や、アクティブな履歴ビューがある場合にのみ表示される特定のファセットです。クエリのスコープをインデックスのサブセットに絞り込む場合は、このファセットを使用します。

ファセットを作成

新しいファセットを作成するのではなく、常に既存のファセットを使用することを習慣にすると良いでしょう(ファセットのエイリアス設定セクションを参照)。類似した性質の情報に一意のファセットを使用すると、チーム間のコラボレーションが促されます。

: ファセットが作成されると、そのコンテンツはどちらかのインデックスに流れるすべての新しいログに対して入力されます。ログ管理ソリューションを最適な形で利用するため、Datadog では最大 1000 ファセットで使用することをおすすめしています。

ログのサイドパネルから

ファセットを作成する最も簡単な方法は、ログのサイドパネルから追加することです。フィールド名や基底のデータのタイプなど、ファセットの詳細のほとんどは事前に入力されており、再確認するだけで済みます。ログエクスプローラーで、ファセットを作成するフィールドを持つ関心のあるログに移動します。このログのサイドパネルを開き、対応するフィールド(タグまたは属性内)をクリックして、そこからファセットを作成します。

  • フィールドに文字列値がある場合、ファセットの作成のみが可能です。
  • フィールドに数値がある場合、ファセットとメジャーの両方を作成できます。

: ベストプラクティスとして、1000 ファセット以下で使用することが推奨されます。

ファセットリストから

一致するログを見つけることができない場合は、_ファセットの追加_ボタンを使用して、ファセットパネルから直接新しいファセットを作成します。

このファセットの基底のフィールド(キー)名を定義します。

  • タグにはタグキー名を使用します。
  • プレフィックス @ がある、属性の属性パスを使用します。

現在のビューのログの内容に基づいてオートコンプリート機能が働くためは、適切なフィールド名を定義しやすくなっています。ただしここでは、特にインデックスに一致するログがまだ流れていない場合は、実際はどんな値でも使用できます。

ファセットのエイリアス設定

一意のファセットで類似するコンテンツを収集すると、チーム間の分析が可能になり、チーム間のトラブルシューティングが容易になります。命名規則を参照してください。

オプションとしてエイリアス設定を使用すると、一貫性のない命名規則に依存するチームをスムーズに再編成できます。エイリアス設定を使用すると、組織に出現する標準ファセットを使用してそれらすべてを使用できます。

ファセットのファセットへのエイリアス設定

これは、組織内の複数のチームが類似するコンテンツに対して複数のファセットを既に作成している場合に最適なオプションです。

_エイリアス設定された_ファセットを_標準_ファセットにエイリアス設定する場合

  • ユーザーは、トラブルシューティングにエイリアス設定されたファセットと標準ファセットのどちらかを使用できます。多様で、場合によっては異種のソースから流れるコンテンツの相関が容易になる標準ファセットの方が好ましいかもしれません。
  • ユーザーは、エイリアス設定されたファセットの代わりに標準ファセットを使用するように促されます。

ファセットを標準ファセットにエイリアス設定するには、ファセットメニューの Alias to... アクション項目を選択します。組織に存在するすべての標準ファセットから宛先ファセットを選択します。

属性のファセットへのエイリアス設定

これは、新しいソースから流れるログをオンボードする場合に最適なオプションです。このログの一部のフィールドにファセットを作成するのではなく、標準ファセットにエイリアス設定してこのファセットを非推奨にした直後に、フィールドを既存のファセットに直接エイリアス設定します。

その他の参考資料