ログデータがすでに Amazon CloudWatch Logs によって監視されている場合、当社の Kinesis Data Firehose 統合を使用して、New Relic でログデータを転送し、エンリッチすることができます。Kinesis Data Firehose は、当社のプラットフォームを含むさまざまな宛先にデータをリアルタイムにストリーミングできるサービスです。
CloudWatch LogsやKinesisストリームに対応した他のログをNew Relicに転送することで、ログデータの収集、処理、探索、問い合わせ、アラートなどのログ管理機能を強化することができます。
New Relic の配信ストリームを作成します。
Kinesis Data FirehoseからNew Relicにログを転送するために。
手順に従い、 Amazon Kinesis Data Firehose の配信ストリームを作成 、配信先として New Relic を選択します。AWSマネジメントコンソールで、 Amazon Kinesis にアクセスします。
Kinesis Data Firehose を選択し、 Create delivery stream をクリックします。
ストリームの名前を入力し、データソースを選択します。
送信先を選択する際、 サードパーティパートナー をクリックし、 New Relic をクリックします。
HTTP エンドポイント URL の下で、ドロップダウンから New Relic logs - US を選択します。
注: EUにログを送信するには、このセクションの残りの手順を完了してから、 EUアカウントの設定手順 に進んでください。
ライセンスキー を API キー フィールドに貼り付けます。
Content encoding が
GZIP
に設定されていることを確認する。バッファサイズ
1 MiB
Buffer hints/Buffer size
を設定します(デフォルトではBuffer hints
の項目は折りたたまれていることに注意)。より詳細な説明は、 バッファ設定セクション を参照してください。残りのメタデータの設定を行い、確認します。
AWSマネジメントコンソールで追加したオプションのキー/バリューペアは、New Relicで使用できる属性/バリューペアになります。
Kinesis Data Firehoseは、各HTTPコールにこれらのキー・バリュー・ペアを含みます。これらの Kinesis Firehose Parameters は、目的地を特定して整理するのに役立ちます。
EUのアカウントにログを送信するようにストリームを設定する
EUのデータセンターでNew Relicアカウントをお持ちの方。
標準的な手順に従って、 デリバリーストリームを作成する.
ストリームが作成されたら、 Amazon Kinesis Console に移動し、 Delivery streams をクリックします。
新しく作成した配信ストリームの名前をクリックして、 Configuration タブを選択します。
Destination settings セクションの横で、 Edit をクリックします。
HTTPエンドポイントのURL の値をEUアカウント用のFirehoseエンドポイントに更新してください。
https://aws-api.eu.newrelic.com/firehose/v1Save changes をクリックすると、ストリームが更新されます。
ログデータの閲覧
すべての設定が正しく行われ、データが収集されていれば、この2つの場所にデータログが表示されるはずです。
- New Relic Logs UI
- NRQL クエリを実行するための New Relic ツール NRQL クエリを実行するための New Relic ツール 。例えば、以下のようなクエリを実行することができます。
SELECT * FROM Log
当社のログ管理機能を有効にしてもデータが表示されない場合は、当社の 標準的なログのトラブルシューティング手順 に従ってください。
バッファ構成の特記事項
AWSのLogsに当社のKinesis Firehoseインテグレーションを選択すると、ウィザードは画面の下に Buffer hints
、という小さなセクションを隠します。このセクションには、 Buffer size
と Buffer interval
という2つの非常に重要な設定オプションが含まれています。
デフォルト値は、 Buffer size
が 5 MiB、 Buffer interval
が 60 秒です。これは、Firehose が 5 MiB のデータを含むか、最後に New Relic にフラッシュされてから 60 秒が経過するまでログを蓄積することを意味します。 これらのデフォルト設定は New Relic には適切ではありません 、Buffer size
として1MiBを使用し、GZIP本体圧縮をアクティブにすることを強くお勧めします 。
なぜこれを推奨するのか?New Relic は、Logs API への個々の HTTP POST リクエストに対して、最大で 1 MB (1.000.000 bytes) のペイロードを受け付けます。所定の 60 秒間の蓄積期間中に、蓄積されたログのサイズが 1 MB を超えた場合、 413
HTTP エラーでそれらのログを拒否します。なお、配信ストリームでは、最低でも1MiB(1.048.576バイト)のバッファサイズを設定することができます。この値は New Relic Logs API で許可される 1MB よりもわずかに大きいものの、GZIP 圧縮を使用することで、結果のペイロードは 1MB の制限よりも小さくなります。
次のステップ
New Relic One UI を使って、プラットフォーム全体のロギングデータを調べることができます。
- logs in context の機能を使ってログを転送することで、アプリケーションとプラットフォームの両方のパフォーマンスデータをより深く把握することができます。
- アラートの設定.
- データのクエリ と ダッシュボードの作成.
ログ転送を無効にする
ログ転送機能を無効にするには、 Kinesis Data Firehose documentation に記載されている標準的な手順に従ってください。New Relic では、他に何もする必要はありません。