• English日本語한국어
  • ログイン今すぐ開始

CloudWatchログ送信用のAWS Lambda

AWS Lambda関数newrelic-log-ingestionを使用して、New RelicにAmazon CloudWatchログを送信できます。これは、AWSサーバーレスアプリケーションリポジトリから簡単にデプロイできます。

CloudWatchログをNew Relicに転送すると、ログデータの収集、処理、探索、クエリ、アラートを実行する機能が強化されます。

CloudWatchログでのLambda関数のインストールと設定

次の設定は、環境変数を設定するための1つのアプローチを示しています。関数ページから設定することもできます。

次の項目を完了します。

  1. があることを確認してください。

  2. ブラウザでAWS Serverless Application Repositoryを開きます

  3. newrelicを検索し、Show apps that create custom IAM roles or resource policies [カスタムIAMロールまたはリソースポリシーを作成するアプリを表示する]をオンにして、newrelic-log-ingestionを見つけます

  4. newrelic-log-ingestionの詳細を開き、Deployをクリックします。

  5. 関数のConfigure [設定]メニューでEnvironment Variables [環境変数]に移動し、次の環境変数を使用してログ転送を設定します。

キー

説明

DEBUG_LOGGING_ENABLED

CloudWatchコンソールにデバッグメッセージを出力するかどうかを決定するブール値。Optional [オプション]。

デバッグログをオンにするには、これをtrueに設定します。デフォルトはfalseです。

LICENSE_KEY

はNew Relicへのデータ送信に使用します。Required [必須]。

LOGGING_ENABLED

ログをNew Relicに転送するかどうかを決定します。Required [必須]。ログ記録を有効にするには、これをtrueに設定します。

NR_TAGS

すべてのログイベントに付加するタグを指定します。Optional [オプション]。

各タグは、コロンで区切られたキーと値で構成されます。複数のキーの値のペアはセミコロンで区切られます(env:prod;team:myTeamなど)。

NR_LAMBDA_LOG_GROUP_PREFIX

/aws/lambdaとは異なるパスを使用するようにLambdaロググループを設定している場合は、この変数を使用して指定できます。Optional [オプション]。

NR_VPC_LOG_GROUP_PREFIX

/aws/vpc/flow-logとは異なるパスを使用するようにVPCロググループを設定している場合は、この変数を使用して指定できます。Optional [オプション]。

  1. アプリがカスタムIAMロールを作成することを確認したら、Deployをクリックします。

処理が完了したら、 Lambdaトリガーを作成して、Lambda関数とCloudWatchログを連携させます。

Lambdaトリガーの作成

取り込み機能では、ログサブスクリプションではなく、必ずトリガーを設定してください。サブスクリプションがLambdaコンソールで設定されていると、一連のログが生成され、New Relicに転送される可能性があります。

ログをNew Relicにストリーミングするには、Lambdaにトリガーをアタッチします。

  1. 左側のメニューからFunctionsを選択します。
  2. 以前に作成したnewrelic-log-ingestion関数を見つけて選択します
  3. Triggers [トリガー]でAdd Triggers [トリガーの追加]をクリックし、ドロップダウンからCloudWatch Logsを選択します。
  4. アプリケーションに適切なLog groupを選択します。
  5. フィルターの名前を入力します。
  6. オプション:フィルターパターンを入力します。
  7. Enable triggerチェックボックスをオンにし、Addをクリックしてトリガーを作成します。

このドキュメントはインストールで役立ちましたか。

オプション:さまざまなログエンドポイントの設定

必要に応じてカスタムログエンドポイントを設定できます。これにより、たとえば、FedRAMP準拠のエンドポイントを使用できるようになります。

そのためには、上で説明したアプリケーションをデプロイしてから、次のことを行う必要があります。

  1. AWSに最近デプロイされたLambda関数ビューに移動します。

  2. 下にスクロールして、Configurationタブをクリックします。

  3. Configurationタブ内の左側のメニューで、Environment Variablesをクリックします。

  4. ここで、既存の環境変数のリストを確認できます。 Environment Variables テーブルの右上にある Edit[編集] をクリックするだけです。

  5. 適切なエンドポイントでNR_LOGGING_ENDPOINTを更新します。

    • 米国の場合 : 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. Saveをクリックします。

オプション:再試行の設定

通信の問題により関数がデータの送信に失敗した場合に、実行する再試行の回数を設定できます。推奨される再試行回数は3回ですが、以下のパラメーターを変更することで再試行動作を変更できます。

ヒント

再試行の回数が増えると、関数の実行時間が長くなる可能性があります。これにより、Lambdaのコストが高くなる可能性が高くなります。ただし、再試行の回数を減らすと、データ損失の可能性が高まる可能性があります。

MAX_RETRIES = 3 # Defines the number of retries after lambda failure to deliver data
INITIAL_BACKOFF = 1 # Defines the initial wait seconds until next retry is executed
BACKOFF_MULTIPLIER = 2 # Time multiplier between the retries
As an example, in default above configuration, first retry will happen after 1 second, second retry after 2 seconds and third retry will happen after 4 seconds.

SAMテンプレートで作成したリソース

リポジトリからアプリケーションを作成すると、次のリソースも作成されます。

  • Lambda関数自体
  • CloudWatchログに基づいてLambda関数に実行権限を与えるために使用されるロール

リストされていない他のすべてのLambda設定はデフォルトのままにすることができます。

ログデータの表示

すべてが正しく設定され、データが収集されている場合は、次の両方の場所にログデータが表示されます。

  • Our logs UI
  • NRQLクエリを実行するためのNew Relicツール。たとえば、次のようなクエリを実行できます。
SELECT * FROM Log

If no data appears after you enable our log management capabilities, follow our standard log troubleshooting procedures.

次のステップ

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

Disable log forwarding

ログ転送機能を無効にするには、Amazon CloudWatchドキュメントの標準手順に従ってください。New Relicでは特に何もする必要はありません。

Copyright © 2024 New Relic Inc.

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