Log Insight Importer

Von | 14. März 2016

Log Insight Importer ist ein neues Feature von Log Insight 3.3. Zur Zeit handelt es sich dabei um ein separates kleines Tool für Windows und Linux (rpm/deb). Es kann auf der Log Insight appliance oder jeder anderen VM installiert werden und wird benutzt um nahezu beliebige Logdateien in Log Insight zu importieren. Ein Beispiel: der Nutzer sendet die Logs seiner Anwendung zu – statt mit vi kann man diese nun in Log Insight importieren und dort analysieren.

Nun angenommen, der Importer ist erfolgreich installiert. Die Benutzung ist denkbar einfach. Allerdings müssen die zu importierenden Dateien in zip/gzip/tar-Format vorliegen.  In meinem Fall habe ich eine CSV-Datei vom Kunden.

1. Das Archiv

Schritt: Datei zippen In meinem Fall habe ich die Dateien in das Verzeichnis /tmp/test kopiert und dann mit “tar zxvf test0000.tar.gz test” komprimiert

2. Der Importer

Log Insight Importer auf einem Linux (oder auch Windows-System) installieren. Ich benutze hier einfach meine Log Insight appliance die in VMware Fusion auf dem Macbook läuft.

Loginsight-importer aufrufen – ohne Argumente wird eine umfangreiche Hilfe angezeigt

localhost:/tmp # loginsight-importer 
VMware Log Insight Importer. Build 3.3.0.3516686.

Usage: loginsight-importer --source <path> --server <hostname> [options]
Send logs from support bundle to LogInsight server.

    --source <path>          specifies path to support bundle directory or archive (zip/gzip/tar).
    --server <hostname>      destination server hostname or IP address.
  options:
    --port <port>            port for connection. If not set then 9000 will be used for non SSL connection and 9543 for SSL connection.
    --logdir <path>          specifies path to logs directory. If not set will log to "/root/.loginsight-importer/log".
    --manifest <file-path>   specifies path to manifest file (.ini format). If not set importer.ini in source directory will be used.
                             If there is no importer.ini file in source directory, Importer will apply the default (hardcoded) manifest and
                             collect all .txt and .log files, and apply auto parser.
    --no_ssl                 don't use ssl for the connection. Should not be set for authenticated connections.
    --ssl_ca_path <path>     path to the trusted root certificates bundle file.
    --tags <tags>            set tags for all sent events. Define tags using JSON notation, e.g. "{\"tag1\":\"value1\"}"
    --username <username>    username for authentication. Required if --honor_timestamp is set.
    --password <password>    password for authentication. Required for --honor_timestamp. If not set user will be prompted for password.
    --honor_timestamp        apply parser extracted timestamp as log entry timestamp. Use file MTIME if there was no parser extracted timestamp.
    --debug_level <1|2>      increases the verbosity level of the log file.
    --help                   display help and exit.

3. Das Manifest

Das Manifest ist enorm wichtig (nicht nur in der Geschichte des Klassenkampfes). In meinem Fall habe ich mit einfachem Manifest mit ein Paar Tags angefangen. Die Datei habe ich in dem Arbeitsverzeichnis als importer01.ini gespeichert

[filelog|tb-csv]
tags={"owner":"tb","filetype":"csv","testnr":"22"}
directory=**/*
include=test0000.csv
parser=tbcsv

4. Das Kommando

Zum Importieren benutze ich folgendes Kommando:

# loginsight-importer –source test0000.tar.gz –server localhost –manifest importer01.ini –username admin –password VMware1! –debug_level 2

localhost:/tmp # loginsight-importer --source test0000.tar.gz --server localhost --manifest importer01.ini --username admin --password VMware1! --debug_level 2
Connecting to server localhost:9543
Connection successfully established.
Extracting log entries from "test0000.tar/test/test0000.csv"
Total number of processed files: 1
Total number of extracted log messages: 2090
Total number of sent log messages: 2090
Total run time: 00:00:00.805047

5. Die Logs

Da ich es nicht extra  angegeben habe, werden die Logs des Log-Importers  in /root/.loginsight-importer/ geschrieben. Diese sind sehr hilfreich, insbesondere bei der Arbeit mit spezifischen Parsern.

6. Der Parser

Nun könnte man beim Importieren schon die Felder mit Namen versehen (dies erleichter nachher die Sortierung und die Analyse). In meinem Fall handelt es sich um eine CSV Datei mit 35 Feldern. Der Trick beim CSV-Parser ist, dass man alle Felder aufführen muss, also fleissig Kommas zählen.

Hier ist ein Beispiel einer Manifest-Datein importer.ini  mit dem definierten CSV-Parser:

[parser|tbcsv]
base_parser=csv
debug=yes
delimiter=,
fields=type,errcode,errtime,,a5,a6,errtype,csvmessage,csvmessage2,,,,,,,,,,,,,,,,a25,appname,pool,handler,,,,,,,

[filelog|tb-csv]
tags={"owner":"tb","filetype":"csv","testnr":"22"}
directory=**/*
include=test0000.csv
parser=tbcsv

Dokumentation zu den verschiedenen  Parsern findet man hier

 

 

print

2 Gedanken zu „Log Insight Importer

  1. Pingback: NBA Statistiken in Log Insight | vrealize.it - Cloudmanagement mit VMware vRealize Suite

  2. Pingback: Auswerten von vRealize Business for Cloud Exports in LogInsight | vrealize.it - Cloudmanagement mit VMware vRealize Suite

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.