Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So verwenden Sie Elasticsearch unter Linux für die Protokollanalyse und -suche

So verwenden Sie Elasticsearch unter Linux für die Protokollanalyse und -suche

Jun 18, 2023 am 09:01 AM
linux elasticsearch 日志分析

Im heutigen Internetzeitalter sind wir mit riesigen Datenmengen konfrontiert, insbesondere auf Servern und Anwendungen. Protokolle sind eine wesentliche Möglichkeit zur Verwaltung dieser Daten und helfen uns, besser zu verstehen, was mit unseren Anwendungen und Servern passiert. Elasticsearch ist ein beliebtes Tool für die Protokollaggregation, -analyse und -suche. Aufgrund seiner hohen Skalierbarkeit und Anpassungsfähigkeit ist es führend in der Datenverarbeitung und Protokollanalyse. In diesem Artikel erfahren Sie, wie Sie Elasticsearch unter Linux für die Protokollanalyse und -suche verwenden.

  1. Elasticsearch installieren

Der einfachste Weg, Elasticsearch zu installieren, besteht darin, das Repository von Elasticsearch aus öffentlichen Quellen hinzuzufügen und dann Elasticsearch zu installieren. Wie Sie Quellen hinzufügen, hängt von der verwendeten Linux-Distribution ab. In Ubuntu können Sie den folgenden Befehl verwenden:

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$ sudo apt-get install apt-transport-https
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt-get update && sudo apt-get install elasticsearch
Nach dem Login kopieren
  1. Elasticsearch konfigurieren

Standardmäßig überwacht Elasticsearch die Ports 9200 und 9300 auf localhost, Sie können diese Konfiguration jedoch ändern. In Elasticsearch befindet sich die Konfigurationsdatei in /etc/elasticsearch/elasticsearch.yml. In dieser Datei können Sie Einstellungen wie Clustername, Knotenname, Abhöradresse und Clustererkennung konfigurieren. /etc/elasticsearch/elasticsearch.yml中。 在此文件中,您可以配置群集名称、节点名称、监听地址和群集发现等设置。

举一个例子,以下是一个简单的 Elasticsearch 配置文件:

cluster.name: my_cluster_name
node.name: my_node_name
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 127.0.0.1
http.port: 9200
Nach dem Login kopieren
  1. 导入日志文件

有两种方法将日志数据导入到 Elasticsearch 中:手动导入和使用 Logstash。 在本文中,我们将使用 Logstash 方式进行日志的导入。

安装 Logstash 的最简单方法是使用公共源。 假设您在 Ubuntu 系统上运行 Elasticsearch,您可以使用以下命令安装 Logstash:

$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt-get update && sudo apt-get install logstash
Nach dem Login kopieren

安装完成后,在/etc/logstash/conf.d

Als Beispiel ist hier eine einfache Elasticsearch-Konfigurationsdatei:

