Serverüberwachung · 4 min read · Oct 18, 2025

Zentralisierte RSYSLOG Serverüberwachung

Zentralisierte RSYSLOG Serverüberwachung

Dieses Tutorial bietet Schritt-für-Schritt-Anleitungen zur Installation des RSYSLOG-Servers auf Debian 6 (Squeeze) und wie man Syslog-Daten von mehreren Client-Servern an ihn sendet. Wir zeigen auch, wie man einen Apache-Webserver und einen MySQL-Datenbankserver installiert, um die Syslog-Daten zu sammeln, und wie man LogAnalyzer installiert, um die gesammelten Daten einfach mit einem Webbrowser zu durchsuchen.

Ich verwende eine fertige OpenVZ-Virtualisierungsvorlage für dieses Setup, aber das sollte auch auf den meisten Debian-basierten Betriebssystemen funktionieren.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

Installation des RSYSLOG-Servers

Dieser erste Teil beschreibt, wie man einen RSYSLOG-Server aufbaut, der die Syslog-Daten von seinen Clients sammelt. In diesem Beispiel heißt unser Server rsyslog.domain.com und hat eine feste IP-Adresse von 192.168.0.15.

Zuerst installieren wir einige Abhängigkeiten.

apt-get update
apt-get upgrade

apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Erstellen Sie das MySQL-Serverpasswort, wenn die Installation Sie dazu auffordert!

Meine OpenVZ-Vorlage hatte dies bereits, daher ist dieser Befehl möglicherweise auch für Sie nicht notwendig…

apt-get install linux-kernel-headers

** Stellen Sie sicher, dass die Dienste laufen…

/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart

Überprüfen Sie, ob der Server auf den richtigen TCP-IP-Ports lauscht. (80 & 3306). RSYSLOG lauscht zu diesem Zeitpunkt noch auf keinem Port.

rsyslog:~# netstat -tapn

Aktive Internetverbindungen (Server und etabliert)
Proto Recv-Q Send-Q Lokale Adresse
Fremdadresse
Status PID/Programmname
tcp
0 0
127.0.0.1:3306
0.0.0.0:
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:

LISTEN 581/apache2

Dann können wir die rsyslog-Datenbank erstellen:

mysqladmin -u root -p create rsyslog

Als nächstes starten wir die MySQL-Befehlszeile und erstellen den rsyslog-Benutzer:

mysql -u root -p

GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘GEBEN-SIE-IHR-NEUES-RSYSLOG-PASSWORT-HIER-ENTER’;

FLUSH PRIVILEGES;
quit

Als nächstes konfigurieren wir den rsyslog-Server, um auf TCP-Port 514 zu lauschen:

vi /etc/rsyslog.conf

Fügen Sie diese Zeilen hinzu… (denken Sie daran, Ihr Passwort durch das zu ersetzen, das Sie eingegeben haben, als Sie den rsyslog-Benutzer für Ihren MySQL-Server erstellt haben.)

$ModLoad MySQL
*.*       >127.0.0.1,rsyslog,rsyslog,GEBEN-SIE-IHR-NEUES-RSYSLOG-PASSWORT-HIER

…und entfernen Sie die Kommentare vor den Zeilen, die sich mit dem TCP-Syslog-Empfang befassen.

# /etc/rsyslog.conf Konfigurationsdatei für rsyslog v3.
#
# Für weitere Informationen siehe
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,GEBEN-SIE-IHR-NEUES-RSYSLOG-PASSWORT-HIER
#################
#### MODULES ####
#################
$ModLoad imuxsock # bietet Unterstützung für lokales Systemprotokollieren
$ModLoad imklog # bietet Unterstützung für Kernelprotokollierung (früher von rklogd durchgeführt)
#$ModLoad immark # bietet --MARK-- Nachrichtenfähigkeit
# bietet UDP Syslog Empfang
#$ModLoad imudp
#$UDPServerRun 514
# bietet TCP Syslog Empfang
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### GLOBAL DIRECTIVES ####
###########################

Und starten Sie den rsyslog-Dienst neu.

/etc/init.d/rsyslog restart

