class profile::monitoring::services {
- $real_hostname = lookup("base_installation::real_hostname")
Nagios_service {
- ensure => "present",
- owner => "naemon",
- group => "naemon",
- target => "/etc/naemon/objects.cfg",
- notify => Service["naemon"],
- before => Service["naemon"],
+ ensure => "present",
+ owner => "naemon",
+ group => "naemon",
+ notify => Service["naemon"],
+ before => Service["naemon"],
+ require => File["/etc/naemon"],
}
- $service_generic = {
- active_checks_enabled => "1",
- check_freshness => "0",
- check_interval => "10",
- check_period => "24x7",
- contact_groups => "admins",
- event_handler_enabled => "1",
- flap_detection_enabled => "1",
- is_volatile => "0",
- max_check_attempts => "3",
- notification_interval => "60",
- notification_options => "w,u,c,r",
- notification_period => "24x7",
- notifications_enabled => "1",
- obsess_over_service => "1",
- passive_checks_enabled => "1",
- process_perf_data => "1",
- retain_nonstatus_information => "1",
- retain_status_information => "1",
- retry_interval => "2",
- }
-
-
- $service_local = merge($service_generic, {
- host_name => $real_hostname,
- check_interval => "5",
- max_check_attempts => "4",
- retry_interval => "1",
- })
-
sudo::conf {
default:
sudo_file_name => "naemon";
content => "naemon ALL=(root) NOPASSWD: /usr/bin/fail2ban-client ping";
}
- nagios_service {
- default: * => $service_local;
+ profile::monitoring::local_service {
"Size on root partition":
- service_description => "Size on root partition",
- check_command => "check_local_disk!20%!10%!/";
+ local => {
+ check_command => "check_local_disk!20%!10%!/",
+ };
"Total number of process":
- service_description => "Total number of process",
- check_command => "check_local_procs!250!400!RSZDT";
+ local => {
+ check_command => "check_local_procs!50!100!RSZDT",
+ };
"Average load":
- service_description => "Average load",
- check_command => "check_local_load!8.0,8.0,8.0!10.0,10.0,10.0";
+ local => {
+ check_command => "check_local_load!8.0,8.0,8.0!10.0,10.0,10.0",
+ };
"Swap usage":
- service_description => "Swap usage",
- check_command => "check_local_swap!20!10";
+ local => {
+ check_command => "check_local_swap!20!10",
+ };
"fail2ban is active":
- service_description => "fail2ban is active",
- check_command => "check_command_output!fail2ban-client ping!pong!-r root",
- require => Sudo::Conf["naemon-fail2ban"];
+ local => {
+ check_command => "check_command_output!fail2ban-client ping!pong!-r root",
+ require => Sudo::Conf["naemon-fail2ban"],
+ };
"NTP is activated and working":
- service_description => "NTP is activated and working",
- check_command => "check_ntp";
- }
-
- if empty(find_file("/proc/mdstat")) {
- nagios_service {
- default: * => $service_local;
- "No mdadm array is degraded":
- ensure => "absent",
- service_description => "No mdadm array is degraded",
- check_command => "check_md_raid";
- }
- } else {
- nagios_service {
- default: * => $service_local;
- "No mdadm array is degraded":
- service_description => "No mdadm array is degraded",
- check_command => "check_md_raid";
- }
+ local => {
+ check_command => "check_ntp",
+ };
+ "No mdadm array is degraded":
+ common => {
+ ensure => (find_file("/proc/mdstat") == undef) ? { true => "absent", default =>"present" },
+ },
+ local => {
+ check_command => "check_md_raid",
+ };
}
}