59 lines
1.6 KiB
Nix
59 lines
1.6 KiB
Nix
{ lib, ... }:
|
|
|
|
{
|
|
services.rsyslogd = {
|
|
enable = true;
|
|
defaultConfig = ''
|
|
# TODO: Vérifier s'il existe des services qui ne savent pas envoyer
|
|
# leurs logs sur journald (peut-être freeradius)
|
|
global(
|
|
workDirectory="/var/spool/rsyslog" # TODO: read the doc
|
|
preserveFQDN="on"
|
|
)
|
|
|
|
module(load="imjournal")
|
|
module(load="mmjsonparse")
|
|
module(load="omrelp")
|
|
|
|
module(
|
|
load="builtin:omfile"
|
|
template="RSYSLOG_FileFormat"
|
|
fileOwner="root"
|
|
fileGroup="root"
|
|
fileCreateMode="0640"
|
|
dirCreateMode="0755"
|
|
)
|
|
|
|
ruleset(name="sendLogsToRemote") {
|
|
action(
|
|
type="omrelp"
|
|
|
|
target="10.206.1.10"
|
|
port="20514"
|
|
|
|
queue.type="LinkedList"
|
|
queue.spoolDirectory="/var/spool/rsyslog"
|
|
queue.fileName="queue_1"
|
|
queue.saveOnShutdown="on"
|
|
|
|
queue.highWatermark="500"
|
|
queue.lowWatermark="100"
|
|
queue.checkpointInterval="200"
|
|
queue.syncqueuefiles="on"
|
|
queue.maxDiskSpace="500m"
|
|
|
|
action.resumeRetryCount="-1"
|
|
action.reportSuspension="on"
|
|
action.reportSuspensionContinuation="on"
|
|
)
|
|
}
|
|
|
|
# Send local logs to the remote collector
|
|
call sendLogsToRemote
|
|
'';
|
|
};
|
|
|
|
# Pas de risque de boucle dès lors qu'on n'injecte pas les logs
|
|
# dans journald.
|
|
systemd.services.syslog.serviceConfig.StandardOutput = lib.mkForce "journal";
|
|
}
|