Azure App Service Recherche d' Node.js
Pour utiliser Instana afin de surveiller une application Node.js s'exécutant en tant qu' Azure App Service, installez et activez le collecteur Node.js Azure App Service.
Plateformes prises en charge
Instana prend en charge la surveillance de Azure et App Service uniquement sur la plateforme Linux.
Prérequis
Si vous avez besoin d'une surveillance complète, incluant les métriques et la corrélation de l'infrastructure de votre environnement Microsoft Azure App Services, installez l 'agent du service cloud Azure.
Activation du collecteur à l'aide de l'interface CLI d' Azure
Pour activer le Node.js Azure App Service Collecteur avec Azure CLI, vous devez configurer le Node.js Azure App Service In-process Collector dans votre Node.js application.
Installation du collecteur
Ajoutez le package « @instana/azure-container-servicesInstana Collector » aux dépendances de votre projet :
npm install --save @instana/azure-container-services@latest
Activer le traçage
Utilisez les commandes suivantes pour activer le collecteur via l'interface CLI d' Azure. Si votre application utilise l' CommonJS,, suivez les étapes décrites dans la section suivante de CommonJS pour activer le traçage. Si votre application utilise des modules ECMAScript, suivez les étapes décrites dans la section suivante consacrée aux modules ECMAScript pour activer le traçage. Pour plus d'informations sur les variables d'environnement de l' Instana, consultez la section Variables d'environnement.
CommonJS
Si votre application utilise CommonJS, utilisez la commande suivante :
az webapp config appsettings set \
--name <app-name> \
--resource-group <resource-group-name> \
--settings NODE_OPTIONS='--require /path/to/instana/node_modules/@instana/azure-container-services' \
INSTANA_ENDPOINT_URL=<instana-endpoint-url> INSTANA_AGENT_KEY=<instana-agent-key>
L'exemple suivant montre un chemin typique vers node_modules : ./node_modules/@instana/azure-container-services.
Modules ECMAScript
Si l'application utilise des modules ECMAScript, utilisez la commande suivante (version de Node.js >= 18.19 ) :
az webapp config appsettings set \
--name <your-app-name> \
--resource-group <your-resource-group-name> \
--settings NODE_OPTIONS='--import /path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs' \
INSTANA_ENDPOINT_URL=<instana-endpoint-url> INSTANA_AGENT_KEY=<instana-agent-key>
L'exemple suivant montre un chemin typique vers node_modules : ./node_modules/@instana/azure-container-services/esm-register.mjs.
- Si votre version d' Node.js est antérieure à la version v18.19.0, vous devez utiliser
--experimental-loader /path/to/instana/node_modules/@instana/azure-container-services/esm-loader.mjsà la place de--import /path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs. - L'utilisation de
--experimental-loaderavecesm-loader.mjsn'est plus prise en charge dans les versions actuelles et sera supprimée lors de la prochaine mise à jour. Pour plus d'informations, consultez la section « Modifications importantes ».
Activation du collecteur sans utiliser l'interface de ligne de commande d' Azure
Pour activer le collecteur sur votre Node.js App Service, suivez les instructions de la section Installation manuelle ou si vous utilisez Docker, consultez les instructions de la section Docker.
Installation manuelle
Pour configurer le collecteur Node.js Azure App Service, vous devez installer le collecteur Node.js Azure App Service In-process Collector et activer le traçage.
Installation du collecteur
Ajoutez le package « collector » de Instana@instana/azure-container-services aux dépendances de votre projet :
npm install --save @instana/azure-container-services@latest
Activer le traçage
Si votre application utilise l' CommonJS,, suivez les étapes décrites dans la section suivante de CommonJS pour activer le traçage. Si votre application utilise des modules ECMAScript, suivez les étapes décrites dans la section suivante consacrée aux modules ECMAScript pour activer le traçage.
CommonJS
Pour les applications qui utilisent CommonJS, effectuez l'une des étapes suivantes lorsque vous démarrez l'exécutable Node.js. L'activation du drapeau NODE_OPTIONS ou --require charge et initialise le Node.js avant le code de votre application.
Définissez la variable
NODE_OPTIONSavant de lancer le processus d'activation de Node.js :NODE_OPTIONS="--require /path/to/instana/node_modules/@instana/azure-container-services"Vous pouvez également ajouter le
--requireparamètre à la commande qui lance Node.js. Si vous lancez habituellement l'application à l'aide de la commandeapp/index.jsnode, ajoutez un argument de ligne de--requirecommande supplémentaire. Voir l'exemple suivant :node --require /path/to/instana/node_modules/@instana/azure-container-services app/index.js
Modules ECMAScript
Si l'application utilise des modules ECMAScript, effectuez l'une des opérations suivantes lorsque vous lancez le fichier exécutable « Node.js ». La définition NODE_OPTIONS ou l'utilisation de --import l'argument initialise le collecteur « Node.js » avant le code de l'application. Pour plus d'informations sur les modules ECMAScript, consultez la documentation officielle de l' Node.js.
Avant de lancer la procédure d'activation d' Node.js, définissez la
NODE_OPTIONSvariable ( Node.js 18.19 et versions ultérieures) :NODE_OPTIONS="--import=/path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs"Vous pouvez également inclure le
--importparamètre lors du lancement de l'application Node.js. Si vous lancez votre application à l'aide de lanode app/index.mjscommande, ajoutez la--importcommande à l'argument de ligne de commande. Voir l'exemple suivant :node --import /path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs app/index.mjs
Installation Docker
Si vous créez l'application avec Docker, vous n'avez pas besoin d'installer manuellement le paquet @instana/azure-container-services. Le paquet est inclus dans l'image Docker disponible dans le icr.io/instana/azure-container-services-nodejs registre d'images.
Instana ne prend actuellement en charge que x86_64 l'architecture.
Activer le traçage
Si votre application utilise l' CommonJS,, suivez les étapes décrites dans la section suivante de CommonJS pour activer le traçage. Si votre application utilise des modules ECMAScript, suivez les étapes décrites dans la section suivante consacrée aux modules ECMAScript pour activer le traçage.
CommonJS
Si vous créez l'application avec Docker, ajoutez les lignes suivantes à votre Dockerfile après le dernierFROM clause:
COPY --from=icr.io/instana/azure-container-services-nodejs:includes/regular/../../../../../../../conrefs.html#conrefs__keyword.tracer_nodejs_version /instana /instana
ENV NODE_OPTIONS="--require /instana/node_modules/@instana/azure-container-services"
Ensuite, générez le conteneur et envoyez-le au référentiel d'images de votre choix.
Modules ECMAScript
Ajoutez les lignes suivantes à votre fichier Dockerfile après la dernière FROM clause (à partir de la version Node.js 18.19 ) :
COPY --from=icr.io/instana/azure-container-services-nodejs:includes/regular/../../../../../../../conrefs.html#conrefs__keyword.tracer_nodejs_version /instana /instana
ENV NODE_OPTIONS="--import=/instana/node_modules/@instana/azure-container-services/esm-register.mjs"
Ensuite, générez le conteneur et envoyez-le au référentiel d'images de votre choix.
Configuration des variables d'environnement dans le portail Azure
Avant de définir les variables d'environnement, assurez-vous que vous avez configuré le collecteur Node.js Azure App Service dans votre Azure App Service et que vous avez déployé votre application dans l'environnement Azure. Pour configurer les variables d'environnement nécessaires à l' Instana sur le portail Azure, procédez comme suit :
Ouvrez le fichier Azure App Service que Instana doit analyser.

Sur la page de configuration, cliquez sur Paramètres de l'application. Ensuite, ajoutez les variables d'environnement comme décrit dans la section Variables d'environnement.

Sauvegardez les modifications et redémarrez l'application.

Variables d'environnement
Pour configurer le collecteur Node.js Azure App Service, définissez les variables d'environnement suivantes :
INSTANA_ENDPOINT_URL: Votre point de terminaison de surveillance sans serveur. Veillez à utiliser la valeur correcte pour votre région qui commence parhttps://serverless-.INSTANA_AGENT_KEY: votre clé d'agent.
Vous pouvez définir ces variables par l'intermédiaire de l'interface de programmation (CLI) ou du portail d'Azure.