= SYSLOG = **Summary**: All about syslog. \\ **Date**: Around 2011 \\ **Refactor**: 29 April 2025: Checked links and formatting. \\ {{tag>linux aix syslog solaris}} = Syslog Facility Levels = The RFC 5424 defines eight severity levels: ^ Code ^ Severity ^ Keyword ^ Description ^ General Description ^ |0 |Emergency| emerg (panic)| System is unusable. |A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call. | |1 |Alert |alert |Action must be taken immediately. |Should be corrected immediately, therefore notify staff who can fix the problem. An example would be the loss of a primary ISP connection. | |2 |Critical |crit |Critical conditions. |Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection. | |3 |Error |err (error) |Error conditions. |Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time. | |4 |Warning |warning (warn) |Warning conditions. |Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time. | |5 |Notice |notice |Normal but significant condition. |Events that are unusual but not error conditions - might be summarized in an email to developers or admins to spot potential problems - no immediate action required. | |6 |Informational |info |Informational messages. |Normal operational messages - may be harvested for reporting, measuring throughput, etc. - no action required. | |7 |Debug |debug |Debug-level messages. |Info useful to developers for debugging the application, not useful during operations. | = SLES 10 syslog ng = To enable syslogging to a different log host edit this file: OES:~ # vi /etc/syslog-ng/syslog-ng.conf.in An add these lines to the bottom of the file: destination loghost_udp { udp("10.10.10.11" port(514)); }; log { source(src); destination(loghost_udp); }; Afterwards run these commands to activate the logging: OES:~ # SuSEconfig --module syslog-ng Starting SuSEconfig, the SuSE Configuration Tool... Running module syslog-ng only Reading /etc/sysconfig and updating the system... Executing /sbin/conf.d/SuSEconfig.syslog-ng... Checking //etc/syslog-ng/syslog-ng.conf.SuSEconfig file: ok Finished. OES:~ # /etc/init.d/syslog restart Shutting down syslog services done Starting syslog services done == STATS == Do you also get a lot of these messages?: Syslog Syslog Notice OES syslog-ng[2435]: STATS: dropped 0 14:19:30 May 19 2009 Syslog Syslog Notice OES syslog-ng[2435]: STATS: dropped 0 13:19:29 May 19 2009 Syslog Syslog Notice OES syslog-ng[2435]: STATS: dropped 0 12:19:29 May 19 2009 Syslog Syslog Notice OES syslog-ng[2435]: STATS: dropped 0 11:19:29 May 19 2009 They mean that syslog hasn't dropped any message! Well, ain't that cool! But, I don't wanna know each hour. Once a day is good enough: OES:~ # vi /etc/syslog-ng/syslog-ng.conf.in And edit this line: options { long_hostnames(off); sync(0); perm(0640); stats(86400); }; I changes the stats to 86.400 which means once a day. It was 3600, which means once every hour. == Test message == To test syslogging you can use the logger command: logger "Testmessage oesbox" = SLES 11 = In SLES 11, the SuSEconfig script and its syslog-ng.conf.in configuration template aren't used any more. You can enter the changes above directly in the /etc/syslog-ng/syslog-ng.conf file. = AIX syslog = To enable syslogging on an AIX box and to forward all information to a particular syslog server edit the /etc/syslog.conf file and restart the syslog daemon: vi /etc/syslog.conf: In this file you configure the logging in this format: facility.priority destination is: * - all (except mark) mark - time marks kern,user,mail,daemon, auth,... (see syslogd(AIX Commands Reference)) is one of (from high to low): emerg/panic,alert,crit,err(or),warn(ing),notice,info,debug (meaning all messages of this priority or higher) is: /filename - log to this file username[,username2...] - write to user(s) @hostname - send to syslogd on this machine * - send to all logged in users Example: #user.info /var/adm/log.log rotate size 10m files 2 compress #user.debug /var/adm/log.dbg rotate size 20m files 8 compress Because I want to send all messages to a syslogd server, this is the line I need: *.debug @syslogsrv.company.local bash-3.2# refresh -s syslogd 0513-095 The request for subsystem refresh was completed successfully. = Solaris Syslog = The theory and file buildup is the same for Solaris and AIX. There is a difference though, to restart the syslog service you'll have to issue this command: sudo svcadm restart system-log > Note: Do not use spaces (not even one!) between the selector and action colums. always use tabs or syslog will not read the configuration file correctly, resulting in errors like this: syslogd: line xx: unknown priority name "debug @loghost"