ログデータがすでに Amazon AWS FireLens によって監視されている場合は、弊社の FireLens 統合を使用して、New Relic でログデータを転送し、エンリッチすることができます。この統合は、弊社の Fluent Bit 出力プラグインをベースに構築されています。
FireLensのログをNew Relicに転送することで、ログデータの収集、処理、探索、クエリ、アラートなどのログ管理機能が強化されます。
基本的な手順
ログ管理機能を有効にするには
- 持っているか確認してください。
- FireLens log router container をサイドカーとして実行するように設定します。(サイドカーとは、サービスの中核となる責任の一部を、中核となるアプリケーションと一緒にデプロイされるコンテナ化されたモジュールに移す方法です)。
- アプリケーションコンテナの設定.
- いくつかのトラフィックを生成し、数分待ってから、 あなたのアカウント のデータをチェックしてください。
FireLensのログ・ルーター・コンテナの設定
New Relic では、Fluent Bit イメージを使用して、FireLens ログルーターコンテナを設定します。このコンテナは、アプリケーション・プラグインからのすべてのログ・ルーティングを処理します。
FireLensからNew Relicにログを転送するために。
- 既存のECSタスク定義に、Firelensログ・ルーターとして機能するサイドカー・コンテナを追加します。ECSのログ・ルーティングの設定については、 Amazon ECS documentation for custom log routing を参照してください。
- 推奨画像を、AWSリージョンのNew Relic Fluent Bit出力プラグインの画像に置き換えます。
memoryReservation
属性 をこのコンテナに設定します。
AWSリージョン | 画像のフルネーム |
---|---|
ap-northeast-1 |
|
ap-northeast-2 |
|
AP-NORTHE-3 |
|
ap-south-1 |
|
ap-southeast-1 |
|
ap-southeast-2 |
|
CA-CENTRAL-1 |
|
EU-CENTRAL-1 |
|
EU-NORTH-1 |
|
EU-WEST-1 |
|
EU-WEST-2 |
|
EU-WEST-3 |
|
sa-east-1 |
|
US-EAST-1 |
|
US-EAST-2 |
|
US-WEST-1 |
|
US-WEST-2 |
|
たとえば、
{ "essential": true, // Image below is New Relic's fluentbit output plugin available on ECR "image": "533243300146.dkr.ecr.us-east-2.amazonaws.com/newrelic/logging-firelens-fluentbit", "name": "log_router", "firelensConfiguration": { "type": "fluentbit", "options": { "enable-ecs-log-metadata": "true" } }}
アプリケーションコンテナの設定
AWS Secrets Manager(推奨)
タスク定義でNew Relicのライセンスキーを公開しないために、 Amazon AWS Secrets Manager サービスを使用することを強くお勧めします。
シークレットを追加する際には、 Plaintext タブを使用します。Secrets Managerにシークレットを追加したら、 logConfiguration
ブロックを使用して、 SECRET_NAME をAWSシークレットの名前に置き換えて、シークレットを参照することができます。例えば、以下のようになります。
"logConfiguration": {
"logDriver":"awsfirelens",
"options": {
"Name": "newrelic"
},
"secretOptions": [{
"name": "apiKey",
"valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:SECRET_NAME"
}]
}
平文キーの設定
logConfiguration
ブロックを使用し、 INSERT_API_KEY を New Relic のライセンスキーに置き換えます。設定の詳細については、GitHub の FireLens task definitions を参照してください。
"logConfiguration": {
"logDriver":"awsfirelens",
"options": {
"Name": "newrelic",
"apiKey": "NEW_RELIC_LICENSE_KEY"
}
構成例
New Relic EUアカウントにログを転送
Firelens からのログを New Relic EU アカウントに転送するには、アプリケーションコンテナ内の logConfiguration
オブジェクトの options
フィールドに追加のプロパティを追加します。
"endpoint": "https://log-api.eu.newrelic.com/log/v1"
ログデータの閲覧
すべての設定が正しく行われ、データが収集されていれば、この2つの場所にデータログが表示されるはずです。
- New Relic Logs UI
- NRQL クエリを実行するための New Relic ツール NRQL クエリを実行するための New Relic ツール 。例えば、以下のようなクエリを実行することができます。
SELECT * FROM Log
当社のログ管理機能を有効にしてもデータが表示されない場合は、当社の 標準的なログのトラブルシューティング手順 に従ってください。
次のステップ
New Relic One UI を使って、プラットフォーム全体のロギングデータを調べることができます。
- logs in context の機能を使ってログを転送することで、アプリケーションとプラットフォームの両方のパフォーマンスデータをより深く把握することができます。
- アラートの設定.
- データのクエリ と ダッシュボードの作成.
ログ転送を無効にする
ログ転送機能を無効にするには、 AWS Firelens documentation に記載されている標準的な手順に従ってください。New Relicでは他に何もする必要はありません。