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

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

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

問題を作成する

Log API を使用してログ データを送信します

ログ転送ソリューション がニーズに合わない場合は、Log API を使用して HTTP エンドポイント経由で New Relic に直接ログデータを送信することができます。

HTTPエンドポイント

お使いのNew Relicアカウントに該当するエンドポイントを使用してください。

米国(US)のエンドポイント。

https://log-api.newrelic.com/log/v1

European Union (EU)のエンドポイントです。

https://log-api.eu.newrelic.com/log/v1

FedRAMP エンドポイント:

https://gov-log-api.newrelic.com/log/v1

HTTP設定

Log APIを使ってログデータをNew Relicアカウントに送信する。

  1. を入手してください。

  2. JSON ペイロードの 制限と制限文字 を確認してください。

  3. 必須の headersbody フィールドを使用して、JSON メッセージを生成します。

  4. Api-KeyまたはLicense-Keyヘッダーまたはクエリパラメータに含まれていることを確認してください。ログのJSONの例を参照してください。

  5. POSTリクエストでJSONメッセージをNewRelicアカウントの適切なHTTPエンドポイントに送信します。

    • 私たち: https://log-api.newrelic.com/log/v1
    • EU: https://log-api.eu.newrelic.com/log/v1
    • FedRAMP: https://gov-log-api.newrelic.com/log/v1
  6. いくつかのトラフィックを生成し、数分待ってから、 あなたのアカウント のデータをチェックしてください。

機能を有効にしてもデータが表示されない場合は、トラブルシューティング手順に従ってください。

HTTPヘッダー

HTTPヘッダーを作成する際には、以下のガイドラインを参考にしてください。

ヘッダー

対応値

Content-Type

必須

  • application/json
  • json
  • application/gzip
  • gzip

Gzip圧縮されたJSONフォーマットが受け入れられます。圧縮されたJSONを送信する場合は、 Content-Type: application/json }ヘッダーとContent-Encoding: gzipヘッダーを含めてください。

認証

は、Log API に対するリクエストを認証する役割を果たし、送信されたログメッセージが書き込まれる New Relic アカウントを決定します。 これは、HTTP ヘッダーまたはクエリ文字列パラメーターとして渡す必要があります。

オプション1:HTTPヘッダーを使った認証

以下のようにカスタムHTTPヘッダーを追加して、ライセンスキーを渡します。

ヘッダー

対応値

Api-Key

New Relic これをクエリ経由で送信することもできます。

オプション 2: クエリ文字列パラメータを使用した認証 ("ヘッダレス" 認証 )

ライセンスキーは、URLのクエリストリングパラメータとして渡すこともできます。これは、カスタムHTTPリクエストヘッダーを許可していないクラウドベースのソースからログを送信する際に便利です。

例: https://LOG_API_ENDPOINT/log/v1?Api-Key=YOUR_API_KEY_HERE

問い合わせパラメータ

価値

Api-Key

あなたのこれを HTTP ヘッダー経由で送信することもできます。

JSONボディ

JSONメッセージは、簡略化された属性セットまたは詳細な属性セットのいずれかを使用して送信できます。

対応する属性タイプ

属性は、以下のいずれのタイプでもよい。

JSONリクエストを入力する

NewRelicデータベースに保存されているタイプ

boolean

boolean

integer

integer

long

long

float

float

double

double

string

string (文字列値が文字列化されたJSONである場合、その値は解析され、そのフィールドは変数として抽出されることに注意してください。JSONメッセージ属性の解析を参照してください)

配列

(未対応)

上限値および文字の制限

注意

顧客向けのアプリケーションのコード内から当社のAPIを呼び出すことは避けてください。これは、パフォーマンスの問題を引き起こしたり、応答時間が遅い場合にアプリケーションをブロックする可能性があります。この方法で行う必要がある場合は、パフォーマンスの問題を回避するために、当社のAPIを非同期に呼び出してください。

Log APIに送信するログの制限。

  • ペイロードの合計サイズ:

    1MB(10^6 bytes) maximum per POST

    。 圧縮を使用することを強くお勧めします。

  • ペイロードは

    UTF-8

    としてエンコードする必要があります。

  • イベントごとの属性の数。最大255個

  • 属性名の長さ:255文字

  • 属性値の長さ:最初の4,094文字は、 messageなどの同じ名前のLogイベントフィールドとしてNRDBに格納されます。文字列値が4,094文字を超える場合、長い文字列をblobとして格納します。

