Introduction
Ce tutoriel montre comment collecter et transférer les journaux de configuration d’un cluster DigitalOcean Kubernetes (DOKS) vers une instance OpenSearch géré par DigitalOcean en utilisant AxoSyslog, un traitement de données de sécurité à échelle scalable. En suivant ce guide, vous apprendrez comment configurer un système de journalisation robuste capable de capturer et d’analyser les journaux de vos applications Kubernetes, facilitant ainsi le suivi, la détection des problèmes et la sécurisation de votre infrastructure.
Dans ce tutoriel, vous utiliserez AxoSyslog pour transférer les journaux d’un cluster Kubernetes vers OpenSearch.
Prérequis
Avant de commencer, veuillez s’assurer que vous avez les prérequis suivants en place :
- Vous aurez besoin d’un compte Cloud DigitalOcean pour créer et gérer vos ressources Kubernetes et OpenSearch.
- L’outil de ligne de commande DigitalOcean (CLI),
doctl
, doit être installé et configuré sur votre machine locale. - Un cluster Kubernetes DigitalOcean (DOKS) en cours d’execution.
- Le gestionnaire de paquets Kubernetes, Helm, devrait être installé pour gérer les applications Kubernetes.
- Familiarité avec Kubernetes, Helm, et les services gérés par DigitalOcean.
Scénario d’utilisation
Ce projet est idéal pour les scénarios où vous avez besoin d’une solution de journalisation centralisée pour surveiller et analyser les journaux de différentes applications exécutées dans un cluster Kubernetes. Que vous gérez une petite série d’applications ou une infrastructure à grande échelle, la collecte et l’acheminement des journaux vers un cluster OpenSearch dédié aide à :
- Surveillance de la sécurité : Détecter et répondre aux incidents de sécurité en analysant les journaux en temps réel.
- Dépannage : Identifier et résoudre rapidement les problèmes dans vos applications Kubernetes en accédant aux journaux détaillés.
- Compliance : Conserver un journal d’événements pour se conformer aux règlements industriels.
En intégrant AxoSyslog avec DigitalOcean Managed OpenSearch, vous pouvez traiter et stocker efficacement de grandes quantités de journaux, ce qui facilite l’extraction d’insights précieux et le maintien de la santé et de la sécurité de vos systèmes.
Étape 1 – Créer un cluster OpenSearch
Dans cette étape, vous configurerez le composant central de votre système de journalisation, le cluster OpenSearch. OpenSearch sera le lieu de destination pour tous les journaux que vous collectez depuis votre cluster Kubernetes. Vous créerez une nouvelle instance OpenSearch dans la région de votre choix sur DigitalOcean en exécutant la commande suivante.
Remplacez lon1
par votre région souhaitée. Pour lister les tailles de slug disponibles, consultez notre documentation de référence de l’API.
Étape 2 – Générez quelques journaux de traces aléatoires
Avant de transférer les journaux vers OpenSearch, vous devez avoir quelques journaux à traiter. Si vous n’avez pas déjà une application générant des journaux dans votre cluster Kubernetes, cette étape vous montrera comment déployer un générateur de journaux. Ce générateur de journaux produira une suite continue de journaux de trace exemple que vous pourrez utiliser pour tester et démontrer votre pipeline de journalisation.
D’abord, ajoutez le référentiel du diagramme de Helm du générateur de journaux et installez le générateur de journaux :
Ensuite, installez le générateur de journaux à l’aide de Helm :
Vous pouvez vérifier que le générateur de journaux fonctionne en consultant les journaux qu’il génère :
Étape 3 – Préparez le collecteur AxoSyslog pour l’installation
Dans cette étape, vous configurerez le collecteur AxoSyslog, responsable de rassembler les journaux de votre cluster Kubernetes et de les transférer vers OpenSearch. Cela implique de fournir les détails de connexion corrects pour votre cluster OpenSearch (nom d’hôte, utilisateur et mot de passe).
Nous utilisons helm
pour installer le collecteur AxoSyslog et transmettre des valeurs personnalisées.
Pour configurer le collecteur AxoSyslog avec l’adresse correcte, l’utilisateur et le mot de passe pour votre base de données OpenSearch, suivez ces étapes :
Script Automatisé
Pour simplifier la configuration, vous pouvez utiliser un script automatisé qui récupère les détails de connexion OpenSearch nécessaires et met à jour votre fichier de configuration AxoSyslog.
Enregistrez le script suivant sous le nom de update_axoflow_demo.sh
:
Assurez-vous d’avoir les permissions d’exécution sur votre script avant de le lancer :
Ce script récupérera les informations nécessaires de votre compte DigitalOcean en utilisant doctl
et mettra à jour votre fichier axoflow-demo.yaml
en conséquence.
Étapes Manuelles pour Mettre à Jour axoflow-demo.yaml
Si vous préférez configurer manuellement votre collecteur AxoSyslog, suivez ces étapes :
Exécutez le commande suivante pour extraire l’ID de la base de données pour opensearch-doks
:
Pour récupérer le nom d’hôte, le nom d’utilisateur et le mot de passe, exécutez les commandes suivantes respectivement :
Maintenant, vous devez mettre à jour manuellement le fichier axoflow-demo.yaml
:
Ouvrez votre fichier axoflow-demo.yaml
dans un éditeur de texte et remplacez les champs pertinents par les valeurs extraites :
Step 4 – Install AxoSyslog-collector
Maintenant que la configuration est terminée, le prochain pas est de déployer le AxoSyslog Collector sur votre cluster Kubernetes. Cela permettra de collecter et d’envoyer les journaux vers OpenSearch.
Ajoutez le référentiel Helm AxoSyslog et installez le AxoSyslog Collector en utilisant le fichier de configuration personnalisé :
Pour s’assurer que les journaux sont envoyés sur le port OpenSearch correct, mettez à jour la configuration du AxoSyslog Collector en modifiant votre configmap
:
Enfin, supprimez les pods existants pour appliquer la configuration mise à jour :
Conclusion
En mettant en place un pipeline de journalisation depuis Kubernetes DigitalOcean vers OpenSearch en utilisant AxoSyslog, vous non seulement centralisez vos journaux, mais aussi améliorez votre capacité de surveillance, d’analyse et de sécurisation de vos applications. Avec les étapes fournies dans ce guide, vous pouvez rapidement déployer cette solution, obtenant ainsi une meilleure visibilité dans votre environnement Kubernetes et veillant à ce que votre infrastructure reste résiliente et conforme aux normes.
Source:
https://www.digitalocean.com/community/tutorials/collect-and-forward-kubernetes-logs-to-opensearch