Report abuse

# no real comments yet, whipped this up last night
# probably debian specific too
class rsyslog {
        case $rsyslog_server {
		'': { err("Must configure rsyslog_server on $host!") }
		default: { $syslog_server = $rsyslog_server }
        }
	
	# Installs the client, aims it at the server
	package { rsyslog:
		ensure => installed,
	}
	file { "/etc/rsyslog.d":
		ensure => directory,
		require => Package["rsyslog"], 
	}
	file { "/etc/rsyslog.conf":
		owner=>root, group=>root, mode=>444,
	}
	file { "/etc/default/rsyslog":
		owner => root, group => root, mode => 444,
	}
	service { rsyslog:
		ensure => running,
		subscribe => [ File["/etc/rsyslog.d"], File["/etc/rsyslog.conf"], File["/etc/default/rsyslog"] ],
	}
	file { "rsyslog-tcp":
		path => "/etc/rsyslog.d/rsyslog-tcp.conf",
		owner => root, group => root, mode => 444, 
		require => Package["rsyslog"],
		content => template("rsyslog/rsyslog-tcp.conf"),
	}
}

class rsyslog::server {
	# Server needs mysql
	package { rsyslog-mysql:
		ensure => installed,
		responsefile => "/usr/share/debconf/rsyslog-mysql.preseed",
	}

	# calls check_mysql with no args
	nagios2::service { "mysql": check_command => "check_local_mysql" }

	file { "/usr/share/debconf/rsyslog-mysql.preseed":
		owner => root, group => root, mode => 444,
		source => "puppet:///rsyslog/rsyslog-mysql.preseed",
	}
	file { rsyslog-default:
		path => "/etc/default/rsyslog",
		owner => root, group => root, mode => 444,
		source => "puppet:///rsyslog/rsyslog",
	}
}