input {
    file {
        path => "/var/log/myapp.log"
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }

  date {
    match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
  }

  geoip {
    source => "clientip"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
  stdout { codec => rubydebug }
}
Nach dem Login kopieren

    Protokolldateien importieren
    1. Es gibt zwei Möglichkeiten, Protokolldaten in Elasticsearch zu importieren: manueller Import und Verwendung von Logstash. In diesem Artikel verwenden wir Logstash zum Importieren von Protokollen.

    Der einfachste Weg, Logstash zu installieren, ist die Verwendung der öffentlichen Quelle. Vorausgesetzt, Sie führen Elasticsearch auf einem Ubuntu-System aus, können Sie Logstash mit dem folgenden Befehl installieren:

    curl -X GET "localhost:9200/_search?q=message:error OR message:exception&filter_path=hits.hits._source"
    Nach dem Login kopieren

    Nachdem die Installation abgeschlossen ist, erstellen Sie eine Datei im Verzeichnis /etc/logstash/conf.d mit Der Name und die Erweiterung „.conf“, die festlegen, wie mit den zu importierenden Protokolldaten umgegangen wird. Das Folgende ist ein einfaches Beispiel für eine Konfigurationsdatei:

    {
      "query": {
        "regexp": {
          "message": "WARN.*"
        }
      }
    }
    Nach dem Login kopieren

    In der Konfigurationsdatei geben wir den Pfad der zu lesenden Protokolldatei, die Startposition des aktuellen Protokolls und die Einstellung an, die importierte Protokolldatei nicht zum Filtern zu verwenden. Gleichzeitig haben wir die Datenfilterung mithilfe von Grok definiert, das Datumsformat eingerichtet, die Client-IP-Adresse analysiert und die Ergebnisse an Elasticsearch ausgegeben.

    Protokolle suchen und analysieren

    Sobald Sie Ihre Protokolldaten in Elasticsearch importiert haben, können Sie die Abfrage- und Aggregationsfunktionen von Elasticsearch verwenden, um die Daten zu durchsuchen und zu analysieren. Die REST-API von Elasticsearch bietet eine Vielzahl von Abfrage- und Aggregationstools, die mit Curl, Postman oder einem anderen REST-Client aufgerufen werden können.

    🎜Hier ist ein Beispiel für eine einfache Suchabfrage, die innerhalb eines Zeitraums nach allen Protokolleinträgen sucht, die mit „Fehler“ oder „Ausnahme“ beginnen: 🎜rrreee🎜Wenn Sie beispielsweise nach erweiterten Suchergebnissen suchen, suchen Sie nach a spezifisches Feld oder verwenden Sie Regex. Um Ergebnisse nach Ausdruck zu filtern, können Sie die eigene Abfragesprache von Elasticsearch, Query DSL, verwenden. Hier ist ein Beispiel für eine erweiterte Suchabfrage: 🎜rrreee🎜Der reguläre Abfrageausdruck „WARN.*“ durchsucht alle Protokollnachrichten nach Nachrichten, die mit „WARN“ beginnen. 🎜🎜Fazit🎜🎜In diesem Artikel haben wir einen Überblick über die Verwendung von Elasticsearch unter Linux für die Protokollanalyse und -suche erhalten. Wir haben erfahren, dass Elasticsearch ein leistungsstarkes Tool ist, das uns dabei helfen kann, große Mengen an Protokolldaten zu verarbeiten und zu analysieren. Dies kann sehr nützlich sein, wenn wir Probleme beheben, potenzielle Probleme erkennen oder einfach verstehen, was auf unseren Anwendungen und Servern passiert. 🎜

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie Elasticsearch unter Linux für die Protokollanalyse und -suche. 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 Artikel -Tags

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)

Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade Sep 05, 2024 am 06:33 AM

Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Feb 19, 2025 pm 04:54 PM

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

So installieren Sie Deepseek

BitPie Bitpie-Wallet-App-Download-Adresse BitPie Bitpie-Wallet-App-Download-Adresse Sep 10, 2024 pm 12:10 PM

BitPie Bitpie-Wallet-App-Download-Adresse

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Feb 21, 2025 pm 08:42 PM

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch)

Ausführliche Erklärung: Parameterbefehl zur Beurteilung der Variablen des Shell-Skripts Ausführliche Erklärung: Parameterbefehl zur Beurteilung der Variablen des Shell-Skripts Sep 02, 2024 pm 03:25 PM

Ausführliche Erklärung: Parameterbefehl zur Beurteilung der Variablen des Shell-Skripts

Installation der Quellcode-Kompilierung von Zabbix 3.4 Installation der Quellcode-Kompilierung von Zabbix 3.4 Sep 04, 2024 am 07:32 AM

Installation der Quellcode-Kompilierung von Zabbix 3.4

Ouyi OKX Installationspaket ist direkt enthalten Ouyi OKX Installationspaket ist direkt enthalten Feb 21, 2025 pm 08:00 PM

Ouyi OKX Installationspaket ist direkt enthalten

See all articles