Microsoft Azure Deployment Manager
Présentation
Azure Deployment Manager (ADM) vous permet de coordonner un lancement par étapes pour le déploiement sécurisé d’applications complexes.
Utilisez Datadog pour créer un check de santé pour Azure Deployment Manager et pour arrêter votre déploiement si des problèmes sont détectés.
Liste des infrastructures
Pour utiliser Datadog comme check de santé pour ADM, vous avez besoin d’un compte Datadog actif et d’une instance active d’Azure Deployment Manager.
Dépannage de la solution Browser
- Commencez par configurer des monitors dans Datadog pour votre déploiement. Commencez avec un monitor pour chaque région. Selon la complexité de votre application, il peut être utile de configurer des monitors pour les différentes étapes de déploiement dans chaque région. Suivez le Didacticiel : Utiliser Azure Deployment Manager avec des modèles Resource Manager pour mieux savoir où placer les monitors. Pour obtenir des idées de monitor, consultez cet article du blog.
- Si vous avez configuré plusieurs monitors pour chaque région, créez un monitor composite pour chaque étape de déploiement ou région. Chaque monitor composite est une combinaison logique de plusieurs monitors qui, ensemble, indiquent le statut général d’une étape de déploiement.
- Configurez ensuite Datadog comme check de santé dans la topologie Azure Deployment Manager dans le cadre du déploiement. Définissez ces étapes de check de santé comme dépendances entre les étapes de déploiement. Utilisez le modèle en remplaçant
<CLÉ_API>
et <CLÉ_APP>
par vos clés d’API et d’application Datadog. Créez une section dans resources
pour chaque monitor (ou monitor composite) que vous venez de créer, et remplacez <ID_MONITOR>
par l’ID du monitor. Il est possible d’ajouter plusieurs checks dans une étape de check de santé, mais Datadog vous conseille de créer un check par étape de check de santé, puis de créer des étapes de check de santé supplémentaires pour chaque monitor composite. Si vous définissez le check avec autre chose qu’un monitor composite, veillez à mettre à jour la regex
en conséquence. - Suivez la documentation Microsoft pour lancer le déploiement.
Exemple de check de santé
Voici la partie du modèle de déploiement Azure Deployment Manager qui constitue le check de santé :
{
"healthChecks": [
{
"name": "datadogCompositeMonitor1",
"request": {
"method": "GET",
"uri": "https://api.datadoghq.com/api/v1/monitor/<ID_MONITOR>?application_key=<CLÉ_APP>",
"authentication": {
"type": "ApiKey",
"name": "apikey",
"in": "Query",
"value": "<CLÉ_API>"
}
},
"response": {
"successStatusCodes": ["200"],
"regex": {
"matches": ["\"overall_state\"\\s*:\\s*\"OK\""],
"matchQuantifier": "All"
}
}
}
]
}
Exemple d’étape de check de santé
Voici la partie du modèle de déploiement Azure Deployment Manager qui constitue l’étape de check de santé :
{
"apiVersion": "2018-09-01-preview",
"type": "Microsoft.DeploymentManager/steps",
"name": "datadogHealthCheckStep1",
"location": "Central US",
"tags": {},
"properties": {
"stepType": "healthCheck",
"attributes": {
"waitDuration": "PT5M",
"maxElasticDuration": "PT10M",
"healthyStateDuration": "PT10M",
"type": "REST",
"properties": {
"healthChecks": [
{
"name": "datadogCompositeMonitor1",
"request": {
"method": "GET",
"uri": "https://api.datadoghq.com/api/v1/monitor/<ID_MONITOR>?application_key=<CLÉ_APP>",
"authentication": {
"type": "ApiKey",
"name": "apikey",
"in": "Query",
"value": "<CLÉ_API>"
}
},
"response": {
"successStatusCodes": ["200"],
"regex": {
"matches": ["\"overall_state\"\\s*:\\s*\"OK\""],
"matchQuantifier": "All"
}
}
}
]
}
}
}
}
Exemple de configuration complète
Voici un modèle complet d’étape de déploiement Azure Deployment Manager :
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2018-09-01-preview",
"type": "Microsoft.DeploymentManager/steps",
"name": "datadogHealthCheckStep1",
"location": "Central US",
"tags": {},
"properties": {
"stepType": "healthCheck",
"attributes": {
"waitDuration": "PT5M",
"maxElasticDuration": "PT10M",
"healthyStateDuration": "PT10M",
"type": "REST",
"properties": {
"healthChecks": [
{
"name": "datadogCompositeMonitor1",
"request": {
"method": "GET",
"uri": "https://api.datadoghq.com/api/v1/monitor/<ID_MONITOR>?application_key=<CLÉ_APP>",
"authentication": {
"type": "ApiKey",
"name": "apikey",
"in": "Query",
"value": "<CLÉ_API>"
}
},
"response": {
"successStatusCodes": ["200"],
"regex": {
"matches": [
"\"overall_state\"\\s*:\\s*\"OK\""
],
"matchQuantifier": "All"
}
}
}
]
}
}
}
}
]
}
Résultats
Lors de l’exécution de l’étape de check de santé pour une phase de déploiement, Azure Deployment Manager demande à l’API Monitor de Datadog le statut du monitor composite identifié durant cette étape pour cette phase de déploiement.
Azure Deployment Manager analyse la réponse avec la regex fournie dans le modèle pour identifier si elle contient la phrase overall_status: OK
.
Si overall_status: OK
est trouvé, le check est considéré comme sain. Si le statut est Warn
, No Data
ou Alert
, le check est alors considéré comme non sain, et Azure Deployment Manager met fin au déploiement.
Real User Monitoring
Analyse d’entonnoirs
Azure Deployment Manager n’envoie aucune métrique.
Aide
Azure Deployment Manager ne comprend aucun événement.
Aide
Azure Deployment Manager ne comprend aucun check de service.
Aide
Besoin d’aide ? Contactez l’assistance Datadog.