New Relicアプリケーションモニタリング( APM )エージェントをAmazon ECS環境にインストールできます。 docker を使用して環境を計測すると、 APMデータとメトリクスを収集してNew Relicプラットフォームに送信できます。
エージェントを Docker コンテナにインストールします
エージェントを Docker コンテナに追加するには、使用している言語エージェントに固有のインストール手順に従います。
ECSタスク定義でエージェントを設定する
ECS 環境でエージェントを実行するには、タスク定義ファイルを変更する必要があります。 このファイルを使用すると、アプリを実行する方法を指定できます。 エージェントのセットアップでは、次の環境変数を定義する必要があります。
インフラエージェントをサイドカーとして設定する
インフラストラクチャエージェントを APMエージェントの サイドカー コンテナ として設定すると、環境の可視性がさらに高まります。APMエージェントにサイドカーを設定すると、アプリケーションとインフラストラクチャモニタリングの間の関係が確立され、データが関連付けられます。 これにより、サービス マップなどのさまざまな New Relic マッピング機能にデータが表示されます。
このサービス マップには、Fargate 環境のインフラエージェント サイドカーを使用してAPMエージェントから表示されたデータが含まれています。
タスク定義ファイルの例
言語エージェントとインフラストラクチャエージェントのサイドカーを設定するには、完全なタスク定義ファイルを更新します。 例えば:
{ "family": "nrExampleFargateDef", "containerDefinitions": [ { "name": "fargate-test", "image": "nrExample/fargate-test:latest", "cpu": 256, "memoryReservation": 1024, "portMappings": [ { "name": "fargate-test-80-tcp", "containerPort": 80, "hostPort": 80, "protocol": "tcp", "appProtocol": "http" } ], "essential": true, "environment": [ { "name": "NEW_RELIC_HOST", "value": "collector.newrelic.com" }, { "name": "NEW_RELIC_APP_NAME", "value": "Fargate Demo (AWS)" }, { "name": "NEW_RELIC_LICENSE_KEY", "value": "your-license-key" } ], "mountPoints": [], "volumesFrom": [], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/nrExampleFargateDef", "awslogs-create-group": "true", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "ecs" } }, "systemControls": [] }, { "name": "newrelic-infra", "image": "newrelic/nri-ecs:1.11.10", "cpu": 256, "memoryReservation": 512, "portMappings": [], "essential": true, "environment": [ { "name": "NRIA_IS_FORWARD_ONLY", "value": "true" }, { "name": "NRIA_LICENSE_KEY", "value": "your-license-key" }, { "name": "NRIA_VERBOSE", "value": "1" }, { "name": "NRIA_PASSTHROUGH_ENVIRONMENT", "value": "ECS_CONTAINER_METADATA_URI,ECS_CONTAINER_METADATA_URI_V4,FARGATE" }, { "name": "FARGATE", "value": "true" }, { "name": "NRIA_CUSTOM_ATTRIBUTES", "value": "{\"nrDeployMethod\":\"downloadPage\"}" } ], "mountPoints": [], "volumesFrom": [], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/newrelic-infra/ecs", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "verbose" } }, "systemControls": [] } ], "taskRoleArn": "arn:aws:iam::111111111111:role/ecsTaskExecutionRole", "executionRoleArn": "arn:aws:iam::111111111111:role/ecsTaskExecutionRole", "networkMode": "awsvpc", "requiresCompatibilities": ["FARGATE"], "cpu": "1024", "memory": "3072", "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" }}
タスク ファイルを変更したら、環境内でいくつかのデータをトリガーし、数分待ってからUI でデータを探します。
次は何ですか?
エージェントを設定したら、次の操作を行います。