Überprüfen Sie, ob der Server auf den richtigen TCP-IP-Ports lauscht. (80, 514 & 3306.)

rsyslog:~# netstat -tapn

Aktive Internetverbindungen (Server und etabliert)
Proto Recv-Q Send-Q Lokale Adresse
Fremdadresse
Status PID/Programmname
tcp
0 0
0.0.0.0:514
0.0.0.0:
LISTEN 618/rsyslogd
tcp
0 0
127.0.0.1:3306
0.0.0.0:

LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2

Dann laden wir den LogAnalyzer herunter und konfigurieren den Apache-Webserver, um die Protokolle anzuzeigen.

cd /tmp

wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz

tar xvzf loganalyzer-3.4.1.tar.gz
mv loganalyzer-3.4.1/ /var/www/
cd /var/www

Dann konfigurieren wir die Benutzerrechte für die www-Ordner für den Apache-Webserver.

chown www-data:www-data * . -Rf

Und dann machen wir einige “schöne” Arbeiten an den LogAnalyzer-Ordnern.

mv loganalyzer-3.4.1/ loganalyzer
cd contrib/
cp * ./../src/
cd ./../src/
sh ./configure.sh

Und wir sind bereit, die endgültige Einrichtung von LogAnalyzer über unseren Webbrowser einzugeben. Richten Sie Ihren Webbrowser auf die feste IP-Adresse unseres rsyslog-Servers, die in diesem Demo http://192.168.0.15/loganalyzer/src/install.php ist.

Gehen Sie durch das einfache Setup-Skript (es ist ziemlich viel… weiter -> weiter.)

Jetzt sollten Sie einen funktionierenden rsyslog-Server mit LogAnalyzer haben, der läuft.

Als nächstes konfigurieren wir die RSYSLOG-Clients, um ihre Syslog-Daten an den rsyslog-Server zu senden:

Konfiguration der RSYSLOG-Clients

Normalerweise müssen wir nur die rsyslog.conf-Datei konfigurieren und den Dienst neu starten. (Fast alle Debians werden mit rsyslog vorinstalliert.)

vi /etc/rsyslog.conf

Fügen Sie die Arbeitsverzeichniszeilen hinzu, die verwendet werden, falls die Netzwerkverbindung verloren geht, und ändern Sie die IP-ADRESSE Ihres rsyslog-Servers in 192.168.0.15. (Sie möchten möglicherweise auch das Verzeichnis /rsyslog/work mit dem Befehl mkdir erstellen.)

# bietet TCP Syslog Empfang
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # Standardstandort für Arbeits- (Spool-) Dateien
$ActionQueueType LinkedList # asynchrone Verarbeitung verwenden
$ActionQueueFileName srvrfwd # Dateinamen festlegen, aktiviert auch den Festplattenspeicher
$ActionResumeRetryCount -1 # unendliche Wiederholungen bei Einfügefehlern
$ActionQueueSaveOnShutdown on # speichert die im Speicher befindlichen Daten, wenn rsyslog heruntergefahren wird
*.* @@IHRE-RSYSLOG-SERVER-ADRESSE-HIER
###########################
#### GLOBAL DIRECTIVES ####
###########################

Und starten Sie den rsyslog-Dienst neu.

/etc/init.d/rsyslog restart

Überprüfen Sie, ob der Server auf dem richtigen TCP-IP-Port (514) verbunden ist.

root@ic1:~# netstat -tapn

Aktive Internetverbindungen (Server und etabliert)
Proto Recv-Q Send-Q Lokale Adresse
Fremdadresse
Status PID/Programmname
tcp
0 0
192.168.0.100:49188
192.168.0.15:514
ESTABLISHED 13289/rsyslogd

So sieht ein erfolgreicher Setup aus.

Screenshot - LogAnalyzer in Verwendung

| | Sami Mattila Internet-Content.europa SM OY

Telefon: +358.9.42833310
Mobil: +358.400.749692
E-Mail: [email protected]
Shop: https://shop.internet-content.net
Website: http://www.internet-content.net
Blog: http://www.internet-content.net/en/blog |

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.