Problème
Vous essayez d'activer monitoring sans serveur pour AWS Lambda et rencontrez un problème ou une erreur.
Solution
Il existe deux problèmes courants liés au fait de ne pas terminer toutes les procédures d'activation:
- Aucune donnée ne s'affiche sur la page d'interface utilisateur CloudWatch metrics . Cela signifie que l’ étape d’intégration AWS n’a pas été terminée.
- Les données ne s'affichent pas sur les pages de l'interface utilisateur de la catégorie Troubleshooting . Si vous ne voyez pas de données dans les onglets d'interface utilisateur Distributed tracing, Errors et Invocations , cela signifie que l'étape d'instrumentation de l'agent APM n'a pas été terminée.
Outre ces problèmes d'activation de base, certains problèmes supplémentaires peuvent entraîner un problème :
Erreur CloudWatch « Erreur HTTP 401 : non autorisée ». Cela est dû à une clé API incorrecte. L'argument
--nr-api-key
dans l'étape Configurer AWS enable prend votre .Les métriques personnalisées sont manquantes. Lambda monitoring n'est pas compatible avec nos métriques personnalisées. Utilisez l'attribut personnalisé pour ajouter des métadonnées.
Invocations manquantes. Pour voir les détails de la répartition des appels, le tracing distribué doit être activé dans le cadre de l’ étape d’instrumentation Lambda . Le tracing distribué est requis pour que les détails de l'étendue puissent être affichés dans le volet des détails de l'invocation.
Vous avez terminé correctement les étapes d'installation, d'intégration et d'instrumentation, et votre fonction envoie les logs à CloudWatch mais vous ne voyez pas de trace pour une dépendance spécifique (ou aucune trace) dans l'interface utilisateur. Cela peut résulter de l'ordre de fusion des couches (si vous utilisez nos couches Lambda ) ou de l'ordre d'importation (si vous êtes instrumenté manuellement) :
- Si vous êtes instrumenté avec des couches : assurez-vous dans configuration de votre fonction que la couche New Relic est fusionnée avant les autres couches (bien que si votre fonction utilise webpack, la couche New Relic doit être fusionnée après la couche webpack).
- Si vous avez instrumenté une fonction Node.js manuellement, assurez-vous que le logging est activé et que votre fonction importe newrelic avant d'importer toute dépendance que vous prévoyez de monitorer.
- Si vous utilisez des modules ES avec une fonction Node.js, assurez-vous de modifier la fonction de gestionnaire en
/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler
. De plus, définissez la variable d’environnement deNODE_PATH
sur--experimental-loader newrelic/esm-loader.mjs
.
Si aucune de ces solutions ne vous aide, contactez notre équipe d'assistance. Les informations suivantes vous aideront lorsque vous parlerez aux techniciens d'assistance :
- La fonction Lambda est-elle déjà apparue dans l’interface utilisateur ? Si oui, quel est le nom de la fonction ?
- Si certaines données de la fonction Lambda apparaissent dans l’interface utilisateur, quelles données spécifiques apparaissent ?
- Quel agent de langage APM utilisez-vous pour instrumenter la fonction ?