Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose)

Einführung

Vielen Dank! Ein Ingenieur, der für den Produktinspektionsprozess in der Abteilung Produktionstechnik verantwortlich ist. Dies ist eine Fortsetzung von Analysieren und Visualisieren von CSV-Protokollen mit Excel Elastic Stack (Docker-Compose) - Was ist Elastic Stack?.

Zielgruppe

Dieser Artikel richtet sich an Personen, die Elastic Stack noch nicht kennen und darüber nachdenken, ihn auszuprobieren.

Inhalt dieses Artikels

Date,2020/10/30,12:20:50

Ich habe eine Reihe von Einstellungsdateien in GitLab eingefügt. Bitte beziehen Sie sich darauf. Klicken Sie hier für das Repository-> Elastic-Stack

Bereiten Sie benutzerdefinierte Muster vor

Zuallererst sind die standardmäßig bereitgestellten Grok-Muster so. Wenn Sie DATE verwenden, ist das Datum nicht in Ordnung. Außerdem wird TIMESTAMP_ISO8601 durch Bindestriche getrennt. Die Beschreibung der benutzerdefinierten Muster auf der offiziellen Website finden Sie hier.

# Months: January, Feb, 3, 03, 12, December
MONTHNUM (?:0?[1-9]|1[0-2])
MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])

# Years?
YEAR (?>\d\d){1,2}

# datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)
DATE_US %{MONTHNUM}[/-]%{MONTHDAY}[/-]%{YEAR}
DATE_EU %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}
TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
DATE %{DATE_US}|%{DATE_EU}

Bereiten Sie DATE_JP in der Reihenfolge des Datums vor und kombinieren Sie TIMESTAMP_JP mit der durch Kommas getrennten Standard-TIME.

logstash/extra_patterns/date_jp


DATE_JP %{YEAR}[/-]%{MONTHNUM}[/-]%{MONTHDAY}
TIMESTAMP_JP %{DATE_JP}[,]%{TIME}

Verwenden Sie benutzerdefinierte Muster

Weisen Sie die erstellte Datei date_jp / opt / logstash / extra_patterns zu.

docker-compose.yml


  logstash01:
    build: ./logstash
    container_name: logstash01
    links:
      - es01:elasticsearch
    volumes:
      - ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
      - ./logstash/config/jvm.options:/usr/share/logstash/config/jvm.options
      - ./logstash/config/log4j2.properties:/usr/share/logstash/config/log4j2.properties
      - ./logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml
      - ./logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
      - ./logstash/extra_patterns/date_jp:/opt/logstash/extra_patterns
    networks:
      - esnet

Setze extra_patterns in pattern_dir. Erstellen Sie ein read_timestamp-Feld mit dem benutzerdefinierten Muster TIMESTAMP_JP.

logstash.conf


filter {
  grok {
    patterns_dir => ["/opt/logstash/extra_patterns"]
    match => { "message" => "%{TIMESTAMP_JP:read_timestamp}" }
  }
}

Stellen Sie die Zeitzone auf Asien / Tokio ein

Da logstash standardmäßig den Zeichenfolgentyp verwendet, ist read_timestamp auch der Zeichenfolgentyp. Da es nicht als Zeitstempel erkannt wird, wird es mithilfe des Datumsfilters in den Datumstyp konvertiert. Stellen Sie die Zeitzone des Datumsfilters auf Asien / Tokio ein und weisen Sie das Ziel @timestamp zu.

logstash.conf


filter {
  grok {
    patterns_dir => ["/opt/logstash/extra_patterns"]
    match => { "message" => "%{TIMESTAMP_JP:read_timestamp}" }
  }
  date {
    match => ["read_timestamp", "yyyy/MM/dd,HH:mm:ss"]
    timezone => "Asia/Tokyo"
    target => "@timestamp"
  }
}

Schließlich

Erklärt, wie Datumsangaben analysiert und Zeitzonen mithilfe benutzerdefinierter Muster festgelegt werden. In Zukunft möchte ich Ihnen den Umgang mit CSV-Dateien vorstellen.

Recommended Posts

Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose)
Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose) - Richten Sie Docker-Compose ein
Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose) - Empfangen Sie Eingaben von mehreren Beats mit Pipeline-to-Pipeline von Logstash
Analysieren und Visualisieren von CSV-Protokollen mit Excel Elastic Stack (Docker-Compose) - Was ist Elastic Stack?
Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose) - (1. Zeile: Datum, 2. und nachfolgende Zeilen: CSV-Daten) Datum wird jeder Zeile nach der 2. Zeile als Zeitstempelfeld hinzugefügt.
Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose) - Teilen Sie PipelineFilter in 3 Dateien [Eingabe / Filter / Ausgabe], um die Wartbarkeit und Wiederverwendbarkeit zu verbessern
Analysieren und visualisieren Sie CSV-Protokolle mit Excel Elastic Stack (Docker-Compose) - Zwei Möglichkeiten, mit Logstash OutOfMemoryError umzugehen