一部の特定の属性には、追加の制限があります。

  • accountId:これは予約した属性名です。この名前が含まれている場合は、取り込み中に破棄されます。
  • appId: 整数でなければなりません。整数以外のデータ型を使用すると、データは取り込まれますが、クエリできなくなります。
  • entity.guidentity.name、およびentity.type:これらの属性は、エンティティを識別するために内部で使用されます。メトリックデータポイントの属性セクションでこれらのキーとともに送信される値によって、UIのエンティティが見つからない、またはテレメトリが予期されるエンティティと関連していないなどの未定義の動作が発生する場合があります。詳細については、エンティティの合成を参照してください。
  • eventType:これは予約した属性名です。この名前が含まれている場合は、取り込み中に破棄されます。
  • timestamp: Unix エポック タイムスタンプ (秒単位またはミリ秒単位) または ISO8601 形式のタイムスタンプである必要があります。

重要

タイムスタンプが48時間を超えるペイロードは削除される場合があります。

Log APIに送信されるログのレート制限。

  • Log APIに送信されるHTTPリクエストの最大レート:300,000リクエスト/分
  • Log APIに送信される非圧縮Log JSONバイトの最大レート:10GB/分

レートリミット違反

レートリミットを超えると、Log APIの動作に影響が出ます。このような場合は、以下の手順に従ってください。

ログのペイロードフォーマット

有効な JSON ペイロードはすべて受け入れられます。 ペイロードはUTF-8としてエンコードされる必要があります。

JSONメッセージ属性

JSONメッセージの属性解析

ログ管理機能は、すべてのmessage属性をJSONとして解析します。解析されたメッセージの結果のJSON属性がイベントに追加されます。 message属性がJSONでない場合は、そのまま残されます。

message属性の例を次に示します。

{
"timestamp": 1562767499238,
"message": "{\"service-name\": \"login-service\", \"user\": {\"id\": 123, \"name\": \"alice\"}}"
}

として扱われます。

{
"timestamp": 1562767499238,
"service-name": "login-service",
"user": {
"id": 123,
"name": "alice"
}
}

ログJSONの例

属性は、文字列や数値などのスカラ型JSONです。また、複合(または ネストした )オブジェクトにすることもできます。複合属性は、関連付けられた属性がフラット化された名前で保存されます。

たとえば、ログエントリの属性に含まれる複合user属性は次のとおりです。

"attributes": {
"action": "login",
"user": {
"id": 123,
"name": "alice"
}
}

これにより、以下の属性がログイベントとともに保存されます。

属性

価値

"action"

"login"

"user.id"

123

"user.name"

"alice"

ログのPOSTメッセージの例

ログPOSTメッセージの例:

bash
$
POST /log/v1 HTTP/1.1
$
Host: log-api.newrelic.com
$
Content-Type: application/json
$
Api-Key: <YOUR_LICENSE_KEY>
$
Accept: */*
$
Content-Length: 319
$
[{
$
"common": {
$
"attributes": {
$
"logtype": "accesslogs",
$
"service": "login-service",
$
"hostname": "login.example.com"
$
}
$
},
$
"logs": [{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged in"
$
},{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged out",
$
"attributes": {
$
"auditId": 123
$
}
$
}]
$
}]

このPOSTメッセージにより、次のログメッセージがNewRelicに保存されます。

属性

価値

"logtype"

"accesslogs"

"service"

"login-service"

"hostname"

"login.example.com"

ストアドログのブロック属性の例を示します。

属性

価値

"timestamp"

1550086450124

"message"

"User 'xyz' logged out"

"auditId"

123

JSON POSTリクエストの例

ここでは、JSONのPOSTリクエストの例を紹介します。

bash
$
POST /log/v1 HTTP/1.1
$
Host: log-api.newrelic.com
$
Content-Type: application/json
$
Api-Key: <YOUR_LICENSE_KEY>
$
Accept: */*
$
Content-Length: 133
$
{
$
"timestamp": <TIMESTAMP_IN_UNIX_EPOCH_OR_IS08601_FORMAT>,
$
"message": "User 'xyz' logged in",
$
"logtype": "accesslogs",
$
"service": "login-service",
$
"hostname": "login.example.com"
$
}

次は何ですか?

プラットフォーム全体のログデータを調べます

Copyright © 2024 New Relic株式会社。

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