stiziwik
Sie befinden sich hier: Willkommen » linux » Log-Server » Grok
Zuletzt angesehen: • Grok

Grok

Grok ist ein Tool, das Protokolle analysieren kann. Mit grok, können Sie unstrukturierte Log-und Event-Daten in strukturierte Daten umwandeln.

Installation

apt-get install bison ctags flex gperf libevent-dev libpcre3-dev libtokyocabinet-dev libevent-1.4-2 libtokyocabinet8 libpcre3
cd /opt
wget http://semicomplete.googlecode.com/files/grok-1.20110630.1.tar.gz
tar xfz grok-1.20110630.1.tar.gz
rm grok-1.20110630.1.tar.gz
mv grok-1.20110630.1 grok
cd grok

Ab Ubuntu 11.04 wurde das verlinken der libraries mid „ld“ von „LDFLAGS“ nach „LIBS“ geändert.
dafür muss folgendes angepasst werden:

  • Die „LDFLAGS“ Anweisungen mit „LIBS“ anpassen
  • Anpassungen verfolgen in der „Makefile“ Datei
  • hier ein diff (evtl. muss manuell gesucht und angepasst werden): http://launchpadlibrarian.net/106238691/grok_1.20110708.1-1_1.20110708.1-1ubuntu1.diff.gz

Nun kann endlich kompiliert werden

make
make install

Grok testen

Grok kann mit div. Log-Dateien und den angegebenen Patterns getestet werden.
Man nimmt einfach eine Log-Datei und testet diese mit diesem Befehl:

grok -f test.grok

Die test.grok füllt man mit folgendem Inhalt:

program {
  load-patterns: "/opt/grok/patterns/base"
  load-patterns: "/opt/grok/patterns/<DATEINAME>"
  exec "cat <PFAD_ZU_LOG-DATEI>"
 
  match {
    pattern: "%{IP}"
    pattern: "%{PATTERN1}"
    pattern: "%{PATTERN2}"
    pattern: "%{PATTERN3}"
    pattern: "%{PATTERN4}"
    pattern: "%{PATTERN5}"
    reaction: "Found: %{IP}"
    reaction: "found: %{FELD1}, %{FELD2}, ${FELD13}"
  }
}

Eigene Patterns

Im o.g. Beispiel hat man die Anweisung load-patterns: zwei mal ausgeführt und beim zweiten mal einen andere Pattern-Datei angegeben.
Eine neue eigene Pattern-Datei muß wie folgt aussehen:

<PATTERN_NAME_IN_GROßBUCHSTABEN> <SUCHWORT_AUS_LOG-DATEI>%{<PATTERN_AUS_BASE-DATEI>:<FELDNAME>}

Hier ein Beispiel

NETSCREEN1 policy_id=%{INT:policy_id}

Möchte man diese Patterns in logstash verwenden, muss man diese explizit mit der Directive patterns_dir ⇒ angeben.
Das sieht dann ungefähr so aus:

 if [type] == "<TYPE_NAME>" {
                grok {
                        patterns_dir => [ "<PFAD_ZU_PATTERNS>" ]
                        match => { "message" => "...." }
                }
        }

Links

  • Grok-Patterns (Github): https://github.com/elasticsearch/logstash/blob/master/patterns/grok-patterns
  • Grok-Debugger: https://grokdebug.herokuapp.com/
  • Grok-Debugger-Patterns: https://grokdebug.herokuapp.com/patterns
Previous Next

Webseiten-Werkzeuge

  • Letzte Änderungen
  • Medien-Manager
  • Übersicht

Seiten-Werkzeuge

  • Zeige Quelltext
  • Ältere Versionen
  • Links hierher
  • Nach oben

Benutzer-Werkzeuge

  • Anmelden
linux/logging/grok.txt · Zuletzt geändert: 2014/08/22 13:59 von 127.0.0.1
stiziwik

Table of Contents

Inhaltsverzeichnis

  • Grok
    • Installation
    • Grok testen
    • Eigene Patterns
    • Links
  • Android
  • Bild-und-video
  • Datenverarbeitung
  • Fahrzeuge
  • Hausautomatisation
  • linux
    • Alix-router
    • Icinga
    • Log-Server
      • Elasticsearch
      • Filebeat
      • Grok
      • JQ
      • Kibana
      • Logstash
      • Plugins
    • Mail
    • Mysql
    • Nagios
    • Owncloud
    • Virtualisierung
    • Webcam
    • Accl Attr
    • Alternativen-System
    • Antivirus-live
    • Anzahl
    • Audacious
    • Audiodateien-umwandeln
    • Avira-Live-Rescue
    • Backupscript
    • Bash
    • Beep-mit-Ringtones
    • Benutzerpassword Deaktivieren
    • Bluetooth
    • Bootvorgang
    • CD-Ripper
    • Clonezilla
    • Coredump
    • Datenrettung
    • Datum Und Uhrzeit
    • dd
    • Desktop-dateien
    • Docker
    • Duplikate
    • Fail2ban
    • Festplatten
    • Fingerprintsensor
    • Gddrescue
    • Geda
    • Genisoimage mkisofs
    • Grub
    • Internetradio
    • Ipod
    • Journalctl
    • Keepass
    • Kernel Bauen
    • Keystore
    • Live-CD erstellen
    • Lnav
    • Lshw-hardware
    • Message-of-the-day
    • Midnight Commander
    • Mongodb
    • Nohup, Hintergrund, anhalten und Co
    • Openssl
    • Pakete bauen
    • Paketverwaltung
    • Passwort-Generator
    • Patches
    • Prüfsumme
    • Quota
    • Remote Desktop Verbindung
    • Request Tracker
    • Rsync
    • Samba
    • Scriptschnipsel
    • Serielle-Konsole
    • Smartmontools
    • Sms-gateway
    • Softwareraid
    • Squid
    • SSH
    • Stats
    • Stresstest
    • Strongswan VPN
    • Sudo
    • Supergrub2disk
    • Supervisord
    • Swap
    • Syslog
    • Systemrescue
    • Tftp
    • Thunderbird
    • Umbenennen
    • Unity Fenstermanager
    • Video-streaming
    • Virenscan-script
    • Virtualbox
    • Virtualisierung
    • Vnc-vino
    • Watchdog
    • Webmin
    • Wmctrl
    • Zeitsynchronisation Mit DCF-77 Empfänger
    • Zoneminder
  • Nas
  • Netzwerk
  • PlayGround
  • Programieren
  • Projekte
  • Raspberry Pi
  • sonstiges
  • VDR
  • Web
  • Werkstatt
  • Wiki
  • sidebar-acmenu
  • sidebar-indexmenu
  • sidebar-simplenavi