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.
- Log Insight Importer kann hier heruntergeladen werden: https://my.vmware.com/group/vmware/details?downloadGroup=VRLI-330&productId=573&rPId=10177
- Die Dokumentation finden Sie hier.
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
Pingback: NBA Statistiken in Log Insight | vrealize.it - Cloudmanagement mit VMware vRealize Suite
Pingback: Auswerten von vRealize Business for Cloud Exports in LogInsight | vrealize.it - Cloudmanagement mit VMware vRealize Suite