# # HOST DEFINITION # define host { use linux-server host_name gateway display_name Gateway address gateway } define host { use linux-server host_name ap display_name Acces Point address ap } define host { use linux-server host_name internet display_name Internet edge address core1-BE1.southbank.ukcore.bt.net parents gateway } define host { use linux-server host_name defiant display_name Defiant address defiant } define host { use linux-server host_name firebrand display_name Firebrand address firebrand } define host { use linux-server host_name virtualip display_name VirtualIP address virtualip } # # HOST GROUP DEFINITION # define hostgroup { hostgroup_name linux-servers alias Linux Servers members firebrand,defiant } ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### # # Machine state checks # define service { use local-service host_name gateway,virtualip,internet,ap hostgroup_name linux-servers service_description PING check_command check_ping!100.0,20%!500.0,60% } define service { use remote-service hostgroup_name linux-servers service_description Current Load check_command check_load } define service { use remote-service hostgroup_name linux-servers service_description Current Users check_command check_users } define service { use remote-service hostgroup_name linux-servers service_description Total Processes check_command check_procs } define service { use remote-service hostgroup_name linux-servers service_description Swap Usage check_command check_swap!20 } define service { use remote-service hostgroup_name linux-servers service_description Root Volume check_command check_disk!15%!10%!/ } define service { use remote-service hostgroup_name linux-servers service_description PostgreSQL Volume check_command check_disk!20%!10%!/var/lib/postgresql/ } define service { use remote-service hostgroup_name linux-servers service_description MySQL Volume check_command check_disk!20%!10%!/var/lib/mysql/ } define service { use remote-service hostgroup_name linux-servers service_description Portage Volume check_command check_disk!10%!5%!/usr/portage/ } define service { use remote-service hostgroup_name linux-servers service_description Portage Repo check_command check_file_age!/usr/portage/.git/FETCH_HEAD } define service { use remote-service hostgroup_name linux-servers service_description Apache access check_command check_file_age!/var/log/apache2/access.log } define service { use remote-service hostgroup_name linux-servers service_description Saved kernel config check_command check_file_exists!/etc/portage/savedconfig/sys-kernel/gentoo-kernel } define service { use remote-service hostgroup_name linux-servers service_description New kernel config check_command check_file_no_linger!/etc/portage/savedconfig/sys-kernel/._cfg*_gentoo-kernel } define service { use remote-service host_name defiant service_description Store Volume check_command check_disk!10000!5000!/var/store/ } define service { use remote-service hostgroup_name linux-servers service_description Sensors check_command check_sensors } define service { use remote-service host_name defiant service_description MythTV Volume check_command check_disk!10%!5%!/var/store/mythrecordings/ } define service { use remote-service hostgroup_name linux-servers service_description Cache Volume check_command check_disk!10%!5%!/var/cache/ } define service { use remote-service hostgroup_name linux-servers service_description DHCPD check_command check_service!dhcpd4 } define service { use remote-service hostgroup_name linux-servers service_description Corosync check_command check_service!corosync } define service { use remote-service hostgroup_name linux-servers service_description Pacemaker check_command check_service!pacemaker } # # Machine service checks # define service { use local-service hostgroup_name linux-servers service_description SSH check_command check_ssh } define service { use local-service hostgroup_name linux-servers service_description PostgreSQL check_command check_pgsql } define service { use local-service hostgroup_name linux-servers service_description MySQL check_command check_mysql } define service { use local-service hostgroup_name linux-servers service_description NetFS check_command check_ice!4000!Service } define service { use local-service hostgroup_name linux-servers service_description NetFS-GitFS check_command check_ice!5000!Service } define service { use local-service hostgroup_name linux-servers service_description GB API check_command check_ice!9001!portage!users!maintenance } define service { use local-service hostgroup_name linux-servers service_description MirrorSearch API check_command check_ice!9002!Search } define service { use local-service hostgroup_name linux-servers service_description LDAP check_command check_ldap } define service { use local-service hostgroup_name linux-servers service_description NTP time check_command check_ntp } define service { use local-service hostgroup_name linux-servers service_description DNS check_command check_dns } define service { use local-service hostgroup_name linux-servers service_description HA Proxy check_command check_haproxy max_check_attempts 1 check_interval 1 retry_interval 1 } define service { use remote-service hostgroup_name linux-servers service_description DRBD check_command check_drbd max_check_attempts 1 check_interval 1 retry_interval 1 } define service { use remote-service hostgroup_name linux-servers service_description Raid check_command check_raid } define service { use remote-service hostgroup_name linux-servers service_description Home mount check_command check_service!home.mount } define service { use remote-service hostgroup_name linux-servers service_description WWW mount check_command check_service!var-www-shared.mount } define service { use remote-service hostgroup_name linux-servers service_description Git mount check_command check_service!var-git.mount } define service { use remote-service hostgroup_name linux-servers service_description Spam Assassin check_command check_service!spamassassin } define service { use remote-service hostgroup_name linux-servers service_description Squid check_command check_tcp!8080 } define service { use remote-service hostgroup_name linux-servers service_description Clam check_command check_service!clamd } define service { use remote-service hostgroup_name linux-servers service_description NSCD check_command check_service!nscd } define service { use remote-service hostgroup_name linux-servers service_description DistCCD check_command check_service!distccd } define service { use remote-service hostgroup_name linux-servers service_description Cron check_command check_service!cronie } # # Cluster state checks # define service { use remote-service host_name virtualip service_description Git Volume check_command check_disk!20%!10%!/var/git/ } define service { use remote-service host_name virtualip service_description Home Volume check_command check_disk!20%!10%!/home/ } define service { use remote-service host_name virtualip service_description WWW Volume check_command check_disk!20%!10%!/var/www/shared/ } # # Cluster services checks # define service { use local-service host_name virtualip service_description HA Proxy stats check_command check_tcp!9000 } define service { use local-service host_name virtualip service_description HTTPS check_command check_https } define service { use local-service host_name virtualip service_description HTTP check_command check_http } define service { use local-service host_name virtualip service_description SMTP check_command check_smtp } define service { use local-service host_name virtualip service_description IMAPS check_command check_simap } define service { use local-service host_name virtualip service_description CRM check_command check_crm } # # Passive checks # define command { command_name passive-only command_line echo "Unknown: passive-only" && exit 3 } define service { use generic-service name passive-service register 0 active_checks_enabled 0 passive_checks_enabled 1 check_command passive-only } define service { use passive-service host_name firebrand service_description GB API Package Updates } define service { use passive-service host_name firebrand service_description GB API Bug Updates } define service { use passive-service host_name virtualip service_description Backup Volume }