Einführung
Dieses Tutorial zeigt Ihnen, wie Sie Logs von einem DigitalOcean Kubernetes (DOKS)-Cluster in ein DigitalOcean Managed OpenSearch-Instanz mit AxoSyslog, einem skalierbaren Sicherheitsdatenprozessor, übertragen und weiterleiten können. Indem Sie dieses Handbuch befolgen, lernen Sie, wie Sie ein solides Logging-System einrichten können, das Logs Ihrer Kubernetes-Anwendungen aufnimmt und analysiert, was die Überwachung, Fehlerbehebung und die Sicherheit Ihrer Infrastruktur erleichtert.
In diesem Tutorial verwenden Sie AxoSyslog, um Logs von einem Kubernetes-Cluster in OpenSearch weiterzuleiten.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
- Sie benötigen Zugriff auf ein DigitalOcean Cloud-Konto, um Ihre Kubernetes- und OpenSearch-Ressourcen zu erstellten und zu verwalten.
- Das DigitalOcean Command Line Interface (CLI)-Werkzeug,
doctl
, sollte auf Ihrem lokalen Rechner installiert und konfiguriert sein. - Ein laufendes DigitalOcean Kubernetes (DOKS)-Cluster.
- Der Kubernetes-Paketmanager Helm, der zur Verwaltung von Kubernetes-Anwendungen installiert werden sollte.
- Vertrautheit mit Kubernetes, Helm und den von DigitalOcean verwalteten Dienstleistungen.
Anwendungsfall
Dieses Projekt ist ideal für Szenarien, in denen Sie eine zentralisierte Protokollierungslösung benötigen, um Protokolle von verschiedenen Anwendungen, die in einem Kubernetes-Cluster laufen, zu überwachen und analysieren. Egal, ob Sie ein kleines Set von Anwendungen oder eine großskalige Infrastruktur verwalten, die Sammlung und Weiterleitung von Protokollen zu einem dedizierten OpenSearch-Cluster hilft bei:
- Sicherheitsüberwachung: Erkennen und reagieren Sie auf Sicherheitsincidenten durch die Analyse von Protokollen in Echtzeit.
- Fehlerbehebung: Identifizieren und lösen Sie schnell Probleme in Ihren Kubernetes-Anwendungen, indem Sie detaillierte Protokolle einsehen.
- Compliance: Halten Sie eine Protokollierung von Ereignissen für die Einhaltung von Branchenregelungen auf.
Durch die Integration von AxoSyslog mit DigitalOcean Managed OpenSearch können Sie effizient große Mengen an Protokollen verarbeiten und speichern, was die Extraktion wertvoller Insights und die Wartung der Gesundheit und Sicherheit Ihrer Systeme erleichtert.
Schritt 1 – Erstellen eines OpenSearch-Clusters
In diesem Schritt wird Sie der Kernkomponente Ihres Protokollsystems, dem OpenSearch-Cluster, einrichten. OpenSearch wird das Ziel aller Protokolle sein, die Sie von Ihrem Kubernetes-Cluster sammeln. Sie erstellen eine neue OpenSearch-Instanz in Ihrer gewünschten Region auf DigitalOcean, indem Sie den folgenden Befehl ausführen.
Ersetzen Sie lon1
mit Ihrer gewünschten Region. Um verfügbare Größen Slugs zu listen, besuchen Sie unsere API-Referenzdokumentation.
Schritt 2 – Generieren Sie einige zufällige Logs
Bevor Sie Logs an OpenSearch weiterleiten, müssen Sie zuerst einige Logs haben, mit denen Sie arbeiten können. Wenn Sie keine Anwendung haben, die bereits Logs innerhalb Ihres Kubernetes-Clusters generiert, zeigt dieser Schritt Ihnen, wie Sie ein Loggenerator deployieren können. Dieser Loggenerator wird eine ständige Stream von Beispiel-Logs produzieren, die zum Testen und Demonstrieren Ihrer Logging-Pipeline verwendet werden können.
Erstellen Sie zunächst das Repository für den Loggenerator Helm und installieren Sie den Loggenerator:
Installieren Sie anschließend den Loggenerator mit Helm:
Sie können überprüfen, ob der Loggenerator funktioniert, indem Sie die von ihm erzeugten Logs anschauen:
Schritt 3 – AxoSyslog Collector für die Installation vorbereiten
In diesem Schritt werden Sie den AxoSyslog Collector konfigurieren, der für die Sammlung von Logs aus Ihrem Kubernetes-Cluster und deren Weiterleitung an OpenSearch verantwortlich ist. Dies umfasst das Bereitstellen der korrekten Verbindungsdetails für Ihren OpenSearch-Cluster (Hostname, Benutzer und Passwort).
Wir werden helm
verwenden, um den AxoSyslog Collector zu installieren und benutzerdefinierte Werte übergeben.
Um den AxoSyslog-Collector mit der richtigen Adresse, dem Benutzer und dem Passwort für Ihre OpenSearch-Datenbank zu konfigurieren, folgen Sie diesen Schritten:
Automatisierter Skript
Um die Konfiguration zu vereinfachen, können Sie ein automatisiertes Skript verwenden, das die notwendigen OpenSearch-Verbindungsdetails holt und Ihre AxoSyslog-Konfigurationsdatei aktualisiert.
Speichern Sie das folgende Skript als update_axoflow_demo.sh
:
Stellen Sie sicher, dass Ihr Skript Ausführungsberechtigung hat, bevor Sie es ausführen:
Dieses Skript wird die notwendigen Informationen von Ihrem DigitalOcean-Konto mit doctl
holen und Ihre Datei axoflow-demo.yaml
entsprechend aktualisieren.
Manuelle Schritte zur Aktualisierung von axoflow-demo.yaml
Wenn Sie die AxoSyslog-Collector-Konfiguration lieber manuell vornehmen möchten, folgen Sie diesen Schritten:
Führen Sie den folgenden Befehl aus, um die Datenbank-ID für opensearch-doks
zu extrahieren:
Um den Hostnamen, den Benutzernamen und das Passwort abzurufen, führen Sie die folgenden Befehle jeweils ein:
Nun müssen Sie die axoflow-demo.yaml
Datei manuell aktualisieren:
Öffnen Sie Ihre axoflow-demo.yaml
Datei in einem Texteditor und ersetzen Sie die relevanten Felder mit den extrahierten Werten:
Schritt 4 – Installiere AxoSyslog-collector
Nachdem die Konfiguration fertig ist, geht es zum nächsten Schritt, den AxoSyslog-Collector auf Ihrem Kubernetes-Cluster zu部署. Dies wird die Sammlung und Weiterleitung von Logs an OpenSearch ermöglichen.
Fügen Sie dem AxoSyslog Helm-Repository hinzu und installieren Sie den AxoSyslog-Collector mit Hilfe der benutzerdefinierten Konfigurationsdatei:
Um sicherzustellen, dass die Logs an die richtige OpenSearch-Port gesendet werden, aktualisieren Sie die Konfiguration des AxoSyslog-Collectors, indem Sie Ihren configmap
aktualisieren:
Schließlich löschen Sie die bestehenden Pods, um die aktualisierte Konfiguration anzuwenden:
Schlussfolgerung
Der Aufbau eines Protokollpipelines von DigitalOcean Kubernetes nach OpenSearch mithilfe von AxoSyslog konzentriert nicht nur Ihre Protokolle, sondern verbessert auch Ihre Fähigkeiten, Ihre Anwendungen zu überwachen, analysieren und sichern. Mit den in diesem Leitfaden dargestellten Schritten können Sie diese Lösung schnell einführen, wodurch Sie eine tiefere Sichtbarkeit in Ihrer Kubernetes-Umgebung erhalten und sicherstellen, dass Ihre Infrastruktur resilient und kompliant bleibt.
Source:
https://www.digitalocean.com/community/tutorials/collect-and-forward-kubernetes-logs-to-opensearch