AWS Lambda関数newrelic-log-ingestion
を使用して、New RelicにAmazon CloudWatchログを送信できます。これは、AWSサーバーレスアプリケーションリポジトリから簡単にデプロイできます。
CloudWatchログをNew Relicに転送すると、ログデータの収集、処理、探索、クエリ、アラートを実行する機能が強化されます。
CloudWatchログでのLambda関数のインストールと設定
次の設定は、環境変数を設定するための1つのアプローチを示しています。関数ページから設定することもできます。
次の項目を完了します。
があることを確認してください。
ブラウザでAWS Serverless Application Repositoryを開きます
newrelic
を検索し、Show apps that create custom IAM roles or resource policies [カスタムIAMロールまたはリソースポリシーを作成するアプリを表示する]をオンにして、newrelic-log-ingestion
を見つけますnewrelic-log-ingestion
の詳細を開き、Deployをクリックします。関数のConfigure [設定]メニューでEnvironment Variables [環境変数]に移動し、次の環境変数を使用してログ転送を設定します。
キー | 説明 |
---|---|
| CloudWatchコンソールにデバッグメッセージを出力するかどうかを決定するブール値。Optional [オプション]。 デバッグログをオンにするには、これを |
| はNew Relicへのデータ送信に使用します。Required [必須]。 |
| ログをNew Relicに転送するかどうかを決定します。Required [必須]。ログ記録を有効にするには、これを |
| すべてのログイベントに付加するタグを指定します。Optional [オプション]。 各タグは、コロンで区切られたキーと値で構成されます。複数のキーの値のペアはセミコロンで区切られます( |
|
|
|
|
- アプリがカスタムIAMロールを作成することを確認したら、Deployをクリックします。
処理が完了したら、 Lambdaトリガーを作成して、Lambda関数とCloudWatchログを連携させます。
Lambdaトリガーの作成
取り込み機能では、ログサブスクリプションではなく、必ずトリガーを設定してください。サブスクリプションがLambdaコンソールで設定されていると、一連のログが生成され、New Relicに転送される可能性があります。
ログをNew Relicにストリーミングするには、Lambdaにトリガーをアタッチします。
- 左側のメニューからFunctionsを選択します。
- 以前に作成した
newrelic-log-ingestion
関数を見つけて選択します - Triggers [トリガー]でAdd Triggers [トリガーの追加]をクリックし、ドロップダウンからCloudWatch Logsを選択します。
- アプリケーションに適切なLog groupを選択します。
- フィルターの名前を入力します。
- オプション:フィルターパターンを入力します。
- Enable triggerチェックボックスをオンにし、Addをクリックしてトリガーを作成します。
このドキュメントはインストールで役立ちましたか。
オプション:さまざまなログエンドポイントの設定
必要に応じてカスタムログエンドポイントを設定できます。これにより、たとえば、FedRAMP準拠のエンドポイントを使用できるようになります。
そのためには、上で説明したアプリケーションをデプロイしてから、次のことを行う必要があります。
AWSに最近デプロイされたLambda関数ビューに移動します。
下にスクロールして、
Configuration
タブをクリックします。Configuration
タブ内の左側のメニューで、Environment Variables
をクリックします。ここで、既存の環境変数のリストを確認できます。
Environment Variables
テーブルの右上にある Edit[編集] をクリックするだけです。適切なエンドポイントで
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
- 米国の場合 :
Saveをクリックします。
オプション:再試行の設定
通信の問題により関数がデータの送信に失敗した場合に、実行する再試行の回数を設定できます。推奨される再試行回数は3回ですが、以下のパラメーターを変更することで再試行動作を変更できます。
ヒント
再試行の回数が増えると、関数の実行時間が長くなる可能性があります。これにより、Lambdaのコストが高くなる可能性が高くなります。ただし、再試行の回数を減らすと、データ損失の可能性が高まる可能性があります。
MAX_RETRIES = 3 # Defines the number of retries after lambda failure to deliver dataINITIAL_BACKOFF = 1 # Defines the initial wait seconds until next retry is executedBACKOFF_MULTIPLIER = 2 # Time multiplier between the retriesAs 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設定はデフォルトのままにすることができます。
ログデータの表示
すべてが正しく設定され、データが収集されている場合は、次の両方の場所にログデータが表示されます。
SELECT * FROM Log
If no data appears after you enable our log management capabilities, follow our standard log troubleshooting procedures.
次のステップ
プラットフォーム全体のロギングデータを調べます。
- Get deeper visibility into both your application and your platform performance data by forwarding your logs with our logs in context capabilities.
- Set up alerts.
- Query your data and create dashboards.
Disable log forwarding
ログ転送機能を無効にするには、Amazon CloudWatchドキュメントの標準手順に従ってください。New Relicでは特に何もする必要はありません。