Résolution des problèmes de connectivité des microservices avec les journaux réseau dans Calico Enterprise





Le réseau est la base des applications distribuées. Une application distribuée dispose de plusieurs microservices, chacun s'exécutant sur un ensemble de pods, souvent situés sur des nœuds différents. Les zones à problèmes dans une application distribuée peuvent se situer au niveau du réseau (flux, journaux réseau), ou au niveau de l'indisponibilité des ressources de l'application (métriques) ou de l'indisponibilité des composants (traçage).



La connectivité au niveau de la couche réseau peut être influencée par divers facteurs tels que les paramètres de routage, le regroupement IP, les politiques réseau, etc. Lorsque le service A ne peut pas communiquer avec le service B sur le réseau, ou qu'une application externe ne peut pas se connecter au service A, les journaux réseau deviennent une source importante de données pour résoudre les problèmes de connectivité. Comme avec un réseau traditionnel, les journaux réseau permettent aux administrateurs de cluster de surveiller le réseau de microservices Kubernetes.











Les journaux réseau ont plusieurs cas d'utilisation



Les journaux réseau peuvent être utilisés pour répondre aux exigences uniques de différentes équipes (DevOps, SecOps, plate-forme, réseau). La valeur des journaux réseau Kubernetes réside dans les informations collectées telles que le contexte détaillé sur le point de terminaison / point de terminaison (par exemple, les pods, les étiquettes, les espaces de noms) et les stratégies réseau déployées lors de la configuration de la connexion. Dans un environnement informatique, les équipes DevOps, SecOps, Réseau et Plateforme peuvent exploiter les journaux réseau pour leurs cas d'utilisation, qui sont utiles dans leur domaine de connaissances. Ci-dessous, nous montrons quelques exemples.







Génération de politiques et détection des menaces avec les journaux de flux de données dans Calico Enterprise.



Calico Enterprise génère des journaux contextuels des flux réseau à chaque fois qu'il se connecte au pod. Le journal est enregistré dans un fichier sur le nœud, qui est ensuite traité par l'agent fluentd et envoyé à la destination configurée.







Comme indiqué dans le diagramme ci-dessus, les journaux sont envoyés par défaut au moteur Elasticsearch fourni avec Calico Enterprise. Vous pouvez configurer la transmission des journaux de flux vers votre plateforme SOC. Nous vous recommandons de disposer d'une plateforme unique pour tous vos magazines. Les journaux sont un outil de surveillance et d'analyse essentiel pour une équipe d'exploitation qui dispose déjà de processus bien définis basés sur une plate-forme de journalisation centralisée. Ceci est important pour votre planification.



Caractéristiques du journal de flux de données



Les journaux de flux ont une surcharge de stockage importante. Par défaut, Calico Enterprise ne stocke que les données des sept derniers jours. Cela permet à Calico Enterprise de fournir des fonctionnalités spécialement conçues pour simplifier le développement de politiques et le dépannage de la connectivité en temps quasi réel.



  • Les directives suggérées pour la création de stratégies permettent aux développeurs de générer automatiquement des stratégies réseau pour protéger leurs services
  • Le flux de travail pour les politiques (recommandation, aperçu, politiques par étapes) permet aux équipes SecOps et DevOps de créer efficacement des politiques et de les déployer de manière discrète
  • La détection des menaces permet aux équipes SecOps de suivre chaque flux vers une adresse IP ou un domaine spécifique et d'identifier les menaces


Le journal de flux standard de Calico Enterprise contient toutes les informations contextuelles nécessaires:



  • Contexte Kubernetes (sous, espace de noms, étiquettes, stratégies)
  • Adresse IP de l'expéditeur pour les sources externes, si disponible via l'entrée
  • Heure_début, heure_fin, action, octets_in, bytes_out, dest_ip, nom_dest, nom_dest_aggr, dest_namespace, dest_port, dest_type, dest_labels, reporter, num_flows, num_flows_completed, num_flows_started, http_requests_alrequests_source, pack_flows_started, http_requests_alrequests, pack_quests_source source_namespace, source_port, source_type, source_labels, original_source_ips, num_original_source_ips


Le journal DNS est agrégé pour chaque pod au fil du temps et contient les informations suivantes:



  • Heure de début, heure de fin, type, nombre, client_ip, nom_client, client_name_aggr, client_namespace, client_labels, qname, qtype, qclass, rcode, rrsets, servers


Les entrées de journal sont disponibles dans Kibana sous forme d'index Elasticsearch. Vous avez un contrôle total sur les paramètres d'indexation, le temps de rétention et le stockage. Le maintien des paramètres par défaut fonctionne bien pour la plupart des déploiements.



Réduisez les coûts d'exploitation en optimisant le stockage des journaux de threads



Calico Enterprise collecte différents logs (réseau / flux, audit, DNS). Les journaux de flux sont les plus chers en termes de stockage, représentant plus de 95% du stockage total. Souvent, pour chaque nœud entièrement chargé, il y a un débit de 5 Ko par seconde. Avec un modeste 200 octets par flux, cela devient 1 Mo / s (mégaoctet). Le stockage quotidien requis pour chaque nœud est de 86 Go pour les journaux de thread. Pour un cluster de 100 nœuds, l'exigence journalière de journal de thread devient 8 To + !!! Évidemment, cela ne s'adapte pas. Et plus important encore, avez-vous vraiment besoin de stocker autant de données? En règle générale, la valeur des données contenues dans les journaux diminue de façon exponentielle au fil du temps et n'est pertinente qu'à des fins de dépannage et de conformité.



Pour cette raison, Calico Enterprise a une agrégation par défaut, ce qui réduit les besoins de stockage du journal des threads de plus de 100 fois! Nous faisons cela sans compromettre les données (visibilité, surveillance, dépannage) que nos clients reçoivent des journaux de flux. Les journaux sont regroupés par port de destination sur une période de temps spécifiée. De cette façon, vous n'avez pas à vous soucier du coût de stockage des journaux de flux lorsque vous utilisez les paramètres par défaut dans Calico Enterprise. Une autre façon dont Calico Enterprise peut vous aider à réduire vos besoins en stockage est de l'exclure. Vous pouvez facilement personnaliser des espaces de noms ou des installations spécifiques qui seront exclus de la génération des journaux de flux.



Vous souhaitez explorer en profondeur les journaux de threads?



Les journaux de threads sont activés par défaut. Reportez-vous à la documentation suivante pour une configuration détaillée:






All Articles