Archiv der Kategorie: Linux Howto

THINK UNBLOG GNU/Linux Knowledge Network for Tutorials, Howto’s, Workaround, DevOps Code for Professionals.

MultiTail zum anzeigen mehrer Log-Dateien

Multitail erlaubt das anzeigen mehrer Log-Dateien

SysAdmins und Entwickler müssen bei der Überwachung oft mehrere Log-Dateien gleichzeitig anzeigen, mit Multitail können diese Aufgaben effektiver gelöst werden.

Bei der Fehlersuche und beim Debugging müssen oft mehrere Log-Dateien gleichzeitig angezeigt werden. Um dies zu erreichen wird normalerweise jede Log-Datei in einer neuen Shell geöffnet. Auf die traditionelle Weise zum Beispiel „tail -f /var/log/messages“. Sollen jedoch mehrere Log-Dateien gleichzeitig in Echtzeit angezeigt werden, kann Multitail hilfreiche Unterstützung leisten.

Multitail auf Red Hat installieren

Das EPEL-Repository muss hinzugefügt sein.

$ sudo yum install epel-release

Die Multitail Installation auf Fedora wie folgt.

$ sudo yum install -y multitail

Installation von Multitail auf Debian Ubuntu

Multitail wird unter Debian und Ubuntu mit apt-get (apt) installiert.

$ sudo apt update
$ sudo apt install -y multitail

Multitail Log-Dateien in Echtzeit angezeigen

Standardmäßig macht „multitail“ dasselbe wie „tail -f“, die Dateien werden in Echtzeit angezeigt, um nun zwei verschiedene Log-Dateien in einem Fenster zu öffnen, lautet die grundlegende Syntax:

$ multitail /var/log/apache2/access.log /var/log/apache2/error.log

Apache2 access.log und error.log unter Debian.

Multitail und netstat

Zusätzlich zu den Log-Dateien mit „netstat -t“ die aktiven Verbindungen zum Webserver anzeigen:

$ multitail -cS apache -R 2 -l "netstat -t" /home/www/*/web/logs/access.log

Es werden alle access.log in den Docroot Verzeichnissen unter logs geöffnet, und im Apache Color Schema angezeigt, durch das Command „netstat -t“ werden die aktiven Verbindungen zum Webserver angezeigt.

Multitail mit 3 Logfiles in 3 Spalten

Die selbe Ausgabe, jedoch die ersten 3 Logfiles in 3 Spalten, hier ein Apache Webserver auf Debian:

$ multitail -s 3 -cS apache -R 3 -l "netstat -t" /home/www/*/web/logs/access.log

Durch drücken der Taste ‚b‘ erscheint eine Liste mit den geöffneten Logfiles, diese per Cursor einzeln ausgewählt werden können.

Abbildung: multitail

Um durch die Logdateien zu blättern drückt man ‚b‘ und scrollt mit den Cursor Tasten nach oben oder unten, für Hilfe drückt man ‚h‘ dabei die verfügbaren Option in einer Liste ausgegeben werden.

Beim scrollen kann durch die Eingabe von ‚G‘ oder ‚gg‘ an den beginn, bzw. an das ende der Protokoll Datei gelangt werden, mit ‚q‘ kehrt man zurück, und verlässt anschließend Multitail.

Multitail postfix mail.log

Für Postfix gibt es ebenfalls ein Color Schema, die Syntax für /var/log/mail.log ist wie folgt:

$ multitail -cS postfix -n 1000 /var/log/mail.log

Viele Color Schemata sind in der Konfiguration /etc/multitail.conf definiert, beispielsweise für Asterisk, Bind, Samba, tcpdump und viele mehr, es können neue hinzugefügt werden, oder die bestehenden modifiziert werden.

Multitail aus Script starten

Damit die multitail Zeile mit den Parameter nicht jedesmal erneut eingegeben werden muss, lässt sich die Befehlszeile aus einem Script ausführen, die folgenden Zeilen einfach in einem Terminal einfügen:

