diff options
-rw-r--r-- | nixos/modules/rename.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/logging/syslog-ng.nix | 18 | ||||
-rw-r--r-- | pkgs/tools/system/syslog-ng/default.nix | 9 |
3 files changed, 20 insertions, 8 deletions
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index ea7d9763ce64..073a22207652 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -131,6 +131,5 @@ in zipModules ([] ++ obsolete' [ "programs" "bash" "enable" ] ++ obsolete' [ "services" "samba" "defaultShare" ] ++ obsolete' [ "services" "syslog-ng" "serviceName" ] -++ obsolete' [ "services" "syslog-ng" "listenToJournal" ] ) diff --git a/nixos/modules/services/logging/syslog-ng.nix b/nixos/modules/services/logging/syslog-ng.nix index 2bf6d1ff7904..f3991a411ec4 100644 --- a/nixos/modules/services/logging/syslog-ng.nix +++ b/nixos/modules/services/logging/syslog-ng.nix @@ -43,6 +43,15 @@ in { The package providing syslog-ng binaries. ''; }; + listenToJournal = mkOption { + type = types.bool; + default = true; + description = '' + Whether syslog-ng should listen to the syslog socket used + by journald, and therefore receive all logs that journald + produces. + ''; + }; extraModulePaths = mkOption { type = types.listOf types.str; default = []; @@ -65,7 +74,7 @@ in { configHeader = mkOption { type = types.lines; default = '' - @version: 3.6 + @version: 3.5 @include "scl.conf" ''; description = '' @@ -77,13 +86,18 @@ in { }; config = mkIf cfg.enable { + systemd.sockets.syslog = mkIf cfg.listenToJournal { + wantedBy = [ "sockets.target" ]; + socketConfig.Service = "syslog-ng.service"; + }; systemd.services.syslog-ng = { description = "syslog-ng daemon"; preStart = "mkdir -p /{var,run}/syslog-ng"; - wantedBy = [ "multi-user.target" ]; + wantedBy = optional (!cfg.listenToJournal) "multi-user.target"; after = [ "multi-user.target" ]; # makes sure hostname etc is set serviceConfig = { Type = "notify"; + Sockets = if cfg.listenToJournal then "syslog.socket" else null; StandardOutput = "null"; Restart = "on-failure"; ExecStart = "${cfg.package}/sbin/syslog-ng ${concatStringsSep " " syslogngOptions}"; diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix index cec906e1f439..a62f81052bad 100644 --- a/pkgs/tools/system/syslog-ng/default.nix +++ b/pkgs/tools/system/syslog-ng/default.nix @@ -1,17 +1,16 @@ -{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl -, riemann_c_client, protobufc, yacc }: +{ stdenv, fetchurl, eventlog, pkgconfig, glib, python, systemd, perl }: stdenv.mkDerivation rec { name = "syslog-ng-${version}"; - version = "3.6.1"; + version = "3.5.6"; src = fetchurl { url = "http://www.balabit.com/downloads/files?path=/syslog-ng/sources/${version}/source/syslog-ng_${version}.tar.gz"; - sha256 = "1s3lsxk2pky3jkfamkw5ivpxq2kazikcvdgpmxiyn5w10dwkd0m7"; + sha256 = "19i1idklpgn6mz0mg7194by5fjgvvh5n4v2a0rr1z0778l2038kc"; }; - buildInputs = [ eventlog pkgconfig glib python systemd perl riemann_c_client protobufc yacc ]; + buildInputs = [ eventlog pkgconfig glib python systemd perl ]; configureFlags = [ "--enable-dynamic-linking" |