System Syslog Server
Beschreibung
Konfiguration eines Syslog-Servers mit rsyslog auf dem LocaPhone-System, damit für Endgeräte oder Subsysteme wie DECT ein Log-Server bereitgestellt wird.
LocaPhone Versionen
RELEASE 5 RELEASE 4 RELEASE 3 RELEASE 2
Vorgehensweise
Das verwendete Betriebssystem Ubuntu stellt normalerweise das Paket rsyslog bereit.
root@voip:~$
root@voip:~# systemctl status rsyslog
● rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-11-16 14:05:06 CET; 24min ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 4884 (rsyslogd)
Tasks: 10
Memory: 1.6M
CPU: 1.263s
CGroup: /system.slice/rsyslog.service
└─4884 /usr/sbin/rsyslogd -n
Nov 16 14:05:06 voip.loca systemd[1]: Starting System Logging Service...
Nov 16 14:05:06 voip.loca systemd[1]: Started System Logging Service.
Konfiguration
Einstellungen des Systemdienstes rsyslogd
als Default.
/etc/rsyslog.conf
# /etc/rsyslog.conf Configuration file for rsyslog.
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
#
# Default logging rules can be found in /etc/rsyslog.d/50-default.conf
#################
#### MODULES ####
#################
module(load="imuxsock") # provides support for local system logging
module(load="imklog") # provides kernel logging support
#module(load="immark") # provides --MARK-- message capability
# provides UDP syslog reception
#module(load="imudp")
#input(type="imudp" port="514")
# provides TCP syslog reception
#module(load="imtcp")
#input(type="imtcp" port="514")
# Enable non-kernel facility klog messages
$KLogPermitNonKernelFacility on
###########################
#### GLOBAL DIRECTIVES ####
###########################
#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# Filter duplicated messages
$RepeatedMsgReduction on
#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog
#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf
Einstellungen des Loggings von UDP auf Port 514. Logging per UDP-Verbindung ist schneller, Logging per TCP-Verbindung ist zuverlässiger.
/etc/rsyslog.d/remotelog.conf
module(load="imudp")
#input(type="imudp" port="514")
#$template RemoteHost,"/var/log/rsyslog/hosts/%HOSTNAME%/syslog.log"
$template RemoteHost,"/var/log/%HOSTNAME%/syslog.log"
$RuleSet remote
*.* ?RemoteHost
$ModLoad imudp
$InputUDPServerBindRuleset remote
$UDPServerRun 514
Start des Syslog-Servers
Nach erfolger Konfiguration wird der rsyslog daemo
n neu gestartet.
root@voip:~$
root@voip:~# systemctl restart rsyslog
Überprüfung der rsyslog network sockets
.
root@voip:~$
root@voip:~# ss -tulnp | grep "rsyslog"
udp UNCONN 0 0 *:514 *:* users:(("rsyslogd",pid=4884,fd=6))
udp UNCONN 0 0 :::514 :::* users:(("rsyslogd",pid=4884,fd=7))
tcp LISTEN 0 25 *:514 *:* users:(("rsyslogd",pid=4884,fd=8))
tcp LISTEN 0 25 :::514 :::* users:(("rsyslogd",pid=4884,fd=9))
Nach Aktivierung des Loggins in einem Endgeräte kann die Log-Ausgabe unter /var/log/%HOSTNAME%
eingesehen werden.
root@voip:~$
root@voip:~# ll /var/log/
total 24176
drwxrwxr-x 16 root syslog 4096 Nov 16 14:06 ./
drwxr-xr-x 14 root root 4096 Aug 30 12:09 ../
drwxr-xr-x 2 syslog syslog 4096 Nov 16 14:06 10.10.1.14/
drwxr-xr-x 2 syslog syslog 4096 Nov 16 14:06 10.10.1.15/
root@voip:~# ll /var/log/10.10.1.14/
total 1280
drwxr-xr-x 2 syslog syslog 4096 Nov 16 14:06 ./
drwxrwxr-x 16 root syslog 4096 Nov 16 14:06 ../
-rw-r----- 1 syslog adm 1295702 Nov 16 14:47 s_local@base-dm-int-589ec638bc10.lo
Als Hostname wird entweder die IP-Adresse oder der DNS-Name des Gerätes angegeben.
Einrichtung logrotate
Sollte das Logging dauerhaft aktiv sein, muss ein entsprechendes logrotate eingerichtet werden. Folgende Zeilen müssen der Datei /etc/logrotate.d/rsyslog hinzugefügt werden:
/etc/logrotate.d/rsyslog
#%HOSTNAME% muss durch die IP/DNS-Name des loggenden Gerätes ersetzt werden
/var/log/%HOSTNAME%/syslog.log
{
rotate 7
daily
maxsize 1k
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
Zusätzliche Informationen
- rsyslog - The rocket-fast Syslog Server - https://www.rsyslog.com/
How to Setup Central Logging Server with Rsyslog in Linux - https://www.tecmint.com/install-rsyslog-centralized-logging-in-centos-ubuntu/