$ cat <<EOF> /usr/bin/mtail
#!/bin/bash
multitail -cS apache -l "netstat -t" /home/www/*/web/logs/access.log
EOF

Der Script „/usr/bin/mtail“ muss nur noch ausführbar gemacht werden:

$ chmod +x /usr/bin/mtail

Wir haben hier nur ein paar grundlegende Anwendungen des Multitail-Befehls beschrieben. Eine vollständige Liste der Optionen findet man in der Manpage von Multitail, mit „multitail -h“ wird die Syntax Hilfe mit weitreichender Auswahl an möglichen Parameter ausgegeben.

Ein ähnlicher Beitrag hier der dich auch interessieren könnte.

Fazit

Dieser Beitrag zeigt wie SysAdmins und Entwickler Mithilfe von Multitail zum überwachen auf mehrere Log-Dateien gleichzeitig zugreifen können. Um Aufgaben effektiver als mit dem tail-Befehl lösen zu können.

phpSysInfo Installation auf Debian

Die Installation von phpSysInfo auf Debian und Ubuntu

PSI – phpSysInfo zeigt System Status Informationen übersichtlich in einer PHP-Webseite

INSTALLATION

Die Installation von phpSysInfo kann mit  Copy Paste der folgenden Zeilen in einer Terminal Console durchgeführt werden:

cd /tmp
curl -L https://github.com/phpsysinfo/phpsysinfo/archive/v3.3.2.tar.gz | tar zxv
mv /tmp/phpsysinfo-3.3.2/phpsysinfo.ini.new /tmp/phpsysinfo-3.3.2/phpsysinfo.ini
sudo mv phpsysinfo-3.3.2 /var/www/html/phpsysinfo

Auf Github ist jeweils das letzte phpSysInfo Release verfügbar.

Die phpSysInfo Seite durch Benutzeranmeldung und Passwort schützen, über die Apache-htaccess Authentifizierung.

$ sudo htpasswd -c /etc/apache2/.htpasswd [username]

Ein gewünschter Benutzer [username] und ein Passwort anlegen, und es sich merken, wird später für die Anmeldung benötigt.

Der Vorgang sieht etwa wie folgt aus, mit Beispiel Benutzer homer.

$ sudo htpasswd -c /etc/apache2/.htpasswd homer
New password:
Re-type new password:
Adding password for user homer

Die Apache Zusatzkonfiguration mit der Konfigurationsdatei in das Verzeichnis „/etc/apache2/sites-available/“ erstellen:

sudo cat <<EOF > /etc/apache2/sites-available/phpsysinfo.conf
<VirtualHost *:80>
    ServerAdmin webmaster@domain.com
    ServerName domain.com
    ServerAlias phpsysinfo.domain.com
    DocumentRoot /var/www/html/phpsysinfo
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /phpsysinfo /var/www/html/phpsysinfo
# Authorization use Apache 2.2
<Location /var/www/html/phpsysinfo>
    AuthUserFile /etc/apache2/.htpasswd
    AuthName LOGIN
    AuthType Basic
    require valid-user
    Satisfy any
    Options None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Location>
# Authorization use Apache 2.4+
 <Directory /var/www/html/phpsysinfo>
    AuthType Basic
    AuthName "LOGIN"
    AuthBasicProvider file
    AuthUserFile "/etc/apache2/.htpasswd"
    Require user [username]
    # Require ip [address]
 </Directory>
 <files phpsysinfo.ini>
 # Deny all requests from Apache 2.4+
     <IfModule mod_authz_core.c>
         Require all denied
     </IfModule>
 </files>
</VirtualHost>
EOF

Zielen mit  Copy Paste in Terminal einfügen, damit wird die Apache VirtualHost Konfiguration bereitgestellt.

Stelle sicher, dass in der php.ini der safe_mode auf off gesetzt ist.
Anstelle von Domain.com den im DNS tatsächlich vorhandene Domainname einsetzen.

Nachdem wir unseren virtuellen Host erstellt haben, muss dieser aktiviert werden, dazu stellt Apache das a2ensite-Tool bereit, damit unsere Website wie folgt aktivieren:

$ sudo a2ensite phpsysinfo.conf

Fertig, jetzt muss nur noch der Apache Webserver neu gestartet werden, damit die Änderungen wirksam werden:

$ sudo systemctl reload apache2

Aufrufen mit http://ip-oder-hostname/phpsysinfo

Abbildung: phpSysInfo

Benutzer und Passwort dieses zuvor mit htpasswd erstellt wurde.

Quellen Link  phpsysinfo

ANFORDERUNGEN

PHP 5.1.3 oder höher mit der Erweiterung SimpleXML, PCRE, XML und DOM.

Empfohlene Extensions:
mbstring: Required for *nix non UTF-8 systems
com_dotnet: Required for Windows environments
xsl: Required for static mode
json: Required for bootstrap mode

AKTUELLE GEPRÜFTE PLATTFORMEN

Linux 2.6+
FreeBSD 7+
OpenBSD 2.8+
NetBSD
DragonFly
HP-UX
Darwin / Mac OS / OS X
Windows 2000 / XP / 2003 / Vista / 2008 / 7 / 2011 / 2012 / 8 / 8.1 / 10 / 2016 / 2019
Android

BEKANNTE PROBLEME

phpSysInfo ist nicht kompatibel mit SELinux.

SELinux auf disabled setzen, mit ausführen folgender Zeile wird /etc/selinux/config geändert und der Server anschließend rebootet.

$ sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config && cat /etc/selinux/config && sudo systemctl reboot