• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、こちらのページをご覧ください。

問題を作成する

ログのタイムスタンプ形式

ログ イベントにはタイムスタンプ属性が残され、特定のイベントが発生した正確な瞬間がわかります。タイムスタンプを使用すると、特定の時間枠のログを検索して、イベントがいつ何が起こったかを知ることができるため、イベントの順序付けには重要です。

タイムスタンプには多くの形式があり、単一の標準はありません。ほとんどの場合、これらはログ イベントの先頭に表示されますが、ログのかなり後から表示されたり、まったく表示されない場合もあります。

  • デフォルトでは、New Relic はログが取り込まれると同時に、ログtimestamp属性 (予約済みキーワード) の値を割り当てます。これは取り込み時間と呼ばれます。
  • ログにtimestamp属性がない場合、New Relic は取り込み時にタイムスタンプを割り当てます。
  • JSON 形式のログには、タイムスタンプを識別する属性 ( timestamplog_timestamptimeなど) が含まれています。
  • サポートされているタイムスタンプ形式の JSON ログを受信した場合、取り込みタイムスタンプを JSON 属性でオーバーライドします。

サポートされているログのタイムスタンプ形式

デフォルトの動作を手動でオーバーライドしてログに含まれるtimestamp値を割り当てるには、2 つのオプションがあります。

  1. サポートされている時間形式のいずれかでtimestamp属性を含むJSON 形式のログを受信した場合、取り込みタイムスタンプはオーバーライドされます。代わりに、JSON 属性のタイムスタンプ値が使用されます。
  2. 解析ルールを使用して、取り込みtimestamp値をオーバーライドできます。解析ルールを使用すると、データを抽出して、サポートされている形式のいずれかでタイムスタンプをフォーマットできます。datetime Grok タイプとpatternを使用して、ログ内のカスタム タイムスタンプ形式を定義することもできます。

次の 2 つのタイムスタンプ形式がサポートされています。

JSON ログでサポートされているタイムスタンプ

timestamp属性を持つ JSON 形式のログを受信した場合、デフォルトの取り込み値timestampを元の JSON 値でオーバーライドします。タイムスタンプ フィールドがない場合、またはフィールドの形式が正しくない場合、ログは取り込みタイムスタンプとともに保存されます。48 時間より古いタイムスタンプを持つペイロードはドロップされることに注意してください。

タイムスタンプは Unix エポック ミリ秒に変換され、予約キーワードtimestampを使用して Long データ型として内部的に保存されます。JSON 本文の形式に応じて、タイムスタンプ フィールドは 4 つの異なる場所に割り当てることができます。

  • 単一の JSON オブジェクトを送信する場合の、JSON 本文メッセージの簡略化された一連の属性の内部。

  • 1 つ以上の JSON オブジェクトを送信するときの、JSON 本文メッセージの詳細な属性セット内の共通オブジェクト内。タイムスタンプは、この JSON のすべてのログ メッセージに適用されます。

  • 1 つ以上の JSON オブジェクトを送信するときの、JSON 本文メッセージの詳細な属性セットのログオブジェクト内の各ログ メッセージ内。タイムスタンプはそのログ メッセージにのみ適用されます。

  • 有効な JSON メッセージの場合は、「message」JSON フィールド内。私たちの

    機能は、あらゆるメッセージ属性を JSON として解析します。解析されたメッセージ内の結果の JSON 属性がログに追加されます。

以下は、取り込みtimestampをオーバーライドする有効なtimestamp属性を持つ JSON ログの例です。

解析ルールを使用してログのタイムスタンプを設定する

取り込み時に解析ルールを使用して、ログに含まれる値で取り込みtimestampをオーバーライドできます。解析ルールは、単純な Grok 式を使用するか、 datetime Grok タイプとpatternを使用してログ内のカスタム タイムスタンプ形式を定義することにより、サポートされている時刻形式を抽出します。

式によって抽出された属性名はtimestampである必要があり、そのデータ型は文字列または Long である必要があります。データ型が指定されていない場合、タイムスタンプはデフォルトの文字列になります。マイクロ秒またはナノ秒の精度のエポック タイムスタンプの場合、タイムスタンプの精度がミリ秒に短縮される場合でも、 longデータ型を含める必要があります。

ログ内のタイムスタンプが Unix エポックまたは ISO8601 形式のタイムスタンプの場合は、デフォルトの Grok パターンを使用してそれらに一致させることができます。例えば:

  • Unix エポック タイムスタンプを抽出するには、 NUMBERNOTSPACEDATA 、またはGREEDYDATAなど、値に一致する任意の式を使用できます。
  • ISO8601 形式のタイムスタンプを抽出するには、 TIMESTAMP_ISO8601 Grok 式を使用する必要があります。

datetime Grok タイプを使用すると、サポートされていない形式のタイムスタンプを解析できます。これを行うには、ログのタイムスタンプ形式と一致するpatternを持つdatetime Grok タイプを含める必要があります。patternは、ここにある Java の単純な日付と時刻のパターンを使用する必要があります。以下は、Grok 式がサポートされていないタイムスタンプ形式をサポートされている形式に変換する方法を示す例です。

timestamp

pattern

グロク式

2023/11/17 23:55:25.674

MM/dd/yyyy HH:mm:ss.SSS

%{GREEDYDATA:timestamp:datetime;MM/dd/yyyy HH:mm:ss.SSS}

2023-11-17 23:55:25

MM-dd-yyyy HH:mm:ss

%{GREEDYDATA:timestamp:datetime;MM-dd-yyyy HH:mm:ss}

2023/11/17 09:55:25 AM

MM/dd/yyyy hh:mm:ss a

%{GREEDYDATA:timestamp:datetime;h:mm:ss a}

以下は、取り込み解析ルールを使用してログからtimestampを解析する方法の例です。

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.