So erstellen Sie schnell ELK basierend auf Docker

So erstellen Sie schnell ELK basierend auf Docker

[Zusammenfassung] Dieser Artikel erstellt schnell ein vollständiges ELK-System basierend auf der selbst erstellten Docker-Plattform. Die relevanten Bilder werden direkt vom Docker Hub abgerufen, wodurch die Protokollerfassung, -analyse und -abfrage schnell realisiert werden können.

Vorbereiten des Bildes

  • Holen Sie sich das ES-Image: docker pull elasticsearch:latest
  • Holen Sie sich das Kibana-Image: docker pull kibana:latest
  • Holen Sie sich das Logstash-Image: docker pull logstash:latest

Elasticsearch starten

Die ES-Konfigurationsdatei im offiziellen Image wird in /usr/share/elasticsearch/config gespeichert. Bei Bedarf kann dieses Verzeichnis dem Hostcomputer zugeordnet werden; das Datendateiverzeichnis ist /usr/share/elasticsearch/data. Hier ordnen wir das Datenverzeichnis zu; der Container stellt standardmäßig Port 9200 für die API-Interaktion bereit.

docker run --name elasticsearch \
-v "$PWD/esdata":/usr/share/elasticsearch/data \
-p 9200:9200 \
-d elastische Suche

Nachdem der Container gestartet wurde, können Sie ihn zur Überprüfung aufrufen:

Starten Sie Kibana

Kibana muss als Benutzeroberfläche für ES-Operationen mit dem ES-Container kommunizieren. Daher müssen wir hier den ES-Container verknüpfen und Port 5601 für die Seiteninteraktion bereitstellen.

docker run --name kibana \
--link elasticsearch:elasticsearch \
-p 5601:5601 \
-d kibana

Nachdem der Container gestartet wurde, greifen Sie über einen Browser auf Port 5601 zu, um die Kibana-Seite anzuzeigen. Wenn Sie zum ersten Mal darauf zugreifen, werden Sie möglicherweise darauf hingewiesen, dass kein Standardindex erstellt wurde. Hier müssen Sie auf der Verwaltungsseite einen Standardindex erstellen. Der Standardindex heißt normalerweise logstash-*. Erstellen Sie einen Standardindex wie in der folgenden Abbildung gezeigt.

Starten Sie Logstash

Die Hauptfunktion von Logstash besteht darin, Protokolle zu sammeln. Diese Komponente verfügt über viele Plug-Ins und kann die meisten Protokollintegrationsmethoden unterstützen, wie TCP, UDP, JDBC, Dateien, Warteschlangen usw. Die Konfiguration ist sehr einfach und auch die Startmethode ist sehr einfach. Hier nehmen wir das Zugriffsprotokoll von nginx als Beispiel und konfigurieren logstash so, dass das access.log von nginx gelesen und das Protokoll dann an Elasticsearch weitergeleitet wird.

Kompilieren Sie zunächst eine Logstash-Konfigurationsdatei logstash.conf. Der Inhalt lautet wie folgt:

Eingang{
 
   Datei{
 
      Pfad=>"/tmp/nginx/logs/access.log"
 
   }
 
}Ausgabe{
 
   stdout{ } #Log-Ausgabe auf Konsole #Ausgabe auf es
 
   elastische Suche
 
      Hosts=>"100.100.x.231"
 
   }
 
}

Starten Sie den Container. Hier legen wir das nginx-Protokoll in /tmp/nginx/logs/access.log ab. Damit der Container dieses Protokoll lesen kann, müssen Sie das Protokollverzeichnis dem Container zuordnen.

docker run –it –rm -v /tmp/nginx/logs/access.log:/tmp/nginx/logs/access.log -f /config-dir/logstash.conf

Als Nächstes können wir den gesamten Prozess der Protokollerfassung und -anzeige testen. Erstellen Sie zunächst einige Zugriffsprotokolle in nginx. Verwenden Sie beispielsweise direkt curl, um den nginx-Serviceport aufzurufen, oder schreiben Sie Daten direkt in access.log. Zu diesem Zeitpunkt können wir die folgende Protokollausgabe im Logstash-Container sehen:

Öffnen Sie später die Kibana-Seite, um die in Echtzeit geschriebenen Protokolldaten anzuzeigen:

Zusammenfassen

Docker-Container machen das Erstellen von ELK sehr bequem. Mit ELK können Sie Protokolle schnell analysieren und abrufen sowie Probleme finden. Mehrere Hauptbeitragende von ELK haben ein Unternehmen namens Elastic gegründet, das derzeit mit unserem Unternehmen zusammenarbeitet. Basierend auf Open Source hat das Unternehmen auch einige kommerzielle Produkte namens X-Pack veröffentlicht, die viele Verbesserungen in den Bereichen maschinelles Lernen, Graphalgorithmen und Sicherheitstechnologien bieten. Interessierte Studenten können sich selbst darüber informieren.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beispielcode zum Bereitstellen von ELK mit Docker-Compose
  • Eine kurze Zusammenfassung der Praxis der Verbindung des Node-Frameworks mit ELK
  • Beispiel für die Verwendung von Docker zum Erstellen eines ELK-Protokollsystems
  • Detaillierte Analyse des ELK-Prinzips und Einführung

<<:  Grafisches Tutorial zur Installation des MySQL 5.7.21 Installers unter Windows 10

>>:  Richtige Verwendung der Vue-Funktion Anti-Shake und Throttling

Artikel empfehlen

Rhit effiziente Visualisierung Nginx-Protokollanzeigetool

Inhaltsverzeichnis Einführung Installieren Anzeig...

Implementierung der durch Kommas getrennten MySQL-Split-Funktion

1: Definieren Sie eine gespeicherte Prozedur zum ...

So installieren Sie Jenkins mit Docker

Inhaltsverzeichnis 1. Ziehen Sie das Bild 2. Erst...

Drei gängige Methoden, um HTML-Seiten nach 3 Sekunden automatisch zu springen

In der Praxis stoßen wir häufig auf ein Problem: ...

So deinstallieren und installieren Sie Tomcat neu (mit Bildern und Text)

Deinstallieren Sie tomcat9 1. Da die Installation...

MySQL-Datenbankoperationen (Erstellen, Auswählen, Löschen)

MySQL-Datenbank erstellen Nachdem wir uns beim My...

Optimierung von JavaScript und CSS zur Verbesserung der Website-Leistung

<br /> Im ersten und zweiten Teil haben wir ...

JavaScript, um den Effekt des Tab-Leistenwechsels zu erzielen

Registerkartenleiste: Klicken Sie auf verschieden...

Teilen Sie 20 JavaScript-Einzeilencodes

Inhaltsverzeichnis 1. Holen Sie sich den Wert des...

Google Translate Tool: Mehrsprachige Webseiten schnell umsetzen

Google China hat ein Übersetzungstool veröffentlic...