Azure App Service - Code Linux
Présentation
Cette méthode d’instrumentation permet d’ajouter les fonctionnalités de surveillance suivantes aux charges de travail Azure App Service sous Linux :
- Tracing APM entièrement distribué via l’instrumentation automatique
- Vues service et trace personnalisées affichant les métriques et métadonnées Azure App Service pertinentes
- Prise en charge de l’instrumentation APM manuelle pour personnaliser les spans
- Injection des
Trace_ID
dans les logs d’application - Prise en charge de l’envoi de métriques custom à l’aide de DogStatsD
Cette solution tire parti de la commande de lancement et des paramètres d’application Azure App Service pour Linux afin d’instrumenter l’application et de gérer sa configuration. Java, Node, .NET, PHP et Python sont pris en charge.
Implémentation
Définir les paramètres d’application
Pour instrumenter votre application, commencez par ajouter les paires key/value suivantes sous Application Settings dans vos paramètres de configuration Azure.
DD_API_KEY
correspond à votre clé d’API Datadog.DD_CUSTOM_METRICS_ENABLED
(facultatif) permet d’activer les métriques custom.DD_SITE
correspond au paramètre du site Datadog. Votre site est
. Valeur par défaut : datadoghq.com
.DD_SERVICE
est le nom du service utilisé pour ce programme. Par défaut, sa valeur correspond à la valeur du champ name dans package.json
.DD_START_APP
est la commande utilisée pour lancer votre application. Par exemple, node ./bin/www
(non requis pour les applications exécutées dans Tomcat).
Identifier votre commande de lancement
Les applications web Azure App Service pour Linux créées à l’aide de l’option de déploiement de code sur des runtimes intégrés dépendent d’une commande de lancement qui varie d’un langage à l’autre. Les valeurs par défaut sont indiquées dans la documentation Azure. Vous trouverez des exemples ci-dessous.
Définissez ces valeurs dans la variable d’environnement DD_START_APP
. Les exemples ci-dessous sont donnés pour une application nommée datadog-demo
, lorsque cela s’avère pertinent.
Runtime | Exemple de valeur pour DD_START_APP | Description |
---|
Node.js | node ./bin/www | Exécute le fichier de configuration Node PM2 ou votre fichier de script. |
.NET Core | dotnet datadog-demo.dll | Exécute un fichier .dll qui utilise le nom de votre application Web par défaut.
Remarque : le nom de fichier .dll dans la commande doit correspondre au nom de fichier de votre fichier .dll . Dans certains cas, ce nom peut ne pas correspondre à votre application Web. |
PHP | cp /home/site/wwwroot/default /etc/nginx/sites-available/default && service nginx reload | Copie le script vers l’emplacement adéquat et lance l’application. |
Python | gunicorn --bind=0.0.0.0 --timeout 600 quickstartproject.wsgi | Script de lancement personnalisé. Cet exemple indique une commande Gunicorn pour lancer une application Django. |
Java | java -jar /home/site/wwwroot/datadog-demo.jar | La commande de lancement de votre application. Non requise pour les applications exécutées dans Tomcat. |
Remarque : l’application redémarre lorsque de nouveaux paramètres sont enregistrés.
Définir les paramètres généraux
Accédez à General settings et ajoutez ce qui suit dans le champ Startup Command :
curl -s https://raw.githubusercontent.com/DataDog/datadog-aas-linux/v1.7.0/datadog_wrapper | bash
Téléchargez le fichier datadog_wrapper
à partir des versions publiées et importez-le dans votre application avec la commande Azure CLI :
az webapp deploy --resource-group <nom-groupe> --name <nom-application> --src-path <chemin-vers-wrapper-datadog> --type=startup
Visualiser les traces
Lorsque de nouveaux paramètres d’application sont enregistrés, Azure redémarre l’application. Toutefois, si une commande de lancement est ajoutée et enregistrée, un redémarrage manuel peut être nécessaire.
Après le redémarrage de l’application, vous pouvez consulter les traces en recherchant le nom du service (DD_SERVICE
) sur la page Service de la solution APM de Datadog.
Métriques custom
Pour activer des métriques custom pour votre application avec DogStatsD, ajoutez le paramètre DD_CUSTOM_METRICS_ENABLED
et définissez-le sur true
dans vos paramètres d’application.
Pour configurer l’envoi de métriques par votre application, suivez les étapes indiquées pour votre runtime.
Dépannage
Si vous ne recevez pas les traces ou les métriques custom prévues, activez l’option App Service logs pour recevoir les logs de debugging.
Partagez le contenu du Log stream avec l’assistance Datadog.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: