Surveiller Azure Container Registry

Lorsque vous avez des applications critiques et des processus métier basés sur des ressources Azure, vous voulez superviser ces ressources pour connaître leur disponibilité, leurs performances et leur fonctionnement. Cet article décrit les données de surveillance générées par Azure Container Registry ainsi que la façon dont vous pouvez utiliser les fonctionnalités d’Azure Monitor pour analyser ces données et créer des alertes.

Présentation de Monitor

La page Vue d’ensemble du portail Azure pour chaque registre comprend un aperçu de l’utilisation récente des ressources et de l’activité, telles que les opérations d’envoi (push) et de tirage (pull). Ces informations de haut niveau sont utiles, mais seule une petite partie des données est présentée ici.

Registry metrics overview

Qu’est-ce qu’Azure Monitor ?

Azure Container Registry crée des données de surveillance à l’aide d’Azure Monitor, un service de supervision de pile complète dans Azure qui fournit un ensemble exhaustif de fonctionnalités pour superviser vos ressources Azure en plus des ressources figurant dans d’autres clouds et en local.

Commencez avec l’article Supervision de ressources Azure avec Azure Monitor, qui décrit les concepts suivants :

  • Qu’est-ce qu’Azure Monitor ?
  • Coûts associés à la supervision
  • Analyse des données collectées dans Azure
  • Configuration de la collecte des données
  • Outils standard dans Azure pour l’analyse et la génération d’alertes sur les données analysées

Les sections suivantes s’appuient sur cet article en décrivant les données spécifiques collectées à partir d’Azure Container Registry et en fournissant des exemples de configuration de la collecte de données et d’analyse de ces données avec les outils Azure.

Données de surveillance

Azure Container Registry collecte les mêmes types de données de surveillance que d’autres ressources Azure, lesquelles sont décrites dans Données de surveillance de ressources Azure.

Pour obtenir des informations détaillées sur les métriques et les métriques de journaux créées par le service Azure Container Registry, consultez Informations de référence sur les données de surveillance d’Azure Container Registry.

Collecte et routage

Les métriques de plateforme et le journal d’activité sont collectés et stockés automatiquement, mais ils peuvent être acheminés vers d’autres emplacements à l’aide d’un paramètre de diagnostic.

Les journaux de ressources ne sont pas collectés ni stockés tant que vous n’avez pas créé un paramètre de diagnostic et que vous ne les acheminez pas vers un ou plusieurs emplacements.

Pour plus d’informations sur la création d’un paramètre de diagnostic à l’aide du portail Azure, de l’interface CLI ou de PowerShell, consultez Créer un paramètre de diagnostic pour collecter des journaux et métriques de plateforme dans Azure. Lorsque vous créez un paramètre de diagnostic, vous spécifiez les catégories de journaux à collecter. Les catégories pour Azure Container Registry sont répertoriées dans Informations de référence sur les données de surveillance d’Azure Container Registry.

Conseil

Vous pouvez également créer des paramètres de diagnostic du registre en accédant à votre registre dans le portail. Dans le menu, sous Supervision, sélectionnez Paramètres de diagnostic.

L’image suivante montre les options lorsque vous activez les paramètres de diagnostic pour un registre.

Diagnostic settings for container registry

Les métriques et les journaux que vous pouvez collecter sont décrits dans les sections suivantes.

Analyse des métriques

Vous pouvez analyser les métriques d’un registre de conteneurs Azure avec les métriques d’autres services Azure à l’aide de Metrics Explorer en ouvrant Métriques dans le menu Azure Monitor. Consultez Analyser les métriques avec l’Explorateur de métriques Azure Monitor pour plus d’informations sur l’utilisation de cet outil.

Conseil

Vous pouvez également accéder à Metrics Explorer en vous rendant sur votre registre dans le portail. Dans le menu, sélectionnez Métriques sous Supervision.

Pour obtenir la liste des métriques de plateforme collectées pour Azure Container Registry, consultez Informations de référence sur les données de surveillance d’Azure Container Registry.

Pour référence, vous pouvez voir une liste de toutes les métriques de ressources prises en charge dans Azure Monitor.

Azure CLI

Les commandes Azure CLI suivantes peuvent être utilisées pour obtenir des informations sur les métriques d’Azure Container Registry.

API REST

Vous pouvez utiliser l’API REST d’Azure Monitor pour obtenir des informations par programmation concernant les métriques d’Azure Container Registry.

Analyse des journaux d’activité

Les données des journaux Azure Monitor sont stockées dans des tables, chacune ayant son propre ensemble de propriétés uniques.

Tous les journaux de ressources dans Azure Monitor ont les mêmes champs suivis de champs spécifiques au service. Le schéma commun est décrit dans Schéma des journaux des ressources Azure Monitor. Le schéma des journaux de ressources d’Azure Container Registry est disponible dans les informations de référence sur les données d’Azure Container Registry.

