Syslog
syslog is a standard for message logging. it allows separation between the
software that generates log messages, system that stores them and the the
software that reports and analyze them
(wikipedia).
syslog is the main logging facility in most Operating systems including
GNU/Linux, BSDs and Mac Os, so we decided to use syslog as our log storage
service for PantherX.
by default, GuixSD configured syslog to log anything (except mail) of level
info or higher to /var/log/messages. if we need debug level logs as well,
we should access /var/log/debug file. all mail related logs are also stored
in /var/log/maillog.
Forward Log messages
You can forward the log messeges with configuring the syslog server. Generally, there are syslog, rsyslog and syslog-ng as syslog daemons. So for remote logging you can:
rsyslog: As root, edit/etc/rsyslog.confwith a text editor. Paste this line at the end:
*.* @logs.papertrailapp.com:46169
syslog-ng: As root, edit/etc/syslog-ng.confwith a text editor. Find a line starting with source. For example:source s_sys { .. }. At the end of the file, paste this. Replaces_syswith the source name above, like “s_sys”, “src”, “s_all”, or “s_local”:
destination d_papertrail {
udp("logs.papertrailapp.com" port(46169));
};
# replace "s_sys" with the name you found:
log {
source(s_sys); destination(d_papertrail);
};
syslog: A few Linux distributions still used GNUsyslogduntil recently. Since GNUsyslogdcan only transmit logs to the default syslog port (and not to a port of your choosing), you can useremote_syslog2. It’s packaged and also is working as a service in PantherX. You can install and run it manually, or configure your system to run it as a service:
(service remote-syslog-service-type)
You can also configure the remote-syslog. There are destination-host, destination-port, hostname, log-files and package parameters while
they filled with these default values:
(define-record-type* <remote-syslog-service-configuration>
remote-syslog-service-configuration make-remote-syslog-service-configuration
remote-syslog-service-configuration?
(destionation-host remote-syslog-service-configuration-destionation-host
(default "logs.papertrailapp.com"))
(destionation-port remote-syslog-service-configuration-destionation-port
(default "46169"))
(hostname remote-syslog-service-configuration-host
(default "$(hostname)"))
(log-files remote-syslog-service-configuration-log-files
(default "/var/log/messages"))
(package remote-syslog-service-configuration-package
(default remote_syslog2)))
Therefor, if your want, you can change these values in the configuration, ex:
(service remote-syslog-service-type
(remote-syslog-service-configuration
(destination-host "blob.blob.com")
(destination-port "1234")
(hostname "MY_SYSTEM")))