• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

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

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

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

  • デフォルトでは、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

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

2023-11-17 23:55:25

MM-dd-yyyy HH:mm:ss

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

2023/11/17 09:55:25 AM

MM/dd/yyyy h:mm:ss a

%{DATA:timestamp:datetime;MM/dd/yyyy h:mm:ss a}

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

Copyright © 2024 New Relic株式会社。

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