Le journal d’activité est un journal de plateforme dans Azure qui fournit des insights de tous les événements de niveau abonnement. Vous pouvez l’afficher indépendamment ou le router vers Azure Monitor Logs, où vous pouvez effectuer des requêtes bien plus complexes à l’aide de Log Analytics.

Pour obtenir la liste des types de journaux de ressources collectés pour Azure Container Registry, consultez Informations de référence sur les données de surveillance d’Azure Container Registry.

Pour obtenir la liste des tables utilisées par Journaux d’activité Azure Monitor et interrogeables par Log Analytics, consultez Informations de référence sur les données de surveillance d’Azure Container Registry.

Exemples de requêtes Kusto

Important

Quand vous sélectionnez Journaux dans le menu d’Azure Container Registry, Log Analytics s’ouvre avec l’étendue de la requête définie sur le registre actuel. Cela signifie que les requêtes de journal n’incluront que les données de cette ressource. Si vous voulez exécuter une requête qui inclut des données provenant d’autres registres ou d’autres services Azure, sélectionnez Journaux d’activité dans le menu d’Azure Monitor. Pour plus d’informations, consultez Étendue de requête de journal et intervalle de temps dans la fonctionnalité Log Analytics d’Azure Monitor.

Par exemple, la requête suivante récupère les 24 heures de données les plus récentes à partir de la table ContainerRegistryRepositoryEvents :

ContainerRegistryRepositoryEvents
| where TimeGenerated > ago(1d) 

L’image suivante présente un exemple de sortie :

Query log data

Voici des requêtes que vous pouvez utiliser pour vous aider à superviser votre ressource de registre.

Événements d’erreur au cours de la dernière heure

union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
| where TimeGenerated > ago(1h)
| where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
	or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records

Les 100 événements de registre les plus récents

ContainerRegistryRepositoryEvents
| union ContainerRegistryLoginEvents
| top 100 by TimeGenerated
| project TimeGenerated, LoginServer, OperationName, Identity, Repository, DurationMs, Region , ResultType

Identité de l’utilisateur ou de l’objet qui a supprimé le référentiel

ContainerRegistryRepositoryEvents
| where OperationName contains "Delete"
| project LoginServer, OperationName, Repository, Identity, CallerIpAddress

Identité de l’utilisateur ou de l’objet qui a supprimé la balise

ContainerRegistryRepositoryEvents
| where OperationName contains "Untag"
| project LoginServer, OperationName, Repository, Tag, Identity, CallerIpAddress

Échecs d’opérations au niveau du référentiel

ContainerRegistryRepositoryEvents 
| where ResultDescription contains "40"
| project TimeGenerated, OperationName, Repository, Tag, ResultDescription

Échecs d’authentification du registre

ContainerRegistryLoginEvents 
| where ResultDescription != "200"
| project TimeGenerated, Identity, CallerIpAddress, ResultDescription

Alertes

Azure Monitor vous avertit de façon proactive lorsque des conditions significatives sont détectées dans vos données de surveillance. Elles permettent d’identifier et de résoudre les problèmes affectant votre système avant que vos clients ne les remarquent. Vous pouvez définir des alertes sur des métriques, sur des journaux et sur le journal d’activité. Les différents types d’alertes présentent des avantages et des inconvénients.

Le tableau suivant répertorie les règles d’alerte courantes et recommandées pour Azure Container Registry.

Type d’alerte Condition Description
Métrique Signal : Stockage utilisé
Opérateur : Supérieur à
Type d’agrégation : Moyenne
Valeur de seuil : 5 Go
Signale si le stockage du registre utilisé dépasse une valeur spécifiée.

Exemple : Envoyer une alerte par e-mail lorsque le stockage du registre utilisé dépasse une valeur

  1. Dans le portail Azure, accédez à votre registre.
  2. Sous Supervision, Métriques.
  3. Dans Metrics Explorer, dans Métrique, sélectionnez Stockage utilisé.
  4. Sélectionnez Nouvelle règle d’alerte.
  5. Dans Étendue, confirmez la ressource de registre pour laquelle vous souhaitez créer une règle d’alerte.
  6. Dans Condition, sélectionnez Ajouter une condition.
    1. Dans Nom du signal, sélectionnez Stockage utilisé.
    2. Dans Période du graphique, sélectionnez Au cours des dernières 24 heures.
    3. Dans Logique d’alerte, dans Valeur de seuil, sélectionnez une valeur telle que 5. Dans Unité, sélectionnez une valeur telle que Go.
    4. Acceptez les valeurs par défaut pour les autres paramètres, puis sélectionnez Terminé.
  7. Dans Actions, sélectionnez Ajouter des groupes d’actions>+ Créer un groupe d’actions.
    1. Entrez les détails du groupe d’actions.
    2. Sous l’onglet Notifications, sélectionnez E-mail/SMS/Push/Voix, puis entrez un destinataire tel que admin@contoso.com. Sélectionnez Revoir + créer.
  8. Entrez un nom et une description de la règle d’alerte, puis sélectionnez le niveau de gravité.
  9. Sélectionnez Créer une règle d’alerte.

Étapes suivantes