86 lines
2 KiB
Puppet
86 lines
2 KiB
Puppet
# Install net-snmp utilities
|
|
#
|
|
class snmp::utils {
|
|
|
|
case $::operatingsystem {
|
|
"openbsd": {
|
|
package { "net-snmp":
|
|
ensure => installed,
|
|
}
|
|
}
|
|
default: {
|
|
package { [ "net-snmp", "net-snmp-utils" ]:
|
|
ensure => installed,
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
# Install snmp trap daemon
|
|
#
|
|
# === Parameters
|
|
#
|
|
# $acl:
|
|
# Array containing list of allowed SNMP community names.
|
|
# Defaults is to allow all trap messages.
|
|
#
|
|
# === Sample usage
|
|
#
|
|
# class { "snmp::trapd":
|
|
# acl => [ "public", ],
|
|
# }
|
|
#
|
|
class snmp::trapd($acl=NONE) {
|
|
|
|
require snmp::utils
|
|
include user::system
|
|
|
|
realize(User["snmptrapd"], Group["snmptrapd"])
|
|
|
|
case $::operatingsystem {
|
|
"centos","redhat": {
|
|
file { "/etc/sysconfig/snmptrapd":
|
|
ensure => present,
|
|
source => "puppet:///modules/snmp/snmptrapd.sysconfig",
|
|
mode => "0644",
|
|
owner => "root",
|
|
group => "root",
|
|
notify => Service["snmptrapd"],
|
|
}
|
|
}
|
|
"openbsd": {
|
|
file { "/etc/rc.d/snmptrapd":
|
|
ensure => present,
|
|
source => "puppet:///modules/snmp/snmptrapd.rc",
|
|
mode => "0755",
|
|
owner => "root",
|
|
group => "wheel",
|
|
notify => Service["snmptrapd"],
|
|
}
|
|
}
|
|
default: {
|
|
fail("snmp::trapd not supported in ${::operatingsystem}")
|
|
}
|
|
}
|
|
|
|
file { "/etc/snmptrapd.conf":
|
|
ensure => present,
|
|
content => template("snmp/snmptrapd.conf.erb"),
|
|
mode => "0644",
|
|
owner => "root",
|
|
group => $::operatingsystem ? {
|
|
"openbsd" => "wheel",
|
|
default => "root",
|
|
},
|
|
notify => Service["snmptrapd"],
|
|
}
|
|
|
|
service { "snmptrapd":
|
|
ensure => running,
|
|
enable => true,
|
|
require => User["snmptrapd"],
|
|
}
|
|
|
|
}
|