Die folgenden Installationen verwenden alle das Verzeichnis ~/ als Stammverzeichnis der Installation. ElasticSearch Bild herunterladen: $ sudo docker pull elasticsearch:5.5.0 Führen Sie den ElasticSearch-Container aus: $ sudo docker run -it -d -p 9200:9200 -p 9300:9300 \ -v ~/elasticsearch/data:/usr/share/elasticsearch/data \ --name myes elasticsearch:5.5.0 Bitte beachten Sie, dass bei Verwendung von Version 6 oder höher JDK-Fehler auftreten. Überprüfen Sie die Protokolle. $ Docker-Protokolle -f myes Zeigen Sie die Protokolle an:
Die im Internet gefundene ungefähre Bedeutung lautet: jdk9 ist nicht sehr freundlich zu elasticSearch (die Version ist zu neu) und es muss JDK8 verwendet werden. Ich verwende JDK8u152 (jdk-8u152-windows-x64.exe). Wenn Sie JDK9 und elasticSearch-rtf (v5.1.1) verwenden, tritt der folgende Fehler auf. Bitte achten Sie besonders darauf, dass die Version elasticSearch6.0 JDK9 verwenden muss, da sonst das von der offiziellen Website heruntergeladene MSI nicht erfolgreich installiert werden kann. Der Grund wurde nicht sorgfältig geprüft. Das ist auch ein sehr ärgerliches Problem, deshalb habe ich einfach direkt die stabile Version v5.5.0 installiert. Logstash Bild herunterladen: $ sudo docker pull logstash:5.5.0 Erstellen Sie eine neue Konfigurationsdatei: $ mkdir ~/logstash/conf.d && cd logstash/conf.d $ vim logstash.conf logstash.conf: Eingabe { schlägt { Port => 5044 # Dieser Port muss derselbe sein wie der Port in filebeat.yml} Datei { Pfad => "/data/logs" # start_position => "Anfang" } } Filter { #grok { # Übereinstimmung => { "Nachricht" => "%{COMBINEDAPACHELOG}" } #} #Datum { # Übereinstimmung => ["Zeitstempel", "tt/MMM/jjjj:HH:mm:ss Z"] #} grok { patterns_dir => "/etc/logstash/conf.d/patterns" Übereinstimmung => {"Nachricht" => "%{TIMESTAMP_ISO8601:Zeit}\S%{MYSELF:msgid}%{MYSELF:Methode}%{MYDATA:Daten}%{MYSELF:Benutzerinfo}\S%{LOGLEVEL:Ebene}\S%{MYSELF:Thread}%{MYSELF:Anwendung}%{MYSELF:IP}"} } Datum { #match => [ "Zeit", "JJJJ-MM-tt HH:mm:ss,SSS" ] Übereinstimmung => [ "Zeit", "ISO8601" ] Ziel => "@Zeitstempel" Zeitzone => "Asia/Phnom_Penh" } } Ausgabe { stdout { Codec => Rubydebug } elastische Suche Aktion => "Index" Hosts => ["172.17.10.114:9200"] index => "%{[Felder][Indexname]}-%{+JJJJ.MM.tt}" } } Führen Sie den Logstash-Container aus: $ sudo docker run -it -d -p 5044:5044 \ -v ~/logstash/conf.d:/etc/logstash/conf.d \ -v ~/logstash/data/logs:/data/logs \ --name logstash logstash:5.5.0 \ -f /etc/logstash/conf.d/logstash.conf Kibana Bild herunterladen: $ sudo docker pull kibana:5.5.0 Erstellen Sie eine neue Konfigurationsdatei: $ mkdir ~/kibana && cd ~/kibana $ vim kibana.yml kibana.yml: Server-Port: 5601 server.host: "0.0.0.0" elasticsearch.url: "http://172.17.10.114:9200" Führen Sie den Kibana-Container aus: $ sudo docker run -it -d -p 5601:5601 \ -v ~/kibana:/etc/kibana \ --name kibana kibana:5.5.0 Filebeat Filebeat muss auf dem Server bereitgestellt werden, auf dem Protokolle gesammelt werden müssen. Bild herunterladen: $ sudo docker pull docker.elastic.co/beats/filebeat:5.5.0 Erstellen Sie eine neue Konfigurationsdatei: Dateibeat.prospectors: - Typ: Protokoll Pfade: - ~/filebeat/logs #Geben Sie den Pfad der zu erfassenden Protokolldateien an: indexname: xxx # Tragen Sie hier den Projektnamen entsprechend dem Index => "%{[fields][indexname]}-%{+YYYY.MM.dd}" ein. Ausgabe.logstash: Gastgeber: ["172.17.10.114:5044"] Führen Sie den Filebeat-Container aus: $ sudo docker run -it -d \ -v ~/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml \ --name filebeat docker.elastic.co/beats/filebeat:5.5.0 Anbei ein Flussdiagramm der ELK-Struktur: 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:
|
<<: Mysql 5.6.37 Winx64-Installation Dual-Version MySQL-Hinweise
>>: Detaillierte Erklärung des DOM DIFF-Algorithmus in der React-Anwendung
1. Autoflow-Attribut: Wenn die Länge und Breite d...
HTML-Seitensprung: Fenster.öffnen(URL, "&quo...
Installation mithilfe des MSI-Installationspakets...
1. Befehlseinführung Mit dem Befehl seq (Sequence...
Als Root-Konto von MySQL verwende ich beim Verbin...
Für jedes DBMS sind die Indizes der wichtigste Op...
Dies ist mein erster Blog. Es geht um die Zeit, a...
Inhaltsverzeichnis 1: Kennwortfreie Anmeldekonfig...
1. Laden Sie MySQL von der offiziellen Website he...
Vorwort Das dreispaltige Layout ist, wie der Name...
Code kopieren Der Code lautet wie folgt: <inpu...
Die Optimierung großer Datenbankdatenmengen ist e...
Lassen Sie mich ein Problem zusammenfassen, mit d...
Vorwort Die MySQL-Abfrage verwendet den Select-Be...
Inhaltsverzeichnis Vorwort Sechs Funktionen von J...