# rsyslog class soc::rsyslog::client( $daily_rotation = true, $syslog_servers = lookup(syslog_servers, undef, undef, []), $relp_syslog_servers = lookup(relp_syslog_servers, undef, undef, ['89.45.237.247:2514']), $gelf_graylog_servers = lookup(gelf_graylog_servers, undef, undef, []), $syslog_enable_remote = lookup('syslog_enable_remote', undef, undef, 'true'), ) { # Install rsyslog packages [ 'rsyslog', 'rsyslog-relp', 'rsyslog-openssl' ].each |String $package| { package { $package: ensure => latest, } } $do_remote = str2bool($syslog_enable_remote) file { '/etc/rsyslog.conf': ensure => file, mode => '0644', content => template('soc/rsyslog/rsyslog.conf.erb'), require => Package['rsyslog'], notify => Service['rsyslog'], ; '/etc/rsyslog.d/50-default.conf': ensure => file, mode => '0644', content => template('soc/rsyslog/rsyslog-default.conf.erb'), require => Package['rsyslog'], notify => Service['rsyslog'], ; '/etc/rsyslog.d/60-remote.conf': ensure => file, mode => '0644', content => template('soc/rsyslog/rsyslog-remote.conf.erb'), require => Package['rsyslog'], ; } service { 'rsyslog': ensure => 'running', enable => true, subscribe => File['/etc/rsyslog.d/60-remote.conf'], } if ($daily_rotation == true) { file { '/etc/logrotate.d/rsyslog': ensure => file, mode => '0644', content => template('soc/rsyslog/rsyslog.logrotate.erb'), } } }