Heim System-Tutorial LINUX Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

Jul 18, 2024 am 06:56 AM
linux Linux -Tutorial Roter Hut Linux -System Linux -Befehl Linux-Zertifizierung Red Hat Linux Linux-Video

Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

Logstash ist ein leistungsstarkes Datenverarbeitungstool, das Datenübertragung, Formatverarbeitung und formatierte Ausgabe realisieren kann und über leistungsstarke Plug-In-Funktionen verfügt, die häufig für die Protokollverarbeitung verwendet werden.

1. Prinzip

Eingabe

Daten können aus Dateien, Speichern und Datenbanken extrahiert werden. Die eine besteht darin, sie zum Filtern und Bereinigen zu übergeben. Der andere wird direkt an Output übergeben

Filter

Fähigkeit zur dynamischen Transformation und Analyse von Daten. Dateninformationen können individuell gefiltert und bereinigt werden

Ausgabe

Mit zahlreichen Ausgabeoptionen können Sie Daten dorthin senden, wo Sie sie möchten, und haben die Flexibilität, zahlreiche nachgelagerte Anwendungsfälle freizuschalten.

Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

2. Installation und Verwendung
1.Installation
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.1.rpm
yum install -y ./logstash-6.0.1.rpm
2.Logstash-Konfigurationsdatei
vim /etc/logstash/logstash.yml
path.data: /var/lib/logstash                                    # 数据存放路径
path.config: /etc/logstash/conf.d/*.conf                        # 其他插件的配置文件,输入输出过滤等等
path.logs: /var/log/logstash                                    # 日志存放路径
3.JVM-Konfigurationsdatei in Logstash

Logstash ist ein auf Java entwickeltes Programm, das in der JVM ausgeführt werden muss. Es kann durch die Konfiguration von jvm.options festgelegt werden. Zum Beispiel der maximale und minimale Speicher, der Müllbereinigungsmechanismus usw. Hier sind nur zwei der am häufigsten verwendeten.

Die Speicherzuweisung von JVM darf nicht zu groß oder zu klein sein. Wenn sie zu groß ist, wird das Betriebssystem verlangsamt. Zu klein, um anzufangen.

vim /etc/logstash/jvm.options                               # logstash有关JVM的配置
-Xms256m                                                    # logstash最大最小使用内存
-Xmx1g
4. Die einfachste Protokollsammlungskonfiguration

Installieren Sie ein httpd zum Testen und konfigurieren Sie Logstash, um die Protokolldatei accless.log von Apache zu erfassen

yum install httpd
echo "Hello world" > /var/www/html/index.html               # 安装httpd,创建首页用于测试
vim /etc/logstash/conf.d/test.conf
input {
    file {                                                  # 使用file作为数据输入
        path => ['/var/log/httpd/access_log']               # 设定读入数据的路径
        start_position => beginning                         # 从文件的开始处读取,end从文件末尾开始读取
    }
}
output {                                                    # 设定输出的位置
    stdout {
        codec => rubydebug                                  # 输出至屏幕
    }
}
5. Konfigurationsdatei testen

Logstash ist ein integrierter Befehl, der jedoch nicht in den Umgebungsvariablen enthalten ist. Daher können Sie für die Verwendung dieses Befehls nur den absoluten Pfad verwenden.

/usr/share/logstash/bin/logstash -t  -f  /etc/logstash/conf.d/test.conf   # 测试执行配置文件,-t要在-f前面
Configuration OK                                                          # 表示测试OK
6. Logstash starten

Schließen Sie diese Sitzung nicht, nachdem Sie logstash in der aktuellen Sitzung ausgeführt haben. Nennen Sie sie vorübergehend Sitzung 1 und öffnen Sie dann ein neues Fenster als Sitzung 2

/usr/share/logstash/bin/logstash  -f  /etc/logstash/conf.d/test.conf
Verwenden Sie nach dem Start den Curl-Befehl in Sitzung 2 zum Testen

curl 172.18.68.14
Dann können Sie die Ausgabeinformationen sehen, wenn Sie zur vorherigen Sitzung 1 zurückkehren

{
      "@version" => "1",
          "host" => "logstash.shuaiguoxia.com",
          "path" => "/var/log/httpd/access_log",
    "@timestamp" => 2017-12-10T14:07:07.682Z,
       "message" => "172.18.68.14 - - [10/Dec/2017:22:04:44 +0800] \"GET / HTTP/1.1\" 200 12 \"-\" \"curl/7.29.0\""
}
Zu diesem Zeitpunkt ist die einfachste Logstash-Konfiguration abgeschlossen. Hier handelt es sich lediglich um die gesammelte direkte Ausgabe ohne Filterung oder Bereinigung.

3. Elasticsearch und Logstash

上面的配置时Logsatsh从日志文件中抽取数据,然后输出至屏幕。那么在生产中往往是将抽取的数据过滤后输出到Elasticsearch中。下面讲解Elasticsearch结合Logstash

Logstash抽取httpd的access.log文件,然后经过过滤(结构化)之后输出给Elasticsearch Cluster,在使用Head插件就可以看到抽取到的数据。(Elasticsearch Cluster与Head插件搭建请查看前两篇文章)

Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

配置Logstash

    vim /etc/logstash/conf.d/test.conf
    input {
    file {
        path => ['/var/log/httpd/access_log']
        start_position => "beginning"
    }
    }
    filter {
    grok {
        match => {
            "message" => "%{COMBINEDAPACHELOG}"
        }

        remove_field => "message"   
    }
    }
    output {
    elasticsearch {
        hosts => ["http://172.18.68.11:9200","http://172.18.68.12:9200","http://172.18.68.13:9200"]
        index => "logstash-%{+YYYY.MM.dd}"
        action => "index"
        document_type => "apache_logs"
    }
    }

启动Logstash

     /usr/share/logstash/bin/logstash -t -f /etc/logstash/conf.d/test.conf       # 测试配置文件
    Configuration OK
     /usr/share/logstash/bin/logstash  -f /etc/logstash/conf.d/test.conf         # 启动Logstash

测试

每个执行10次172.18.68.14,位Logstash的地址

    curl 127.0.0.1
    curl 172.18.68.14

验证数据

使用浏览器访问172.18.68.11:9100(Elastisearch 安装Head地址,前面文章有讲)

选择今天的日期,就能看到一天内访问的所有数据。

Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

四、监控其他

监控Nginx日志

仅仅列了filter配置块,input与output参考上一个配置

    filter {
        grok {
                match => {
                        "message" => "%{HTTPD_COMBINEDLOG} \"%{DATA:realclient}\""
                }
                remove_field => "message"
        }
        date {
                match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
                remove_field => "timestamp"
        }
    }

监控Tomcat

仅仅列了filter配置块,input与output参考上一个配置

    filter {
        grok {
                match => {
                        "message" => "%{HTTPD_COMMONLOG}"
                }
                remove_field => "message"
        }
        date {
                match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
                remove_field => "timestamp"
        }
    } 
五、Filebeat

现在已经搭建成在节点安装Logstash并发送到Elasticsearch中去,但是Logstash是基于Java开发需要运行在JVM中,所以是一个重量级采集工具,仅仅对于一个日志采集节点来说使用Logstash太过重量级,那么就可以使用一个轻量级日志收集工具Filebeat来收集日志信息,Filebeat同一交给Logstash进行过滤后再Elasticsearch。这些在接下来的文章在进行讲解,先放一张架构图吧。

Ausführliche Erklärung des Basisfreundes Logstash von Elasticsearch

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des Basisfreundes Logstash von Elasticsearch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erfahrung in der Teilnahme an VSCODE -Offline -Technologieaustauschaktivitäten Erfahrung in der Teilnahme an VSCODE -Offline -Technologieaustauschaktivitäten May 29, 2025 pm 10:00 PM

Ich habe viel Erfahrung in der Teilnahme an VSCODE-Offline-Technologienaustauschaktivitäten, und meine Hauptgewinne sind die Austausch von Plug-in-Entwicklung, praktische Demonstrationen und die Kommunikation mit anderen Entwicklern. 1. Teilen der Plug-in-Entwicklung: Ich habe gelernt, wie man die Plug-in-API von VSCODE verwendet, um die Entwicklungseffizienz wie automatische Formatierung und statische Analyse-Plug-Ins zu verbessern. 2. Praktische Demonstration: Ich habe gelernt, wie man VSCODE für die Fernentwicklung verwendet und seine Flexibilität und Skalierbarkeit erkannt. 3.. Kommunizieren Sie mit Entwicklern: Ich habe Fähigkeiten erhalten, um die VSCODE-Startgeschwindigkeit zu optimieren, z. Kurz gesagt, diese Veranstaltung hat mir sehr profitiert, und ich kann diejenigen, die an VSCODE interessiert sind, sehr empfehlen.

Wie begrenzte ich Benutzerressourcen in Linux? Wie konfiguriere ich Ulimit? Wie begrenzte ich Benutzerressourcen in Linux? Wie konfiguriere ich Ulimit? May 29, 2025 pm 11:09 PM

Linux -System beschränkt die Benutzerressourcen durch den Befehl ulimit, um eine übermäßige Verwendung von Ressourcen zu verhindern. 1.ulimit ist ein integrierter Shell-Befehl, mit dem die Anzahl der Dateideskriptoren (-n), die Speichergröße (-V), die Threadzahl (-U) usw. begrenzt werden kann, die in Soft Limit (aktueller effektiver Wert) und hartem Grenze (maximale Obergrenze) unterteilt sind. 2. Verwenden Sie den Befehl ulimit direkt zur vorübergehenden Änderung, wie z. B. Ulimit-N2048, ist jedoch nur für die aktuelle Sitzung gültig. 3. Für den dauerhaften Effekt müssen Sie /etc/security/limits.conf- und PAM -Konfigurationsdateien ändern und SessionRequiredpam_Limits.so hinzufügen. 4. Der SystemD -Dienst muss Lim in der Einheitsdatei einstellen

Vergleich zwischen Informix und MySQL unter Linux Vergleich zwischen Informix und MySQL unter Linux May 29, 2025 pm 11:21 PM

Informix und MySQL sind beide beliebte relationale Datenbankverwaltungssysteme. Sie können in Linux -Umgebungen gut abschneiden und sind weit verbreitet. Das Folgende ist ein Vergleich und eine Analyse der beiden auf der Linux -Plattform: Installieren und Konfigurieren von Informationen: Bereitstellung von Informationen unter Linux erfordert das Herunterladen der entsprechenden Installationsdateien und das Ausfüllen des Installations- und Konfigurationsprozesses gemäß der offiziellen Dokumentation. MySQL: Der Installationsprozess von MySQL ist relativ einfach und kann einfach über Systempaketmanagement -Tools (z. B. APT oder YUM) installiert werden, und es gibt eine große Anzahl von Tutorials und Community -Unterstützung im Netzwerk als Referenz. Leistungsinformix: Informix hat eine hervorragende Leistung und

So integrieren Sie FileBeat und Elasticsearch unter Debian So integrieren Sie FileBeat und Elasticsearch unter Debian May 28, 2025 pm 05:09 PM

Im Debian -Betriebssystem kann die Integration von FileBeat und Elasticsearch die Sammlung, Übertragung und Speicherung von Protokolldaten vereinfachen. Im Folgenden finden Sie die spezifischen Implementierungsschritte: Schritt 1: Die erste Aufgabe der Bereitstellung von Elasticsearch besteht darin, die Installation von Elasticsearch im Debian -System zu vervollständigen. Sie können die entsprechende Version des Elasticsearch -Softwarepakets von der offiziellen Website für Elastizität herunterladen und den Installationsprozess gemäß den offiziellen Anleitungen abschließen. Laden Sie Elasticsearchwgethttps: //artifacts.elastic.co/downloads/elasticse herunter und installieren Sie sie

Die Gründe und Lösungen für den Editor nach dem VSCODE-Plug-In-Update stürzen ab Die Gründe und Lösungen für den Editor nach dem VSCODE-Plug-In-Update stürzen ab May 29, 2025 pm 10:03 PM

Der Grund, warum der Editor nach dem Aktualisieren des VSCODE -Plugins abstürzt, ist, dass das Plugin mit Kompatibilitätsproblemen mit vorhandenen Versionen von VSCODE oder anderen Plugins Probleme auftritt. Zu den Lösungen gehören: 1. Deaktivieren Sie das Plug-In, um Probleme nacheinander zu beheben; 2. Die Problem-Plug-In in die vorherige Version herabstufen; 3. Finden Sie alternative Plug-Ins; 4. Halten Sie VSCODE und Plug-in aktualisiert und führen Sie ausreichende Tests durch. 5. Richten Sie die automatische Sicherungsfunktion ein, um den Datenverlust zu verhindern.

So implementieren Sie die automatisierte Bereitstellung von Docker in Debian So implementieren Sie die automatisierte Bereitstellung von Docker in Debian May 28, 2025 pm 04:33 PM

Die Implementierung der automatisierten Bereitstellung von Docker im Debian -System kann auf verschiedene Weise durchgeführt werden. Hier sind die detaillierten Schrittehandbuch: 1. Installieren Sie zuerst Docker, stellen Sie sicher, dass Ihr Debian-System auf dem neuesten Stand ist: Sudoaptupdatesudoaptupgrade-y Als Nächstes installieren

Wie kann ich MySQL an die chinesische Schnittstelle einstellen? Einfach die chinesische Sprachumgebung von MySQL festlegen Wie kann ich MySQL an die chinesische Schnittstelle einstellen? Einfach die chinesische Sprachumgebung von MySQL festlegen Jun 04, 2025 pm 06:36 PM

Um MySQL in eine chinesische Schnittstelle zu bringen, kann sie über MySQLworkBench- oder Befehlszeilen -Tools implementiert werden. 1) In MySQLWORKBENCH, öffnen Sie "Einstellungen", wählen Sie die Registerkarte "Aussehen" und wählen Sie dann "Chinesisch (vereinfacht)" im Dropdown-Menü "Sprache" und starten Sie neu. 2) Setzen Sie bei Verwendung von Befehlszeilen-Tools die Gebietsschema-Variablen des Betriebssystems, z.

So vergleichen Sie Debian Notepad mit anderen Herausgebern So vergleichen Sie Debian Notepad mit anderen Herausgebern May 29, 2025 pm 10:42 PM

Debian Texteditor ist ein grundlegendes Textbearbeitungstool, das hauptsächlich für die tägliche einfache Textbearbeitung verwendet wird. Im Vergleich zu anderen Mainstream -Redakteuren hat es bestimmte Einschränkungen in Bezug auf Leistung und Benutzererfahrung. Hier sind die Vorteile und Funktionen mehrerer anderer Redakteure im Vergleich zu Debian-Texteditoren: Notepad Lade großer Dateien Geschwindigkeit: Notepad kann in nur 8 Sekunden schnell große Dateien laden, z. CODE -FÄHRUNGS -Funktion: Unterstützt die Codefärbung in etwa 80 Programmiersprachen, wodurch die Codierungseffizienz verbessert wird. Batch -Betriebsfähigkeit: Es verfügt über den Spaltenbearbeitungsmodus, der für die Ausführung von Stapelverarbeitungsaufgaben wie finanzielle Überprüfung oder Betriebs- und Wartungsprotokolle geeignet ist. Verlängerungs-Plug-in-Zweig

See all articles