AWS Lambda関数newrelic-log-ingestion
を使用して、 AmazonCloudWatchログをNewRelicに送信できます。これは、AWSサーバーレスアプリケーションリポジトリから簡単にデプロイできます。
CloudWatchのログをNew Relicに転送することで、ログデータの収集、処理、探索、クエリ、アラートなどのログ管理機能が強化されます。
Cloudwatch logs Lambda functionのインストールと設定
以下の設定は、環境変数を設定するための一つの方法です。 Functions のページからも設定できます。
次の項目を完了します。
- New Relic のライセンスキーがあることを確認してください 。
- AWS Serverless Application Repository をブラウザで開きます。
newrelic
を検索し、 [カスタムIAMロールまたはリソースポリシーを作成するアプリを表示する]をオンにして、newrelic-log-ingestion
を見つけます。newrelic-log-ingestion
の詳細を開き、[デプロイ]をクリックします。- 機能の Configure メニューの Environment Variables に進み、以下の環境変数を使ってログフォワーディングを設定します。
キー | 説明 |
---|---|
| CloudWatchコンソールにデバッグメッセージを出力するかどうかを決定するブール値です。 任意です。 デバッグログをオンにするには、これを |
| New Relicのライセンスキー データをNew Relicに送信する際に使用します。 必要です。 |
| ログをNewRelicに転送するかどうかを決定します。必須。ロギングをオンにするには、これを |
| New Relic のログ用インジェストエンドポイント。 必須.2つのエンドポイントがあります。
|
| すべてのログイベントに追加するタグを指定します。 オプションです。 各タグは、コロンで区切られたキーと値で構成されます。複数のキーと値のペアはセミコロンで区切られます。たとえば、 |
|
|
|
|
- アプリがカスタムIAMロールを作成することを確認してから、 Deploy をクリックします。
処理が完了したら、 Lambdaトリガーを作成して、Lambda関数とCloudWatchログを連携させます。
Lambdaトリガーの作成
ログをNew Relicにストリーミングするには、Lambdaにトリガーを取り付けます。
- 左側のメニューから「 Functions 」を選択します。
- 以前に作成した
newrelic-log-ingestion
関数を見つけて選択します。 - Designer の下で、 Add Triggers をクリックし、ドロップダウンから Cloudwatch Logs を選択します。
- お客様のアプリケーションに適切な Log group を選択してください。
- フィルターの名前を入力します。
- オプションです。 フィルターパターンを入力.
- Enable trigger のチェックボックスをチェックし、 Add をクリックしてトリガーを作成します。
リトライの設定(オプション)
通信の問題で機能がデータの送信に失敗した場合に実行するリトライの回数を設定することができます。推奨数は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テンプレートで作成されたリソース
リポジトリからアプリケーションを作成すると、以下のリソースも作成されます。
- ラムダ関数自体
- CloudWatch Logsに基づいてLambda関数に実行権限を与えるために使用されるロールです。
記載されていないその他のLambdaの設定は、デフォルトのままで構いません。
ログデータの閲覧
すべての設定が正しく行われ、データが収集されていれば、この2つの場所にデータログが表示されるはずです。
- NewRelicのログUI
- NRQL クエリを実行するための New Relic ツール NRQL クエリを実行するための New Relic ツール 。例えば、以下のようなクエリを実行することができます。
SELECT * FROM Log
当社のログ管理機能を有効にしてもデータが表示されない場合は、当社の 標準的なログのトラブルシューティング手順 に従ってください。
次のステップ
New Relic One UI を使って、プラットフォーム全体のロギングデータを調べることができます。
- logs in context の機能を使ってログを転送することで、アプリケーションとプラットフォームの両方のパフォーマンスデータをより深く把握することができます。
- アラートの設定.
- データのクエリ と ダッシュボードの作成.
ログ転送を無効にする
ログ転送機能を無効にするには、 Amazon CloudWatch documentation の標準的な手順に従います。New Relic では、他に何もする必要はありません。