この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

AWS Lambdaのサーバーレス監視を可能にするためのトラブルシューティング

問題

AWS Lambdaのサーバーレスモニタリングを有効にしようとしていますが、問題またはエラーが発生しています。

解決

イネーブルメント手順 のすべてを完了しないことに関連して、2つの一般的な問題があります。

このような基本的なイネーブルメントの問題以外にも、問題を引き起こす可能性のある問題がいくつかあります。

  • CloudWatch エラー「HTTP エラー 401: 権限がありません。」これはAPIキーが正しくないことが原因です。 AWS 有効化の設定手順--nr-api-key引数は受け取ります。

  • カスタムメトリクスが不足しています。Lambdaのモニタリングは、 カスタムメトリクス と互換性がありません。 カスタムアトリビュート を使用して、メタデータを追加してください。

  • Invocations missing.呼び出しの内訳の詳細を表示するには、 Lambda instrumentation step の一部として分散トレースを有効にする必要があります。分散トレーシングは、スパンの詳細をinvocation detailsペインに表示するために必要です。

  • インストール、統合、インスツルメンテーションの手順が正しく完了し、機能がCloudWatchにログを送信していますが、UIに特定の依存関係のトレース(または任意のトレース)が表示されていません。これは、レイヤーのマージの順番(Lambdaレイヤーを使用している場合)や、インポートの順番(手動でインスツルメンテーションを行っている場合)に起因している可能性があります。

    • レイヤーを使ってインスツルメンテーションを行っている場合:関数の設定で、New Relic のレイヤーが他のレイヤーの前にマージされていることを確認してください(ただし、関数が webpack を使用している場合は、New Relic のレイヤーが webpack のレイヤーの後にマージされている必要があります)。
    • Node.js関数を手動でインストゥルメントした場合は、 ログ記録が有効になっていること、および監視対象の依存関係をインポートする前に関数が newrelic をインポートしていることを確認してください。
    • Node.js 関数で ES モジュールを使用している場合は、ハンドラー関数を/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handlerに変更してください。さらに、環境変数NODE_PATH--experimental-loader newrelic/esm-loader.mjsに設定します。

これらの解決策が役に立たない場合は、当社の サポートチーム にご連絡ください。以下の情報は、サポート技術者に相談する際の参考になります。

  • 以前、Lambda関数がUIに登場したことはありますか?あるとしたら、その関数の名前は何ですか?
  • Lambda関数のデータがUIに表示されている場合、具体的にはどのようなデータが表示されているのでしょうか。
  • どのAPM言語エージェントを使って機能を測定していますか?