Farbende der Apache-Protokolle

9

Das Überwachen von Apache-Protokollen mit tail –fTendenzen wird für die Augen nach einer Weile sehr frustrierend. Gibt es ein Tool / Optionen zum Färben der Protokollausgaben? Vielleicht signalisieren Sie FATAL mit rot, etc ...

Cherian
quelle
1
Siehe auch
Cherian

Antworten:

10

Ich verwende Multitail zum Überwachen von Protokollen. Es umfasst das Färben sowie die Überwachung mehrerer Protokolldateien, entweder zusammengeführt oder in Windows. Versuche es.

Onik
quelle
9

Jeder Grund, warum Sie so etwas nicht verwenden können:

tail -f FILE | grep --color=always KEYWORD

Quelle: commandlinefu.com

JamesBarnett
quelle
Hast du es getestet? Die IT gibt nichts für mich aus.
SabreWolfy
Dies filtert auch die Ausgabe, also jede Zeile ohne KEYWORD ignoriert wird.
Michal Mau
Das OP scheint zu implizieren, dass er nach einem Schlüsselwort oder Wörtern sucht. Sofern die Datei nicht mehrzeilig ist (was Apache-Protokolle im Allgemeinen nicht sind), ist diese Antwort ausreichend.
Garrett
4

Gefunden dies: http://fixunix.com/unix/83044-tail-color.html

tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'

Dies funktioniert nur auf ANSI-Terminals, aber alle anderen sind praktisch ausgestorben. \ e [... m ist die ANSI-Escape-Sequenz SGR "Grafikwiedergabe auswählen". Das "..." kann durch einige durch Semikolons getrennte Ganzzahlen ersetzt werden, mit der Bedeutung:

0: alle Attribute aus 1: fett 31: Vordergrund rot 43: Hintergrund gelb

"Schlüsselwort" kann natürlich jeder reguläre Perl-Ausdruck sein:

(foo | bar) Markieren Sie die Zeichenfolgen foo und bar \ b ((foo | bar) \ b markieren Sie die Wörter foo und bar. \ b ((foo | bar) \ b. Markieren Sie die gesamte Zeile, die die Wörter foo oder bar enthält

Oder, auf einfache Weise, installieren Sie es einfach colortailin Ihrem Lieblings-Repo (dag für CentOS).

http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html

http://joakimandersson.se/projects/colortail/

Grizly
quelle
Ja, Multitail ist am besten
Grizly
3

Ich benutze ein kleines Skript mit Grep-Kombinationen, um einige Farben zu erhalten:

#!/bin/bash
shopt -s expand_aliases

alias grey-grep="GREP_COLOR='1;30' grep -E --color=always --line-buffered"
alias red-grep="GREP_COLOR='1;31' grep -E --color=always --line-buffered"
alias green-grep="GREP_COLOR='1;32' grep -E --color=always --line-buffered"
alias yellow-grep="GREP_COLOR='1;33' grep -E --color=always --line-buffered"
alias cyan-grep="GREP_COLOR='1;36' grep -E --color=always --line-buffered"

tail -1000f /var/log/apache2/error.log | grey-grep ".*PerformanceLogger.*|$" | cyan-grep "INFO|$" | yellow-grep "WARN|$" | red-grep "[ERROR].*|[FATAL].*|$" | green-grep "***|$"

Der Punkt ist, dass jeder verkettete Grep eine andere Farbe hinzufügt. Das Ergebnis ist also ungefähr so: Apache-Protokoll mit einigen Farben

DavidEG
quelle
0

Schamloser Plug: Ich habe ein Tool namens TxtStyle geschrieben , das etwas Ähnliches wie die zuvor genannten Optionen tut. Sie können es wie folgt ausführen:

tail -f /var/log/syslog | txts --regex '\d+'

Sie können auch benannte Stile in der Konfigurationsdatei ( ~/.txts.conf) definieren und wie folgt verwenden:

ifconfig | txts --name ifconfig

( ifconfigStil ist sofort definiert)

Armandino
quelle
0

Es gibt eine Funktion, die ich in diesen Farbgebern nicht gesehen habe: Markieren Sie die Reaktionszeiten (höhere Zeit -> alarmierendere Farbe). Eine 256-Farben-Unterstützung in modernen Terminalemulatoren könnte hier nützlich sein.

sendmoreinfo
quelle
0

Ein weiterer nützlicher Grep-Trick, um alle Ausgaben außer Farbe des ausgewählten KEYWORD anzuzeigen, ist:

tail -f FILE | grep --color=always -E "$|REGEXP"
Felipe Alvarez
quelle