Optimiser les coûts de surveillance pour Container Insights
Les clusters Kubernetes génèrent une grande quantité de données collectées par Container Insights. Étant donné que l'ingestion et la conservation de ces données vous sont facturées, vous souhaitez configurer votre environnement pour optimiser vos coûts. Vous pouvez réduire considérablement vos coûts de surveillance en filtrant les données dont vous n'avez pas besoin et en optimisant la configuration de l'espace de travail Log Analytics dans lequel vous stockez vos données.
Une fois que vous avez analysé vos données collectées et déterminé si vous collectez des données dont vous n'avez pas besoin, plusieurs options vous permettent de filtrer les données que vous ne souhaitez pas collecter. Cela va de la sélection à partir d’un ensemble de configurations de coûts prédéfinies à l’exploitation de différentes fonctionnalités pour filtrer les données en fonction de critères spécifiques. Cet article fournit des conseils sur la manière d'analyser et d'optimiser votre collecte de données pour Container Insights.
Analysez votre ingestion de données
Pour identifier vos meilleures opportunités d’économies de coûts, analysez la quantité de données collectées dans différentes tables. Ces informations vous aideront à identifier les tables qui consomment le plus de données et vous aideront à prendre des décisions éclairées sur la manière de réduire les coûts.
Vous pouvez visualiser la quantité de données ingérées dans chaque espace de travail à l'aide du runbook d'utilisation de Container Insights, disponible sur la page Espace de travail d'un cluster surveillé.
Le rapport vous permettra de visualiser l'utilisation des données par différentes catégories telles que la table, l'espace de noms et la source du journal. Utilisez ces différentes vues pour déterminer les données que vous n'utilisez pas et qui peuvent être filtrées pour réduire les coûts.
Sélectionnez l'option permettant d'ouvrir la requête dans Log Analytics où vous pouvez effectuer une analyse plus détaillée, notamment en affichant les enregistrements individuels collectés. Consultez les journaux de requêtes de Container Insights pour connaître les requêtes supplémentaires que vous pouvez utiliser pour analyser vos données collectées.
Par exemple, la capture d’écran suivante montre une modification de la requête de journal utilisée pour Par table qui affiche les données par espace de noms et par table.
Filtrer les données collectées
Une fois que vous avez identifié les données que vous pouvez filtrer, utilisez différentes options de configuration dans Container Insights pour filtrer les données dont vous n'avez pas besoin. Des options sont disponibles pour sélectionner des configurations prédéfinies, définir des paramètres individuels et utiliser des requêtes de journal personnalisées pour un filtrage détaillé.
Présélections de coûts
Le moyen le plus simple de filtrer les données consiste à utiliser les préréglages de coûts dans le Portail Microsoft Azure. Chaque préréglage comprend différents ensembles de tables à collecter en fonction de différents profils de fonctionnement et de coûts. Les préréglages de coûts sont conçus pour vous aider à configurer rapidement votre collecte de données en fonction de scénarios courants.
Conseil
Si vous avez configuré votre cluster pour utiliser l'expérience Prometheus pour Container Insights, vous pouvez désactiver la collecte des Performances puisque les données de performances sont collectées par Prometheus.
Pour plus de détails sur la sélection d'un préréglage de coût, consultez Configurer DCR avec le Portail Microsoft Azure
Options de filtrage
Après avoir choisi un préréglage de coût approprié, vous pouvez filtrer des données supplémentaires à l'aide des différentes méthodes du tableau suivant. Chaque option vous permettra de filtrer les données en fonction de différents critères. Une fois votre configuration terminée, vous ne devez collecter que les données dont vous avez besoin pour l'analyse et les alertes.
Filtrer par | Description |
---|---|
Tables | Modifiez manuellement le DCR si vous souhaitez sélectionner des tables individuelles à remplir autres que les groupes de préréglages de coûts. Par exemple, vous souhaiterez peut-être collecter ContainerLogV2 mais pas collecter KubeEvents qui est inclus dans le même préréglage de coût. Consultez les valeurs de flux dans DCR pour obtenir la liste des flux à utiliser dans le DCR et utilisez les instructions de . |
Journaux de conteneur | ContainerLogV2 stocke les enregistrements stdout/stderr générés par les conteneurs dans le cluster. Bien que vous puissiez désactiver la collecte de l'intégralité de la table à l'aide du DCR, vous pouvez configurer la collecte des journaux stderr et stdout séparément à l'aide de ConfigMap pour le cluster. Étant donné que les paramètres stdout et stderr peuvent être configurés séparément, vous pouvez choisir d’activer l’un et non l’autre.Voir Filtrer les journaux des conteneurs pour plus de détails sur le filtrage des journaux des conteneurs. |
Espace de noms | Les espaces de noms dans Kubernetes sont utilisés pour regrouper des ressources au sein d'un cluster. Vous pouvez filtrer les données des ressources dans des espaces de noms spécifiques dont vous n'avez pas besoin. À l’aide du DCR, vous ne pouvez filtrer les données de performances par espace de noms que si vous avez activé la collecte pour la table Perf . Utilisez ConfigMap pour filtrer les données pour des espaces de noms particuliers dans les journaux stdout et stderr .Consultez Filtrer les journaux des conteneurs pour plus de détails sur le filtrage des journaux par espace de noms et Filtrage des journaux de la plateforme (espaces de noms système Kubernetes) pour plus de détails sur l'espace de noms système. |
Pods et conteneurs | Le filtrage des annotations vous permet de filtrer les journaux de conteneurs en fonction des annotations que vous apportez au pod. À l'aide de ConfigMap, vous pouvez spécifier si les journaux stdout et stderr doivent être collectés pour des pods et des conteneurs individuels. Consultez Filtrage basé sur les annotations pour les charges de travail pour plus de détails sur la mise à jour de votre ConfigMap et sur la définition d'annotations dans vos pods. |
Transformations
Les transformations de temps d’ingestion vous permettent d’appliquer une requête KQL pour filtrer et transformer les données dans le pipeline Azure Monitor avant qu’elles ne soient stockées dans l’espace de travail Log Analytics. Cela vous permet de filtrer les données en fonction de critères que vous ne pouvez pas effectuer avec les autres options.
Par exemple, vous pouvez choisir de filtrer les journaux de conteneurs en fonction du niveau de journal dans ContainerLogV2. Vous pouvez ajouter une transformation à votre DCR Container Insights qui exécuterait la fonctionnalité du diagramme suivant. Dans cet exemple, seuls les événements de niveau error
et critical
sont collectés, tandis que tous les autres événements sont ignorés.
Une stratégie alternative consisterait à enregistrer les événements les moins importants dans une table distincte configurée pour les journaux de base. Les événements seraient toujours disponibles pour le dépannage, mais avec des économies de coûts importantes pour l'ingestion de données.
Consultez Transformations de données dans Container Insights pour plus de détails sur l'ajout d'une transformation à votre DCR Container Insights, y compris des exemples de DCR utilisant des transformations.
Configurer les niveaux de tarification
Les journaux de base dans Azure Monitor offrent une remise significative sur les coûts d’ingestion de données dans votre espace de travail Log Analytics pour les données que vous utilisez occasionnellement pour le débogage et le dépannage. Les tables configurées pour les journaux de base offrent une remise significative sur les coûts d'ingestion de données en échange d'un coût pour les requêtes de journaux, ce qui signifie qu'elles sont idéales pour les données dont vous avez besoin mais auxquelles vous accédez rarement.
ContainerLogV2 peut être configuré pour les journaux de base, ce qui peut vous permettre de réaliser des économies importantes si vous interrogez les données peu fréquemment. À l’aide de transformations, vous pouvez spécifier les données qui doivent être envoyées vers des tables alternatives configurées pour les journaux de base. Consultez Transformations de données dans Container Insights pour un exemple de cette stratégie.
Étapes suivantes
Pour savoir comment interpréter les coûts qui sont susceptibles d’être basés sur des modèles d’utilisation récents des données collectées avec Container Insights, consultez Analyser l’utilisation dans l’espace de travail Log Analytics.