diff options
Diffstat (limited to 'Monitoring')
34 files changed, 1195 insertions, 0 deletions
| diff --git a/Monitoring/Makefile b/Monitoring/Makefile new file mode 100644 index 00000000..794f9262 --- /dev/null +++ b/Monitoring/Makefile @@ -0,0 +1,23 @@ +NAGDIR = /etc/nagios3/ +NAGLIBDIR = /usr/lib/nagios +HTDOCS = /usr/share/nagios3/htdocs + +.phony: debian +debian: +	git pull origin master +	[ `which python` ] || apt-get install python python-simplejson +	[ `which nagios3` ] || apt-get install nagios3 +	rm $(NAGDIR)/conf.d/* || true +	cp -r conf/* $(NAGDIR)/conf.d/ +	htpasswd -bc htpasswd.users nagiosadmin krebs +	htpasswd -b htpasswd.users shack shackit +	sed -i 's/\(authorized_for_all_hosts=nagiosadmin\)$$/\1,shack/' $(NAGDIR)/cgi.cfg +	sed -i 's/\(check_external_commands=\)0$$/\11/' $(NAGDIR)/nagios.cfg +	sed -i 's/\(authorized_for_all_services=nagiosadmin\)$$/\1,shack/' $(NAGDIR)/cgi.cfg +	cp -R htdocs/* $(HTDOCS) +	cp -r plugins $(NAGLIBDIR) +	/etc/init.d/nagios3 reload +	chown nagios:www-data /var/lib/nagios3 || true +	chown nagios:www-data /var/lib/nagios3/rw || true +	chmod g+x /var/lib/nagios3 || true +	chmod ugo=rwx /var/lib/nagios3/rw/nagios.cmd || true diff --git a/Monitoring/TODO b/Monitoring/TODO new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/Monitoring/TODO diff --git a/Monitoring/conf/extinfo.cfg b/Monitoring/conf/extinfo.cfg new file mode 100644 index 00000000..e4300b72 --- /dev/null +++ b/Monitoring/conf/extinfo.cfg @@ -0,0 +1,9 @@ +define hostextinfo{ +        hostgroup_name   debian-servers +        notes            Debian GNU/Linux servers +#       notes_url        http://webserver.localhost.localdomain/hostinfo.pl?host=netware1 +        icon_image       base/debian.png +        icon_image_alt   Debian GNU/Linux +        vrml_image       debian.png +        statusmap_image  base/debian.gd2 +        } diff --git a/Monitoring/conf/hostgroups_generic.cfg b/Monitoring/conf/hostgroups_generic.cfg new file mode 100644 index 00000000..4e3625c5 --- /dev/null +++ b/Monitoring/conf/hostgroups_generic.cfg @@ -0,0 +1,28 @@ +# A simple wildcard hostgroup +define hostgroup { +        hostgroup_name  all +    alias           All Servers +    members         * +        } + +# A list of your Debian GNU/Linux servers +define hostgroup { +        hostgroup_name  debian-servers +    alias           Debian GNU/Linux Servers +    members         localhost +        } + +# A list of your web servers +define hostgroup { +        hostgroup_name  http-servers +    alias           HTTP servers +    members         localhost +        } + +# A list of your ssh-accessible servers +define hostgroup { +        hostgroup_name  ssh-servers +    alias           SSH servers +    members         localhost +        } + diff --git a/Monitoring/conf/krebs_hosts.cfg b/Monitoring/conf/krebs_hosts.cfg new file mode 100644 index 00000000..a929fa19 --- /dev/null +++ b/Monitoring/conf/krebs_hosts.cfg @@ -0,0 +1,78 @@ + +# +# Ur-Krebs +# +define host{ +        use                     generic-host +        host_name               krebs.shack +        alias                   krebs +        _tinc_address           10.7.7.156 +        address                 10.42.23.5 +        parents                 shack-coreswitch +        hostgroups              krebs-machines,tinc-nodes,ssh-servers +        } +# +# UTART +# +define host{ +        use                     generic-host +        host_name               utart +        alias                   UTART +        _tinc_address           10.7.7.66 +        address                 10.42.23.23 +        parents                 shack-coreswitch +        hostgroups              krebs-machines,tinc-nodes,ssh-servers +        } +# +# ytart +# will use tinc ip as long as no static ip is supplied +# +define host{ +        use                     generic-host +        host_name               ytart +        alias                   ytart +        _tinc_address           10.7.7.201 +        parents                 shack-wlan-ap5 +        address                 10.7.7.201 +        hostgroups              krebs-machines,tinc-nodes,ssh-servers +        } +# +# uPM +# +define host{ +        use                     generic-host +        host_name               upm +        alias                   uPM Virtual Machine +        _tinc_address           10.7.7.99 +        address                 upm.shack +        parents                 shack-node1 +        hostgroups              krebs-machines,ssh-servers,shack-rz  +        #,tinc-nodes +        } + +# TODO add upm and genericore as tinc-nodes +# TODO check MONGODB on uPM + + + +#TODO verkrebse genericore/get password +define host{ +        use                     generic-host +        host_name               genericore +        alias                   genericore Virtual Machine +        #_tinc_address           10.7.7.XX +        address                 genericore.shack +        parents                 shack-node1 +        hostgroups              ssh-servers,shack-rz +        #,tinc-nodes,krebs-machines +        } + +define host{ +        use                     generic-host +        host_name               shepherd +        alias                   Shepherd Krebs +        _tinc_address           10.7.7.29 +        address                 10.42.23.42 +        parents                 shack-coreswitch +        hostgroups              krebs-machines,tinc-nodes,ssh-servers +        } diff --git a/Monitoring/conf/krebsnet.cfg b/Monitoring/conf/krebsnet.cfg new file mode 100644 index 00000000..ae5b898e --- /dev/null +++ b/Monitoring/conf/krebsnet.cfg @@ -0,0 +1,20 @@ +## extended infos for krebsnet +define hostgroup { +        hostgroup_name   krebs-machines +        alias            Krebs Machines +        } +define hostextinfo{ +        hostgroup_name   krebs-machines +        notes            Deployed Krebse +#       notes_url        http://webserver.localhost.localdomain/hostinfo.pl?host=netware1 +        icon_image       krebs/krebs.png +        icon_image_alt   Krebs +        vrml_image       krebs.png +        statusmap_image  krebs/krebs.gd2 +        } +#define host{ +#        use             generic-host +#        register        0 +#        name            tinc-only-host +#        check_command   check_internal_tinc_up!100.0,20%!500.0,60% +#        } diff --git a/Monitoring/conf/localhost.cfg b/Monitoring/conf/localhost.cfg new file mode 100644 index 00000000..3b098195 --- /dev/null +++ b/Monitoring/conf/localhost.cfg @@ -0,0 +1,60 @@ +# A simple configuration file for monitoring the local host +# This can serve as an example for configuring other servers; +# Custom services specific to this host are added here, but services +# defined in nagios2-common_services.cfg may also apply. +#  + +define host{ +        use                     generic-host            ; Name of host template to use +        host_name               localhost +        alias                   localhost +        address                 127.0.0.1 +        hostgroups              krebs-machines +        } + +# Define a service to check the disk space of the root partition +# on the local machine.  Warning if < 20% free, critical if +# < 10% free space on partition. + +define service{ +        use                             generic-service         ; Name of service template to use +        host_name                       localhost +        service_description             Disk Space +        check_command                   check_all_disks!20%!10% +        } + + + +# Define a service to check the number of currently logged in +# users on the local machine.  Warning if > 20 users, critical +# if > 50 users. + +define service{ +        use                             generic-service         ; Name of service template to use +        host_name                       localhost +        service_description             Current Users +        check_command                   check_users!20!50 +        } + + +# Define a service to check the number of currently running procs +# on the local machine.  Warning if > 250 processes, critical if +# > 400 processes. + +define service{ +        use                             generic-service         ; Name of service template to use +        host_name                       localhost +        service_description             Total Processes +		check_command                   check_procs!250!400 +        } + + + +# Define a service to check the load on the local machine.  + +define service{ +        use                             generic-service         ; Name of service template to use +        host_name                       localhost +        service_description             Current Load +		check_command                   check_load!5.0!4.0!3.0!10.0!6.0!4.0 +        } diff --git a/Monitoring/conf/other_hosts.cfg b/Monitoring/conf/other_hosts.cfg new file mode 100644 index 00000000..bbdc676a --- /dev/null +++ b/Monitoring/conf/other_hosts.cfg @@ -0,0 +1,22 @@ +define host{ +        use                     generic-host +        host_name               google.de +        alias                   Google Website +        address                 google.de +        parents                 shack-gw +        hostgroups              http-servers +        } + +define host{ +        use                     generic-host +        host_name               google-dns +        parents                 shack-gw +        alias                   Google DNS Service (always reachable) +        address                 8.8.8.8 +        } +define service { +        host_name               google-dns +        service_description     DNS Service +        use                     generic-service +        check_command           check_dns +        } diff --git a/Monitoring/conf/services.cfg b/Monitoring/conf/services.cfg new file mode 100644 index 00000000..e3a61eb0 --- /dev/null +++ b/Monitoring/conf/services.cfg @@ -0,0 +1,26 @@ +# check that web services are running +define service { +        hostgroup_name                  http-servers +        service_description             HTTP +  check_command                   check_http +        use                             generic-service +  notification_interval           0 ; set > 0 if you want to be renotified +} + +# check that ssh services are running +define service { +        hostgroup_name                  ssh-servers +        service_description             SSH +  check_command                   check_ssh +        use                             generic-service +  notification_interval           0 ; set > 0 if you want to be renotified +} + +# check that ping-only hosts are up +define service { +#        hostgroup_name                  ping-servers +        service_description             PING +  check_command                   check_ping!100.0,20%!500.0,60% +        use                             generic-service +  notification_interval           0 ; set > 0 if you want to be renotified +} diff --git a/Monitoring/conf/shack_contacts.cfg b/Monitoring/conf/shack_contacts.cfg new file mode 100644 index 00000000..832a215e --- /dev/null +++ b/Monitoring/conf/shack_contacts.cfg @@ -0,0 +1,22 @@ +define contact{ +    contact_name                    makefu +    alias                           makefu +    service_notification_period     24x7 +    host_notification_period        24x7 +    service_notification_options    w,u,c,r +    host_notification_options       d,u,r +    service_notification_commands   notify-service-by-email +    host_notification_commands      notify-host-by-email +    email                           shack_nagios_notification@syntax-fehler.de +    } +define contactgroup{ +    contactgroup_name                 krebsminers +    alias                             Krebsminers +    members                           makefu +    } +     +define contactgroup{ +    contactgroup_name                 admins +    alias                             admins +    } +     diff --git a/Monitoring/conf/shack_guests.cfg b/Monitoring/conf/shack_guests.cfg new file mode 100644 index 00000000..5832725a --- /dev/null +++ b/Monitoring/conf/shack_guests.cfg @@ -0,0 +1,105 @@ +# +# Bitcoin mines +# +define host{ +        use                     generic-host +        host_name               gauda0 +        parents                 shack-serverswitch +        alias                   Gauda0 Bitcoin Mining Rig 0 +        address                 10.42.0.99 +        hostgroups              bitcoin-miner +        } +define host{ +        use                     generic-host +        host_name               gauda1 +        parents                 shack-serverswitch2 +        alias                   Gauda1 Bitcoin Mining Rig 1 +        address                 10.42.0.98 +        hostgroups              bitcoin-miner +        } +define host{ +        use                     generic-host +        host_name               gauda2 +        parents                 shack-serverswitch2 +        alias                   Gauda2 Bitcoin Mining Rig 2 +        address                 10.42.0.97 +        hostgroups              bitcoin-miner +        } + +#Chinaman +define host{ +        use                     generic-host +        host_name               chinaman +        parents                 shack-router +        alias                   Chinaman Bitcoin Mining Rig +        #address                 10.42.0.96 +        #_TINC_ADDRESS           10.7.7.6 +        address                  10.7.7.6 +        _SPEED_URL              http://leechi.kicks-ass.org/tmp/live/chinaman_bitcoinslc_live +        _TEMPER_URL             http://leechi.kicks-ass.org/tmp/live/chinaman_ati_temper +        hostgroups              bitcoin-miner,tinc-nodes,ssh-servers +        contact_groups           krebsminers +        } +define command { +        command_name  check_speed +        command_line $USER1$/check_speed $_HOSTSPEED_URL$ $ARG1$ +        } +define service { +        host_name               chinaman +        service_description     Temperature Checker +        use                     generic-service +        check_command           check_temper!85 85 65 45 +        contact_groups          krebsminers +        } +define command { +        command_name  check_temper +        command_line $USER1$/check_temper $_HOSTTEMPER_URL$ $ARG1$ +        } +define service { +        host_name               chinaman +        service_description     Mining Speed checker +        use                     generic-service +        check_command           check_speed!600 +        contact_groups          krebsminers +        } +#define service { +#        host_name               chinaman +#        service_description     BTCGUILD hash rate checker +#        use                     generic-service +#        check_command check_btcguild_miner!4bf1543d2eca8648277bdc66c326eea9!txgen_chinaman!450 +#        contact_groups          krebsminers +#        } + + +#define command { +#	command_name	check_btcguild_miner +#	command_line	$USER1$/check_btcguild_miner $ARG1$ $ARG2$ $ARG3$ +#        } + +define host{ +        use                     generic-host +        host_name               Sascha privater Server +        parents                 shack-serverswitch +        alias                   Sascha Server +        address                 10.42.23.100 +        #hostgroups              bitcoin-miner +        } + +define host{ +        use                     generic-host +        host_name               Telefonzelle +        parents                 shack-coreswitch +        alias                   Telefonzelle +        address                 10.42.23.101 +        #hostgroups              bitcoin-miner +        } + +define host{ +        use                     generic-host +        host_name               shack-pnp +        alias                   Shack Bestueckungsautomat +        address                 10.42.100.5 +        parents                 shack-coreswitch +        #hostgroups              shack-rz +        } + diff --git a/Monitoring/conf/shack_infrastructure.cfg b/Monitoring/conf/shack_infrastructure.cfg new file mode 100644 index 00000000..f404f3e4 --- /dev/null +++ b/Monitoring/conf/shack_infrastructure.cfg @@ -0,0 +1,241 @@ +# + +# +# Shack Virtual Machine Hoster Platform +# + +# +# Virtualization and storage +# +define host{ +        use                     generic-host +        host_name               shack-node0 +        alias                   Shack Virtualization Server 0 +        address                 10.42.0.10 +        parents                 shack-serverswitch +        hostgroups              shack-rz,ssh-servers +        } +define host{ +        use                     generic-host +        host_name               shack-node1 +        alias                   Shack Virtualization Server 1 +        address                 10.42.0.10 +        parents                 shack-serverswitch +        hostgroups              shack-rz,ssh-servers +        } +define host{ +        use                     generic-host +        host_name               shack-plattenschwein +        parents                 shack-serverswitch +        alias                   Shack Plattenschwein +        address                 10.42.0.12 +        hostgroups              shack-rz,ssh-servers +        } +# +# Network Infrastructure +# + +# +## Shack gateway (no gateway-no internet) +# +define host{ +        use                     generic-host +        host_name               shack-gw +        parents                 shack-coreswitch +        alias                   Watchguard Shack Gateway +        address                 10.42.0.1 +        hostgroups              shack-rz,ssh-servers +        } +#deprecated +#define host{ +#        use                     generic-host +#        host_name               shack-modem +#        parents                 shack-gw +#        alias                   Shack Telecom VDSL Router +#        address                 192.168.2.1 +#        hostgroups              shack-rz +#        } +define host{ +        use                     generic-host +        host_name               shack-externswitch +        parents                 shack-gw +        alias                   Shack External Switch (2.OG) +        address                 10.0.10.2 +        hostgroups              shack-rz +        } +# +# Serverswitch 2 +# +define host{ +        use                     generic-host +        host_name               shack-serverswitch2 +        parents                 shack-serverswitch +        alias                   Shack switch Rack 2 (cisco 3524) +        address                 10.42.0.5 +        hostgroups              shack-rz +        } + +define service { +        host_name               shack-serverswitch2 +        service_description     Telnet +        use                     generic-service +        check_command           check_telnet +        } + +define service { +        host_name               shack-serverswitch2 +        service_description     Admin HTTP Terminal +        use                     generic-service +        check_command           check_http +        } + + +define service { +        host_name               shack-gw +        service_description     DNS Service +        use                     generic-service +        check_command           check_dns +        } +define host{ +        use                     generic-host +        host_name               shack-coreswitch +        alias                   Shack Cisco Router Coreswitch +        address                 10.42.0.3 +        hostgroups              shack-rz,ssh-servers +        } +define host{ +        use                     generic-host +        host_name               shack-serverswitch +        parents                 shack-coreswitch +        alias                   Shack Cisco Router Serverswitch +        address                 10.42.0.4 +        hostgroups              shack-rz +        } + +define host{ +        use                     generic-host +        host_name               shack-wlan-ap2 +        parents                 shack-coreswitch +        alias                   Shack Wlan Access Point 2 +        address                 10.42.0.6 +        hostgroups              wlan-ap +        } +define host{ +        use                     generic-host +        host_name               shack-wlan-ap3 +        parents                 shack-coreswitch +        alias                   Shack Wlan Access Point 3 +        address                 10.42.0.7 +        hostgroups              wlan-ap +        } +define host{ +        use                     generic-host +        host_name               shack-wlan-ap4 +        parents                 shack-coreswitch +        alias                   Shack Wlan Access Point 4 +        address                 10.42.0.8 +        hostgroups              wlan-ap +        } +define host{ +        use                     generic-host +        host_name               shack-wlan-ap5 +        parents                 shack-coreswitch +        alias                   Shack Wlan Access Point 5 +        address                 10.42.0.9 +        hostgroups              wlan-ap +        } +# +# Voip Infrastructure +# +define host{ +        use                     generic-host +        host_name               shack-voip +        alias                   Shack Cisco VOIP Gateway +        address                 10.42.0.2 +        parents                 shack-coreswitch +        hostgroups              shack-rz,http-servers +        } + +define service{ +        host_name               shack-voip +        service_description     SIP Service +        use                     generic-service +        check_command           check_sip +        } + +# +# Shack DNS Server +# + +define host{ +        use                     generic-host +        host_name               shack-dns +        parents                 shack-node0 +        alias                   Shack DNS Virtual Host +        address                 10.42.0.100 +        hostgroups              shack-rz +        } +define service { +        host_name               shack-dns +        service_description     DNS Service +        use                     generic-service +        check_command           check_dns_shack +        } + +define host{ +        use                     generic-host +        host_name               shack-pxe +        parents                 shack-node0 +        alias                   Shack PXEBoot Vhost +        address                 pxeboot.shack +        hostgroups              shack-rz +        } + +define host{ +        use                     generic-host +        host_name               shack-printsrv +        parents                 shack-node1 +        alias                   Shack Print Server +        address                 printer.shack +        hostgroups              shack-rz +        } + +define host{ +        use                     generic-host +        host_name               shack-aptproxy +        parents                 shack-node0 +        alias                   Shack Apt-proxy +        address                 aptproxy.shack +        hostgroups              shack-rz +        } + +define host{ +        use                     generic-host +        host_name               shack-shack +        parents                 shack-node1 +        alias                   Shack Data Exchange +        address                 shack.shack +        hostgroups              shack-rz,ssh-servers +        } + +# +# shack ldap server +# +define host{ +        use                     generic-host +        host_name               shack-ldap +        parents                 shack-node0 +        alias                   Shack LDAP Server +        address                 ldap.shack +        hostgroups              shack-rz +        } +define service { +        host_name               shack-ldap +        service_description     LDAP Service +        use                     generic-service +        check_command           check_ldap!shammunity +        } + +# +# Random stuff (not necessary located in RZ) +# diff --git a/Monitoring/conf/shacknet.cfg b/Monitoring/conf/shacknet.cfg new file mode 100644 index 00000000..802e5e3a --- /dev/null +++ b/Monitoring/conf/shacknet.cfg @@ -0,0 +1,47 @@ +define hostgroup { +        hostgroup_name   shack-rz +        alias            Shack RZ Infrastructure +        } +define hostgroup { +        hostgroup_name   bitcoin-miner +        alias            Bitcoin miner in Shack-RZ +        } +define hostextinfo{ +        hostgroup_name   bitcoin-miner +        notes            Bitcoin miner in Shack-RZ +        icon_image       krebs/bitcoin_miner.png +        icon_image_alt   bitcoin_miner +        vrml_image       bitcoin_miner.png +        statusmap_image  krebs/bitcoin_miner.gd2 +        } + +define hostgroup { +        hostgroup_name   wlan-ap +        alias            Shack Wlan Access Points +        } +define hostextinfo{ +        hostgroup_name   wlan-ap +        notes            Access Points for Shack +        icon_image       krebs/wireless_access_point.png +        icon_image_alt   wireless_access_point +        vrml_image       wireless_access_point.png +        statusmap_image  krebs/wireless_access_point.gd2 +        } +define hostextinfo{ +        hostgroup_name   shack-rz +        notes            Shack RZ Infrastructure +        icon_image       krebs/shack.png +        icon_image_alt   shack-RZ +        vrml_image       shack.png +        statusmap_image  krebs/shack.gd2 +        } +         +define command { +        command_name          check_sip +        command_line          $USER1$/check_tcp -H $HOSTADDRESS$ -p 5060 +        } + +define command { +	command_name	check_dns_shack +	command_line	$USER1$/check_dns -H shack.shack -s '$HOSTADDRESS$' +        } diff --git a/Monitoring/conf/templates.cfg b/Monitoring/conf/templates.cfg new file mode 100644 index 00000000..41807e1c --- /dev/null +++ b/Monitoring/conf/templates.cfg @@ -0,0 +1,45 @@ +# generic service template definition +define service{ +        name                            generic-service ; The 'name' of this service template +        active_checks_enabled           1       ; Active service checks are enabled +        passive_checks_enabled          1       ; Passive service checks are enabled/accepted +        parallelize_check               1       ; Active service checks should be parallelized (disabling this can lead to major performance problems) +        obsess_over_service             1       ; We should obsess over this service (if necessary) +        check_freshness                 0       ; Default is to NOT check service 'freshness' +        notifications_enabled           1       ; Service notifications are enabled +        event_handler_enabled           1       ; Service event handler is enabled +        flap_detection_enabled          1       ; Flap detection is enabled +        failure_prediction_enabled      1       ; Failure prediction is enabled +        process_perf_data               1       ; Process performance data +        retain_status_information       1       ; Retain status information across program restarts +        retain_nonstatus_information    1       ; Retain non-status information across program restarts +    notification_interval           0   ; Only send notifications on status change by default. +    is_volatile                     0 +    check_period                    24x7 +    normal_check_interval           5 +    retry_check_interval            1 +    max_check_attempts              4 +    notification_period             24x7 +    notification_options            w,u,c,r +    contact_groups                  admins +        register                        0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! +        } +# Generic host definition template - This is NOT a real host, just a template! + +define host{ +        name                            generic-host    ; The name of this host template +        notifications_enabled           1       ; Host notifications are enabled +        event_handler_enabled           1       ; Host event handler is enabled +        flap_detection_enabled          1       ; Flap detection is enabled | 
