Métriques courantes pour la mise à l’échelle automatique d’Azure Monitor
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
La fonction de mise à l’échelle automatique d’Azure Monitor vous permet de diminuer ou d’augmenter la taille des instances en fonction des données de télémétrie, également appelées « métriques ». Cet article décrit les métriques courantes que vous pouvez utiliser. Dans le portail Azure, vous pouvez choisir les métriques de la ressource à mettre à l’échelle. Vous pouvez également choisir des métriques à partir d’une autre ressource à mettre à l’échelle.
La mise à l’échelle automatique Azure Monitor s’applique uniquement aux groupes de machines virtuelles identiques Azure, à Azure Cloud Services, à Azure App Service - Web Apps et à Azure API Management. Les autres services Azure utilisent des méthodes de mise à l’échelle différentes.
Calcul des métriques pour les machines virtuelles basées sur Resource Manager
Par défaut, les machines virtuelles et jeux de mise à l’échelle de machine virtuelle basés sur Azure Resource Manager émettent des métriques de base (niveau hôte). En outre, lorsque vous configurez la collecte de données de diagnostic pour une machine virtuelle ou un groupe de machines virtuelles identiques Azure, l’extension Diagnostics Azure émet également les compteurs de performances du système d’exploitation invité. Ces compteurs sont communément appelés « métriques du système d’exploitation invité ». Vous utilisez toutes ces métriques dans les règles de mise à l’échelle automatique.
Vous pouvez utiliser l’API/PoSH/CLI Get MetricDefinitions
pour afficher les métriques disponibles pour votre ressource de groupe de machines virtuelles identiques.
Si vous utilisez des groupes de machines virtuelles identiques et qu’une métrique que vous cherchez n’est pas répertoriée, il est probable qu’elle soit désactivée dans votre extension Diagnostics.
Si une métrique en particulier n’est pas en cours d’échantillonnage ou de transfert vers la fréquence souhaitée, vous pouvez mettre à jour la configuration des diagnostics.
Si l’un des deux cas ci-dessus s’applique, consultez Utiliser PowerShell pour activer Diagnostics Azure sur une machine virtuelle exécutant Windows pour savoir comment configurer et mettre à jour votre extension Diagnostics de machine virtuelle Azure afin d’activer la métrique. Cet article inclut également un exemple de fichier de configuration de diagnostics.
Métriques de l’hôte pour les machines virtuelles Windows et Linux basées sur Resource Manager
Les métriques de niveau hôte suivantes sont émises par défaut pour les machines virtuelles et groupes de machines virtuelles identiques Azure dans les instances Windows et Linux. Ces métriques décrivent votre machine virtuelle Azure, mais sont collectées à partir de l’hôte de la machine virtuelle Azure plutôt que via l’agent installé sur la machine virtuelle invitée. Vous pouvez utiliser ces métriques dans les règles de mise à l’échelle automatique.
- Métriques de l’hôte pour les machines virtuelles Windows et Linux basées sur Resource Manager
- Métriques de l’hôte pour les groupes de machines virtuelles identiques Windows et Linux basées sur Resource Manager
Métriques de système d’exploitation invité pour les machines virtuelles Windows basées sur Resource Manager
Lorsque vous créez une machine virtuelle dans Azure, les diagnostics sont effectués grâce à l’extension Diagnostics. L’extension Diagnostics émet un ensemble de métriques extraites de la machine virtuelle. Cela signifie que vous pouvez automatiser la mise à l’échelle des métriques qui ne sont pas émises par défaut.
Vous pouvez utiliser la commande suivante dans PowerShell pour générer une liste des métriques.
Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit
Vous pouvez créer une alerte pour les métriques suivantes :
Nom de métrique | Unité |
---|---|
\Processor(_Total)% temps processeur | Pourcentage |
\Processor(_Total)% temps privilégié | Pourcentage |
\Processor(_Total)% temps utilisateur | Pourcentage |
\Processor Information(_Total)\Fréquence du processeur | Count |
\System\Processus | Count |
\Process(_Total)\Nombre de threads | Count |
\Process(_Total)\Nombre de handles | Count |
\Memory% octets de mémoire engagés utilisés | Pourcentage |
\Memory\Octets disponibles | Octets |
\Memory\Octets validés | Octets |
\Memory\Limite de mémoire dédiée | Octets |
\Memory\Octets de réserve paginée | Octets |
\Memory\Octets de réserve non paginée | Octets |
\PhysicalDisk(_Total)% temps disque | Pourcentage |
\PhysicalDisk(_Total)% temps lecture du disque | Pourcentage |
\PhysicalDisk(_Total)% temps écriture du disque | Pourcentage |
\PhysicalDisk(_Total)\Disk Transfers/sec | CountPerSecond |
\PhysicalDisk(_Total)\Lectures disque/s | CountPerSecond |
\PhysicalDisk(_Total)\Écritures disque/s | CountPerSecond |
\PhysicalDisk(_Total)\Octets disque/s | BytesPerSecond |
\PhysicalDisk(_Total)\Lectures disque, octets/s | BytesPerSecond |
\PhysicalDisk(_Total)\Écritures disque, octets/s | BytesPerSecond |
\PhysicalDisk(_Total)\Longueur moyenne Longueur de file d'attente de disque | Count |
\PhysicalDisk(_Total)\Longueur moyenne de file d’attente lecture disque | Count |
\PhysicalDisk(_Total)\Longueur moyenne de file d’attente écriture disque | Count |
\LogicalDisk(_Total)% espace libre | Pourcentage |
\LogicalDisk(_Total)\Mégaoctets libres | Count |
Métriques de SE invité pour les machines virtuelles Linux
Lorsque vous créez une machine virtuelle dans Azure, les diagnostics sont activés par défaut grâce à l’extension Diagnostics.
Vous pouvez utiliser la commande suivante dans PowerShell pour générer une liste des métriques.
Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit
Vous pouvez créer une alerte pour les métriques suivantes :
Nom de métrique | Unité |
---|---|
\Mémoire\Mémoire disponible | Octets |
\Mémoire\Pourcentage de mémoire disponible | Pourcentage |
\Mémoire\Mémoire utilisée | Octets |
\Mémoire\Pourcentage de mémoire utilisée | Pourcentage |
\Mémoire\Pourcentage de mémoire utilisée par le cache | Pourcentage |
\Mémoire\Pages par seconde | CountPerSecond |
\Mémoire\Pages lues par seconde | CountPerSecond |
\Mémoire\Pages écrites par seconde | CountPerSecond |
\Mémoire\Échanges disponibles | Octets |
\Mémoire\Pourcentage d’échanges disponibles | Pourcentage |
\Mémoire\Échanges utilisés | Octets |
\Mémoire\Pourcentage d’échanges utilisés | Pourcentage |
\Processeur\Pourcentage de temps d’inactivité | Pourcentage |
\Processeur\Pourcentage de temps d’utilisateur | Pourcentage |
\Processeur\Pourcentage de temps d’efficacité | Pourcentage |
\Processeur\Pourcentage de temps privilégié | Pourcentage |
\Processeur\Pourcentage de temps d’interruption | Pourcentage |
\Processeur\Pourcentage de temps d’appels de procédure différés (DPC) | Pourcentage |
\Processeur\Pourcentage de temps de processeur | Pourcentage |
\Processeur\Pourcentage de temps d’attente | Pourcentage |
\Disque physique\Octets par seconde | BytesPerSecond |
\Disque physique\Octets lus par seconde | BytesPerSecond |
\Disque physique\Octets écrits par seconde | BytesPerSecond |
\Disque physique\Transferts par seconde | CountPerSecond |
\Disque physique\Lectures par seconde | CountPerSecond |
\Disque physique\Écritures par seconde | CountPerSecond |
\Disque physique\Temps de lecture moyen | Secondes |
\Disque physique\Temps d’écriture moyen | Secondes |
\Disque physique\Temps de transfert moyen | Secondes |
\Disque physique\Longueur moyenne de la file d’attente du disque | Count |
\Interface réseau\Octets transmis | Octets |
\Interface réseau\Octets reçus | Octets |
\Interface réseau\Paquets transmis | Count |
\Interface réseau\Paquets reçus | Count |
\Interface réseau\Total des octets | Octets |
\Interface réseau\Total des erreurs Rx | Count |
\Interface réseau\Total des erreurs Tx | Count |
\Interface réseau\Total des collisions | Count |
Métriques App Service (batterie de serveurs) couramment utilisées
Vous pouvez également effectuer la mise à l’échelle en fonction des métriques de serveur web courantes, telles que la longueur de file d’attente HTTP. Son nom de métrique est HttpQueueLength. La section suivante liste les métriques de batterie de serveurs (App Service) disponibles.
Métriques Web Apps
Vous pouvez utiliser la commande suivante dans PowerShell pour générer une liste des métriques Web Apps :
Get-AzMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit
Ces métriques permettent d’émettre une alerte ou de procéder à un mise à l’échelle.
Nom de métrique | Unité |
---|---|
CpuPercentage | Pourcentage |
MemoryPercentage | Pourcentage |
DiskQueueLength | Count |
HttpQueueLength | Count |
BytesReceived | Octets |
BytesSent | Octets |
Métriques couramment utilisées dans Azure Storage
Vous pouvez procéder à une mise à l’échelle en fonction de la longueur de la file d’attente Stockage Azure, qui correspond au nombre de messages dans la file d’attente Stockage. La longueur de file d’attente Stockage est une métrique spéciale et le seuil appliqué sera le nombre de messages par instance. Par exemple, si vous avez deux instances et que le seuil est défini sur 100, la mise à l’échelle aura lieu lorsque la file d’attente contiendra 200 messages. Cela peut être 100 messages par instance, 120 + 80 ou toute autre combinaison qui correspond à 200 ou plus.
Configurez ce paramètre dans le panneau Paramètres du portail Azure. Pour les groupes de machines virtuelles identiques, vous pouvez mettre à jour le paramètre Mise à l’échelle automatique dans le modèle Resource Manager afin d’utiliser metricName
avec la valeur ApproximateMessageCount
, puis transmettre l’ID de la file d’attente de stockage avec la valeur metricResourceUri
.
Par exemple, avec un compte Stockage Azure classique, le paramètre de mise à l’échelle automatique metricTrigger
peut inclure :
"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ClassicStorage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"
Pour un compte Stockage Azure (non classique), le paramètre metricTrigger
peut inclure :
"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.Storage/storageAccounts/STORAGE_ACCOUNT_NAME/services/queue/queues/QUEUE_NAME"
Métriques Service Bus généralement utilisées
Vous pouvez procéder à une mise à l’échelle en fonction de la longueur de la file d’attente Azure Service Bus, autrement dit en fonction du nombre de messages présents dans cette file d’attente. La longueur de la file d’attente Service Bus est une métrique particulière. Le seuil correspond au nombre de messages par instance. Par exemple, si vous avez deux instances et que le seuil est défini sur 100, la mise à l’échelle aura lieu lorsque la file d’attente contiendra 200 messages. Cela peut être 100 messages par instance, 120 + 80 ou toute autre combinaison qui correspond à 200 ou plus.
Pour les groupes de machines virtuelles identiques, vous pouvez mettre à jour le paramètre Mise à l’échelle automatique dans le modèle Resource Manager afin d’utiliser metricName
avec la valeur ApproximateMessageCount
, puis transmettre l’ID de la file d’attente de stockage avec la valeur metricResourceUri
.
"metricName": "ApproximateMessageCount",
"metricNamespace": "",
"metricResourceUri": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RES_GROUP_NAME/providers/Microsoft.ServiceBus/namespaces/SB_NAMESPACE/queues/QUEUE_NAME"
Notes
Le concept de groupe de ressources n’existe pas pour Service Bus, mais Azure Resource Manager crée un groupe de ressources par défaut par région. Le groupe de ressources est généralement affiché au format « Default-ServiceBus-[région] ». Par exemple : Default-ServiceBus-EastUS, Default-ServiceBus-WestUS, et Default-ServiceBus-AustraliaEast.