Compute@Edge ログストリーミング:New Relic Logs
最終更新日 2023-05-24
Fastly の Compute@Edge サービスのリアルタイムログストリーミング機能では、ログファイルを New Relic Logs に送信することができます。
注意
Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly サービスの利用規約をご参照ください。
前提条件
Fastly Compute@Edge サービスのログエンドポイントとして New Relic Logs を追加する前に以下が必要です。
- New Relic アカウント を登録します。
- ライセンスキーを取得するか、任意で を作成します。
ログエンドポイントとして New Relic Logs を追加する
以下の手順で New Relic Logs をログエンドポイントとして追加します。
- Rust、AssemblyScript、および JavaScript で書かれた Compute@Edge コードでログ記録を実行する方法に関する詳細については Fastly の開発者向けドキュメントをご覧ください。
- New Relic Logs のCreate endpointボタンをクリックします。Create a New Relic Logs endpoint ページが表示されます。
- 以下の要領でCreate a New Relic Logs endpointページの各フィールドに入力します。
- Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は
my_endpoint_name
です。 - License key / Insert keyフィールドに、New Relic のライセンスキーまたは Insert API キーを入力します。
- Name フィールドに、Compute@Edge コードに指定した名前を入力します。例えば、Rust コードの例では、名前は
- Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
- Activate ボタンをクリックして設定変更をデプロイします。
New Relic Instant Observability の事前構築 Fastly ダッシュボードの使用
New Relic I/Oは、コミュニティが貢献したさまざまなモニタリングクイックスタートを備えたオープンソースのエコシステムです。New Relic と協力し、重要なメトリクスをハイライトする事前構築済みダッシュボードを開発しました。コードはオープンソースであるため、カスタマイズすることができます。
ログメッセージの設定
New Relic Logs に送られるデータは、JSON オブジェクトとして直列化する必要があります。JSON オブジェクトには、次のフィールドが含まれます:
timestamp
:リクエストが発生した場合。エポックが New Relic タイムスタンプを上書きするため、タイムスタンプはミリ秒または秒として指定する必要があります。タイムスタンプが含まれていない場合は、Fastly によってタイムスタンプが生成されます。client_ip
:HTTP リクエストを行ったクライアントの IP アドレス。url
:リクエストの URL。resp_status
:リクエストの HTTP ステータスコード。client_resp_header_size_write
:レスポンスヘッダーのサイズ。client_resp_body_size_write
:レスポンスボディのサイズ。fastly_datacenter
:現在のインスタンスが実行されている FASTLY_POP の3文字の識別コード。time_elapsed
:リクエストが開始された時間。service_id
:現在のリクエストを処理する Fastly サービスの識別子。
JSON オブジェクトの例は、下記のとおりです。
1{2 "timestamp": 1661976797605,3 "logtype": "accesslogs",4 "cache_status": "ERROR",5 "client_ip": "127.0.0.1",6 "client_device_type": "Chromebook",7 "client_os_name": "Ubuntu",8 "client_os_version": "17.10 (Artful Aardvark)",9 "client_browser_name": "Firefox",10 "client_browser_version": "113.0",11 "client_as_name": "zayo bandwidth",12 "client_as_number": "1234",13 "client_connection_speed": "broadband",14 "client_port": 63850,15 "client_rate_bps": 0,16 "client_recv_bytes": 74,17 "client_requests_count": 1,18 "client_resp_body_size_write": 56789,19 "client_resp_header_size_write": 1234,20 "client_resp_ttfb": 1.342,21 "client_rtt_us": 6818,22 "content_type": "text/html; charset=utf-8",23 "domain": "example.com",24 "fastly_datacenter": "HNL",25 "fastly_host": "cache-hnl00001",26 "fastly_is_edge": true,27 "fastly_region": "US-Pacific",28 "fastly_server": "cache-hnl00001-HNL",29 "host": "example.com",30 "origin_host": "example.com",31 "origin_name": "n/a",32 "request": "GET",33 "request_method": "GET",34 "request_accept_charset": "utf-8",35 "request_accept_language": "en-US",36 "request_referer": "",37 "request_user_agent": "curl/7.68.0",38 "resp_status": "503",39 "response": "Backend unavailable, connection timeout",40 "service_id": "000q0j0WE0f00z0KEVj5I0",41 "service_version": "29",42 "status": "503",43 "time_start": "2023-05-18T23:21:52Z",44 "time_end": "2023-05-18T23:21:53Z",45 "time_elapsed": 237,46 "tls_cipher": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",47 "tls_version": "TLS 1.2",48 "url": "/",49 "user_agent": "curl/7.68.0",50 "user_city": "san francisco",51 "user_country_code": "US",52 "user_continent_code": "NA",53 "user_region": "CA"54}
JSON オブジェクトに予想されるフィールドがすべて含まれていない場合、事前構築されたダッシュボードは壊れませんが、特定のチャートにはデータが含まれません。
期待されるフィールドに加えて、個人の目的のためにJSON オブジェクトに選択したフィールドを含めるか、構築した既存のダッシュボードとの後方互換性を維持することができます。
Fastly ダッシュボードをインストールする
Fastly ダッシュボードクイックスタートをインストールする手順に従ってください。
- 新しい Relic マーケットプレイスから Fastly ダッシュボードクイックスタートを選択するか、Fastly ダッシュボードページに直接移動します。Fastly CDN ページが表示されます。
- Install quickstart ボタンをクリックします。クイックスタートインストールページが表示されます。
- インストールを開始ボタンをクリックします。インストールプランウィンドウが表示されます。
- Done ボタンまたは Skip this step リンクをクリックします。
- データを表示ボタンをクリックします。Fastly ダッシュボードが表示されます。