AWS Lambda のモニタリングを有効にした後、AWS ログ データのレポートに使用される Lambda 関数newrelic-log-ingestion
を時々更新する必要があります。
これには2つの方法があります。
- CLIによるアップデート: CLIツールを使ってLambdaのモニタリングを有効にした場合に使用します.
- AWS Serverless Application Repository経由でのアップデート: 手動での手順を有効にした場合に使用します.
重要
これらの更新手順は、当社の AWS Lambda 用サーバーレス監視 に適用され、当社の AWS Lambda 統合用インフラ監視 には適用されません。
CLIによるLambdaインテグレーションの更新
このセクションでは、弊社推奨の CLIツール を使用してLambdaモニタリングが有効になっている場合のアップデート方法について説明します。
最新版のCLIを使用してください。
bash$pip install --upgrade newrelic-lambda-clinewrelic-log-ingestion
関数をインストールしたリージョンごとに、次のコマンドを実行します。YOUR_REGION
リージョン識別子 (例:us-west-2
) に置き換えます。bash$newrelic-lambda integrations update \>--aws-region YOUR_REGIONまた、弊社のログを有効にしていない場合は、以下のコマンドでAmazon CloudWatchのログ購読フィルターを更新する必要があります。
bash$newrelic-lambda subscriptions install \>--function installed \>--aws-region YOUR_REGION
CLIによるレイヤーの更新
このセクションでは、弊社の CLIツール でインストールした場合に、機能のLayerをアップデートする方法について説明します。
最新版のCLIを使用してください。
bash$pip install --upgrade newrelic-lambda-cliインストール コマンドに
--upgrade
フラグを渡します。bash$newrelic-lambda layers install \>--function installed \>--nr-account-id NR_ACCOUNT_ID \>--upgrade
手動のServerlessアプリケーションリポジトリのインストールを更新する
AWS Serverless Application Repository からインジェスト機能を手動でインストールした場合( CLI を使用しなかった場合)、この手順でアップデートしてください。
YOUR_REGION
ご使用のリージョンに置き換えて、次を実行します (たとえば、us-west-2
)。bash$aws serverlessrepo create-cloud-formation-change-set \>--application-id arn:aws:serverlessrepo:us-east-1:463657938898:applications/NewRelic-log-ingestion \>--stack-name NewRelic-log-ingestion \>--capabilities CAPABILITY_RESOURCE_POLICY \>--parameter-overrides Name=NRLicenseKey,Value=<YOUR_NR_LICENSE_KEY> \>--region <YOUR_REGION>このコマンドはいくつかのフィールドを出力します。そのうちの 1 つは
ChangeSetId
です: 作成したばかりの変更セットの ARN です。その ARN をコピーします。変更セットを実行するこのコマンドにARNを使用します。
bash$aws cloudformation execute-change-set --change-set-name YOUR_CHANGE_SET_ARN
ログ管理の有効化
現在 New Relic のが有効になっていないが、次の操作を実行したい場合は、
最新版のCLIを使用してください。
bash$pip install --upgrade newrelic-lambda-clinewrelic-log-ingestion
関数をインストールしたリージョンごとに、次のコマンドを実行して、YOUR_REGION
実際のリージョンに置き換えます (たとえば、us-west-2
)。bash$newrelic-lambda integrations update \>--enable-logs \>--aws-region YOUR_REGIONその後、以下のいずれかを行ってください。
以下のコマンドで、各リージョンのAmazon CloudWatchのログ購読フィルターを更新します。
bash$newrelic-lambda subscriptions install \>--function installed \>--filter-pattern "" \>--aws-region YOUR_REGIONまたは、CloudWatch と
newrelic-log-ingestion
Lambda をバイパスして、関数ログを New Relic に直接送信できます。これを行うには、Lambda 関数の設定で環境変数NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS=true
を設定します。その後、このコマンドを使用して、その機能に対する既存のNew Relicログサブスクリプションを必ず削除してください。
bash$newrelic-lambda subscriptions uninstall \>--function FUNCTION_NAME \>--aws-region YOUR_REGION拡張機能がログを送信しているときにログサブスクリプションが存在すると、ログが2回送信され、New Relicのログレコードが重複してしまいます。
オプションとして、CloudWatch Log取り込みのためのAmazonの料金 を避けたい場合は、関数の 実行ロール を変更して、CloudWatch Logのパーミッションを付与しないようにすることもできます。これにより、関数がCloudWatchにロギングされなくなります。
注意
CloudWatch ログの取り込み料金はかなりの額になりますが、このステップは慎重に行う必要があります。CloudWatchログを無効にする前に、New Relicのログ取り込み統合がうまく機能しており、ニーズを満たしていることを確認してください。