From 58db7f00d8740bdce6ef4ada9bc3445a2978e7a3 Mon Sep 17 00:00:00 2001 From: Saz Date: Mon, 25 Jul 2011 15:06:14 +0200 Subject: Added README.md and server.pp --- README.md | 23 +++++++++++++++++++++++ manifests/params.pp | 5 +++++ manifests/server.pp | 10 ++++++++++ templates/server.conf.erb | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 README.md create mode 100644 manifests/server.pp create mode 100644 templates/server.conf.erb diff --git a/README.md b/README.md new file mode 100644 index 0000000..6bc2d28 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# puppet-rsyslog +puppet-rsyslog is a module for puppet to manage rsyslog client and server + +## How to use +```include rsyslog::client``` + +or + +``` + $rsyslog_server_dir = "/path/to/target/directory/" + include rsyslog::server +``` + +Both can be installed at the same time. + +Default server name is 'log'. +$rsyslog_server_dir defaults to '/srv/log/' + +### Setting a different server +``` + $rsyslog_server = "another.server.domain.tld" + include rsyslog::client +``` diff --git a/manifests/params.pp b/manifests/params.pp index 35ef20a..878c1f9 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,6 +4,11 @@ class rsyslog::params { default => $rsyslog_server, } + $server_dir = $rsyslog_server_dir ? { + '' => '/srv/log/', + default => $rsyslog_server_dir, + } + case $operatingsystem { /(Ubuntu|Debian)/: { $rsyslog_package_name = 'rsyslog' diff --git a/manifests/server.pp b/manifests/server.pp new file mode 100644 index 0000000..dceb252 --- /dev/null +++ b/manifests/server.pp @@ -0,0 +1,10 @@ +class rsyslog::server inherits rsyslog { + file { $rsyslog::params::server_conf: + owner => root, + group => root, + ensure => file, + content => template("${module_name}/server.conf.erb"), + require => Class['rsyslog::install'], + notify => Class['rsyslog::service'], + } +} diff --git a/templates/server.conf.erb b/templates/server.conf.erb new file mode 100644 index 0000000..c33751c --- /dev/null +++ b/templates/server.conf.erb @@ -0,0 +1,39 @@ +# File is managed by puppet + +$ModLoad imudp +$UDPServerRun 514 + +$ModLoad imtcp +$TCPServerRun 514 + +$ModLoad imrelp +$InputRELPServerRun 2514 + +$FileOwner root +$FileGroup adm +$FileCreateMode 0640 +$DirCreateMode 0750 + +# Templates +$Template dynAuthLog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/auth.log" +$Template dynSyslog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/syslog" +$Template dynCronLog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/cron.log" +$Template dynDaemonLog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/daemon.log" +$Template dynKernLog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/kern.log" +$Template dynUserLog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/user.log" +$Template dynMailLog,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/mail.log" +$Template dynDebug,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/debug" +$Template dynMessages,"<%= scope.lookupvar('rsyslog::params::server_dir') %>%source:R,ERE,1,DFLT:([A-Za-z-]*)--end%/messages" + +# Rules +auth,authpriv.* ?dynAuthLog +*.*;auth,authpriv.none,mail.none,cron.none -?dynSyslog +cron.* ?dynCronLog +daemon.* -?dynDaemonLog +kern.* -?dynKernLog +mail.* -?dynMailLog +user.* -?dynUserLog +*.=info;*.=notice;*.=warn;\ + auth.none,authpriv.none;\ + cron.none,daemon.none;\ + mail.none,news.none -?dynMessages -- cgit v1.2.3