• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

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をチェックしてnewrelic-log-ingestionを見つけます。

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

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

    キー

    説明

    DEBUG_LOGGING_ENABLED

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

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

    LICENSE_KEY

    New Relicへのデータ送信に使用されます。必須。

    LOGGING_ENABLED

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

    NR_TAGS

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

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

    NR_LAMBDA_LOG_GROUP_PREFIX

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

    NR_VPC_LOG_GROUP_PREFIX

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

  6. アプリがカスタム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設定はデフォルトのままにすることができます。

ログデータの表示

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

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

ログ管理機能を有効にしてもデータが表示されない場合は、標準のログトラブルシューティング手順に従ってください。

次のステップ

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

ログ転送の無効化

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

Copyright © 2024 New Relic株式会社。

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