109 lines
2.8 KiB
Puppet
109 lines
2.8 KiB
Puppet
|
|
# Install syslog client
|
|
#
|
|
# === Global variables:
|
|
#
|
|
# $syslog_type:
|
|
# Syslog type to use. Valid values are syslogd and rsyslog.
|
|
# Default depends on operating system.
|
|
#
|
|
# $syslog_server:
|
|
# Address of remote syslog server where to send logs.
|
|
#
|
|
class syslog::client {
|
|
|
|
if !$syslog_type {
|
|
case $operatingsystem {
|
|
"centos": { $syslog_type = "syslogd" }
|
|
"fedora": { $syslog_type = "rsyslog" }
|
|
"openbsd": { $syslog_type = "syslogd" }
|
|
}
|
|
}
|
|
|
|
case $syslog_type {
|
|
"syslogd": { include syslog::client::syslogd }
|
|
"rsyslog": { include syslog::client::rsyslog }
|
|
default: { fail("Unknown \$syslog_type '$syslog_type'") }
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install syslog client using syslogd
|
|
#
|
|
class syslog::client::syslogd {
|
|
|
|
if $operatingsystem != "OpenBSD" {
|
|
package { "syslogd":
|
|
name => "sysklogd",
|
|
ensure => installed,
|
|
before => File["/etc/syslog.conf"],
|
|
}
|
|
}
|
|
|
|
file { "/etc/syslog.conf":
|
|
ensure => present,
|
|
content => template("syslog/syslog.conf.$operatingsystem.erb",
|
|
"syslog/syslog.conf.client.erb"),
|
|
mode => 0644,
|
|
owner => "root",
|
|
group => $operatingsystem ? {
|
|
"openbsd" => "wheel",
|
|
default => "root",
|
|
},
|
|
notify => Service["syslogd"],
|
|
}
|
|
|
|
service { "syslogd":
|
|
name => $operatingsystem ? {
|
|
"openbsd" => "syslogd",
|
|
default => "syslog",
|
|
},
|
|
ensure => running,
|
|
enable => true,
|
|
start => $operatingsystem ? {
|
|
"openbsd" => "syslogd -a /var/www/dev/log -a /var/named/dev/log -a /var/empty/dev/log",
|
|
default => undef,
|
|
},
|
|
restart => $operatingsystem ? {
|
|
"openbsd" => "pkill -HUP -u _syslogd",
|
|
default => undef,
|
|
},
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install syslog client using rsyslog.
|
|
#
|
|
class syslog::client::rsyslog {
|
|
|
|
package { "rsyslog":
|
|
ensure => installed,
|
|
}
|
|
|
|
file { "/etc/rsyslog.conf":
|
|
ensure => present,
|
|
content => template("syslog/rsyslog.conf.erb",
|
|
"syslog/syslog.conf.$operatingsystem.erb",
|
|
"syslog/syslog.conf.client.erb"),
|
|
mode => 0644,
|
|
owner => "root",
|
|
group => $operatingsystem ? {
|
|
"openbsd" => "wheel",
|
|
default => "root",
|
|
},
|
|
require => Package["rsyslog"],
|
|
notify => Service["rsyslog"],
|
|
}
|
|
|
|
service { "rsyslog":
|
|
ensure => running,
|
|
enable => true,
|
|
start => $operatingsystem ? {
|
|
"openbsd" => "pkill syslogd ; /usr/local/sbin/rsyslogd -c 4 -x -i /var/run/syslog.pid",
|
|
default => undef,
|
|
},
|
|
}
|
|
|
|
}
|