• 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.

問題を作成する

長いログ(blob)の中からデータを探す

膨大なログデータは、問題のトラブルシューティングに役立ちます。しかし、ログの属性に何千文字もの文字が含まれていたらどうでしょう?New Relic はこのようなデータをどれだけ保存できるのでしょうか?また、これらのデータの中から有益な情報を見つけるにはどうすればよいでしょうか?

blobの仕組み

NRDBに格納できる文字数(4,094文字)よりも長い文字列の値については、長い文字列を3つに分けて格納します。

ロングログセクション

説明

最初の4,094文字

最初の4,094文字は、同じ名前のLogイベントフィールドに格納されます。したがって、長いmessage値では、最初の4,094文字がmessageフィールドに格納されます。

次の128,000バイトのUTF-8

文字列の次の128,000UTF-8バイトは、名前の前にnewrelic.ext.が付いたblobフィールドに格納されます。したがって、長いmessage値では、最初の4,094文字を超える文字がnewrelic.ext.messageフィールドにblobとして格納されます。

実際に保存される文字数は、文字のUTF-8表現に依存します。UTF-8はUnicodeの文字を1〜4バイトで表現するので、最初の4,094文字を過ぎれば32,000〜128,000文字が格納されることになります。

残りのキャラクター

4,094文字+128,000バイトを超えた文字はドロップされ、保存されません。

クエリの結果

BLOB クエリの結果は 20 件に制限されています。blob()を使用する場合は、クエリが最大 20 件の結果を返すようにしてください。

したがって、長いmessageフィールドは次のように格納されます。

message: <first 4,094 characters as a string>
newrelic.ext.message: <next 128,000 bytes as a 'blob'>

ヒント

文字列属性の最初の4,094文字を検索できます。最初の4,094文字のアラートを作成することもできます。ただし、 blobストレージは検索できないため、最初の4,094文字を超えるテキストは検索またはアラートできません。

ブロブに関するデータの検索

one.newrelic.com > All capabilities > Logs: ログ内の拡張 BLOB データをクエリするには、属性の BLOB 構文にバッククォートを必ず含めてください。

New Relic の任意のログデータを照会するには、以下のクエリを実行します。

SELECT * FROM Log

BLOBデータを展開するには、 messageまたはその他の属性を使用して次のクエリを実行します。ブロブの属性は必ずバッククォートで囲んでください。例えば:

SELECT message, another-attribute, blob(`newrelic.ext.message`), blob(`newrelic.ext.another-attribute`) FROM Log

これにより、blob内のデータが拡張され、見ることができるようになります(検索はできません)。例えば、New Relicは次のように返します。

{
"message": <first 4,094 characters>
"newrelic.ext.message": <the next 128,000 bytes as Base64>
"another-attribute": <first 4,094 characters>
"newrelic.ext.another-attribute": <the next 128,000 bytes as Base64>
}

ログ UI は、ログ詳細ビューを表示すると、元の値を自動的につなぎ合わせます。NRQL を直接使用してクエリを実行する場合は、次の方法で情報を手動で結合する必要があります。

  • newrelic.ext.属性値のBase64をデコードする
  • 結果のUTF-8を文字列に変換する
  • その文字列を"main" 属性の最初の 4,094 文字に付加する。

ロングログのデータ保持

NRDBは、blobレコードを1か月間保持します。既存の長いログメッセージがLogExtendedRecordとして保存されている場合、そのデータはNRDBでも1か月間利用できます。

1か月が経過すると、新しいLogExtendedRecord属性は作成されなくなります。それらはすべてブロブとしてNRDBに保存されます。

Copyright © 2024 New Relic株式会社。

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