Rsyslog
We gebruiken twee ubuntu 14.04 servers.
Op de rsyslog server passen we straks het bestand /etc/rsyslog.conf
aan, op de andere machine (in mijn geval een apache-server) die fungeert als rsyslog-client passen we straks het bestand /etc/rsyslog.d/50-default.conf
aan.
- rsyslog server
Zoek in het bestand/etc/rsyslog.conf
de volgende regels:# provides UDP syslog reception $ModLoad imudp $UDPServerRun 514 # provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514
... en verwijder de # van de hogere 4 configuratie regels
Herstart daarna de syslog server als volgt:
$ sudo service rsyslog restart
je kan dan de service poort testen met een
$ netstat -vatn
tcp 0 0.0.0.0:514 0.0.0.0:* LISTEN
en dan zou je de hogere regel met poort 514 (van syslog) moeten zien staan ....
in ubuntu 20.04 hebben we de volgende config gebruikt:# /etc/rsyslog.conf configuration file for rsyslog # # For more information install rsyslog-doc and see # /usr/share/doc/rsyslog-doc/html/configuration/index.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="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") # provides kernel logging support and enable non-kernel klog messages module(load="imklog" permitnonkernelfacility="on") $template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs ########################### #### 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
- rsyslog client
Zet in het bestand/etc/rsyslog.d/50-default.conf
het volgende, ergens bovenaan (zelf toevoegen):
*.* @<your-syslog-server-ip>:514
voorbeeld:# Default rules for rsyslog. # # For more information see rsyslog.conf(5) and /etc/rsyslog.conf # RSYSLOG to 10.104.201.10 *.* @10.104.201.10:514 # # First some standard log files. Log by facility. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none -/var/log/syslog ...
Vergeet ook niet/etc/hostname
en/etc/hosts
goed te zetten:
voorbeeld:bert@apache-bert:~$ cat /etc/hostname apache-bert bert@apache-bert:~$ cat /etc/hosts 127.0.0.1 apache-bert localhost 127.0.1.1 ub14.3 ub14
zorg er voor dat localhost in de
/etc/hosts
file niet op de eerste plaats staat.
- testen
a) op de server tik je het volgende commando in:
$ tail -f /var/log/auth.log | grep <client-host-name>
(vervang<client-host-name>
door de hostname van de syslog-client)
voorbeeld:
$ tail -f /var/log/syslog | grep apa
b) op de client kun je nu een service herstarten. Dit komt enkele seconden (soms een minuut later) terecht op de server:bert@apache-bert:~$ date Tue Oct 25 10:14:46 CEST 2016 bert@apache-bert:~$ sudo service apache2 restart [sudo] password for bert: * Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
en op de rsyslog-server zie ik nu het volgende:Every 2.0s: grep apa /var/log/auth.log Tue Oct 25 10:20:54 2016 Oct 25 09:53:37 apache-bert sudo: pam_unix(sudo:session): session opened for user root by bert(uid=0) Oct 25 09:53:38 apache-bert sudo: pam_unix(sudo:session): session closed for user root Oct 25 10:14:51 apache-bert sudo: bert : TTY=pts/0 ; PWD=/home/bert ; USER=root ; COMMAND=/usr/sbin/service apache2 restart Oct 25 10:14:51 apache-bert sudo: pam_unix(sudo:session): session opened for user root by bert(uid=0) Oct 25 10:14:52 apache-bert sudo: pam_unix(sudo:session): session closed for user root Oct 25 10:17:01 apache-bert CRON[1574]: pam_unix(cron:session): session opened for user root by (uid=0) Oct 25 10:17:01 apache-bert CRON[1574]: pam_unix(cron:session): session closed for user root Oct 25 10:17:19 apache-bert sudo: bert : TTY=pts/0 ; PWD=/home/bert ; USER=root ; COMMAND=/usr/sbin/service apache2 restart Oct 25 10:17:19 apache-bert sudo: pam_unix(sudo:session): session opened for user root by bert(uid=0) Oct 25 10:17:22 apache-bert sudo: pam_unix(sudo:session): session closed for user root