diff --git a/communication/slack/config/openfest-slack-to-irc-sync.json b/communication/slack/config/openfest-slack-to-irc-sync.json
index 9f69b15..031827d 100644
--- a/communication/slack/config/openfest-slack-to-irc-sync.json
+++ b/communication/slack/config/openfest-slack-to-irc-sync.json
@@ -2,11 +2,13 @@
"nickname": "SlackSync",
"server": "marla.ludost.net",
"token": "CHANGE ME",
+ "logfile": "/path/to/logfile.log",
"channelMapping": {
"private": "private",
"#bulgaria-hall": "#openfest-bulgaria-hall",
"#chamber-hall": "#openfest-chamber-hall",
- "#third-hall": "#openfest-third-hall"
+ "#third-hall": "#openfest-third-hall",
+ "#video": "#openfestvideo"
},
"ircOptions": {
"userName": "slacksync",
diff --git a/monitoring/arpwatch/README.md b/monitoring/arpwatch/README.md
new file mode 100644
index 0000000..bb3c1fc
--- /dev/null
+++ b/monitoring/arpwatch/README.md
@@ -0,0 +1,15 @@
+# ArpWatch
+Monitor stations on network
+
+# Prerequisites
+vlans
+arpwatch
+
+# Notes
+* Ignore main interface on which vlans are set
+
+# Configuration
+* Add alias to drop the emails that are being sent
+* add filter to syslog (rsyslog) to direct messages to special file
+* fix arpwatch.conf to start daemon per interface (look at notes above)
+* go
diff --git a/monitoring/arpwatch/aliases b/monitoring/arpwatch/aliases
new file mode 100644
index 0000000..6f37c6e
--- /dev/null
+++ b/monitoring/arpwatch/aliases
@@ -0,0 +1 @@
+nukemailz: /dev/null
diff --git a/monitoring/arpwatch/arpwatch.conf b/monitoring/arpwatch/arpwatch.conf
new file mode 100644
index 0000000..334298c
--- /dev/null
+++ b/monitoring/arpwatch/arpwatch.conf
@@ -0,0 +1,8 @@
+# prod setup
+eth0 -m nukemailz
+#eth1 -m nukemailz
+eth1.100 -m nukemailz
+eth1.101 -m nukemailz
+eth1.102 -m nukemailz
+eth1.103 -m nukemailz
+eth1.104 -m nukemailz
diff --git a/monitoring/arpwatch/rsyslogd-arpwatch.conf b/monitoring/arpwatch/rsyslogd-arpwatch.conf
new file mode 100644
index 0000000..f555952
--- /dev/null
+++ b/monitoring/arpwatch/rsyslogd-arpwatch.conf
@@ -0,0 +1,2 @@
+# log arpwatch in a separate file
+if $programname == 'arpwatch' then /var/log/arpwatch.log
diff --git a/monitoring/collectd/scripts/unbound-collectd/README.md b/monitoring/collectd/scripts/unbound-collectd/README.md
new file mode 100644
index 0000000..405e30a
--- /dev/null
+++ b/monitoring/collectd/scripts/unbound-collectd/README.md
@@ -0,0 +1,7 @@
+# unbound-collectd.sh
+Simple script to monitor unbound
+
+# Prerequisites
+ * Unbound
+ * `/etc/unbound/*.key` and `/etc/unbound/*.pem` should have group unbound
+ * exec section should execute the script with user unbound
diff --git a/monitoring/collectd/scripts/unbound-collectd/unbound-collectd.sh b/monitoring/collectd/scripts/unbound-collectd/unbound-collectd.sh
new file mode 100644
index 0000000..4413a57
--- /dev/null
+++ b/monitoring/collectd/scripts/unbound-collectd/unbound-collectd.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+# simple script to monitor unbound
+# All metrics are gauges
+
+HOSTNAME="${COLLECTD_HOSTNAME:-eric}"
+INTERVAL="${COLLECTD_INTERVAL:-10}"
+
+while sleep "$INTERVAL"; do
+ /usr/sbin/unbound-control stats | while read line;do
+ INSTANCE=`echo $line | cut -d= -f1 | cut -d. -f1`
+ STAT=`echo $line | cut -d= -f1 | cut -d. -f2- \
+ | sed 's/\./-/g' | sed 's/recursion-time-/recursion-time_/g' \
+ | sed 's/now/time-now/g' | sed 's/up/time-up/g' \
+ | sed 's/elapsed/time-elapsed/g' `
+ VALUE=`echo $line | cut -d= -f2`
+
+ echo "PUTVAL \"$HOSTNAME/unbound-${INSTANCE}/$STAT\" interval=$INTERVAL N:$VALUE"
+ done
+done
diff --git a/monitoring/collectd/server/collectd.conf b/monitoring/collectd/server/collectd.conf
index 8157000..8e1f897 100644
--- a/monitoring/collectd/server/collectd.conf
+++ b/monitoring/collectd/server/collectd.conf
@@ -137,6 +137,106 @@ LoadPlugin ConnTrack
# context switches (how hard we are working)
LoadPlugin ContextSwitch
+# Switches perf mon via snmp
+LoadPlugin snmp
+
+ # data points
+ # collect traffic (all interfaces)
+
+ Type "if_octets"
+ Table true
+ Instance "IF-MIB::ifName"
+ Values "IF-MIB::ifHCInOctets" "IF-MIB::ifHCOutOctets"
+
+
+ # collect errors
+
+ Type "if_errors"
+ Table true
+ Instance "IF-MIB::ifName"
+ Values "IF-MIB::ifInErrors" "IF-MIB::ifOutErrors"
+
+
+ # now gather my minnion
+
+ Address "10.100.0.11"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.12"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.13"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.14"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.15"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.16"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.17"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+ Address "10.100.0.18"
+ Version 2
+ Community "0penfest"
+ Collect "std_traffic" "std_errors"
+ Interval 60
+
+
+
+# monitor unbound by exec
+LoadPlugin exec
+
+ Exec "unbound" "/usr/local/bin/unbound-collectd.sh"
+
+
+# See collectd.conf(5)
+LoadPlugin unixsock
+
+ SocketFile "/tmp/collectd.sock"
+ SocketGroup "nagios"
+ SocketPerms "0770"
+
+
# and finaly save the data in graphite
LoadPlugin write_graphite
diff --git a/monitoring/graphite/graphite-conf/rewrite-rules.conf b/monitoring/graphite/graphite-conf/rewrite-rules.conf
index c3167ed..a24c0d5 100644
--- a/monitoring/graphite/graphite-conf/rewrite-rules.conf
+++ b/monitoring/graphite/graphite-conf/rewrite-rules.conf
@@ -24,3 +24,16 @@
# Rewrite temperature sensors to be less ugly
# temperature-Temp_1_system_internal_expansion_board_16_5_/value.wsp
temperature-Temp_([0-9]+)_([a-zA-Z0-9_]+)__(.*)\. = Temp-\1_\2.
+
+# nest under common root
+if_errors-(.*).(rx|tx)$ = \1.errors.\2
+if_octets-(.*).(rx|tx)$ = \1.octets.\2
+
+# expand cisco naming
+Vl([0-9]+) = Vlan\1
+
+# rename tplink ports
+port_([0-9]+):_Gigabit_(Fiber|Copper) = Gi\1
+
+# rename tplink vlans
+Vlan-interface([0-9]+) = Vlan\1
diff --git a/monitoring/graphite/graphite-conf/storage-schemas.conf b/monitoring/graphite/graphite-conf/storage-schemas.conf
index 47cf1a4..450176f 100644
--- a/monitoring/graphite/graphite-conf/storage-schemas.conf
+++ b/monitoring/graphite/graphite-conf/storage-schemas.conf
@@ -11,6 +11,11 @@
pattern = ^carbon\.
retentions = 10:30d
+# SNMP monitoring shit
+[switches_snmp]
+pattern = sw\.snmp\.
+retentions = 60s:30d
+
# final defaults
[default_10s_6months]
pattern = .*
diff --git a/monitoring/nagios3/README.md b/monitoring/nagios3/README.md
new file mode 100644
index 0000000..ef2b6e1
--- /dev/null
+++ b/monitoring/nagios3/README.md
@@ -0,0 +1,2 @@
+# nagios3 configs
+Some of the nagios3 configs
diff --git a/monitoring/nagios3/configs/custom-commands.cfg b/monitoring/nagios3/configs/custom-commands.cfg
new file mode 100644
index 0000000..0b7b2ee
--- /dev/null
+++ b/monitoring/nagios3/configs/custom-commands.cfg
@@ -0,0 +1,23 @@
+# check the snmp from the switches
+define command {
+ command_name check_snmp_cisco
+ command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -C 0penfest -P 2c -o $ARG1$ $ARG2$ $ARG3$
+}
+
+# minimalistic stream counter
+define command {
+ command_name check_stream_count
+ command_line /usr/local/bin/count-streams.sh $ARG1$ $ARG2$
+}
+
+# rtmp checker / Arcopix
+define command {
+ command_name check_rtmp
+ command_line /usr/lib/nagios/plugins/check_rtmp.sh -u $ARG1$ -t 5
+}
+
+# check collectd for issues
+define command {
+ command_name check_collectd
+ command_line /usr/bin/collectd-nagios -s /tmp/collectd.sock -H $HOSTALIAS$ -n $ARG1$ -w $ARG2$ -c $ARG3$
+}
diff --git a/monitoring/nagios3/configs/custom-services.cfg b/monitoring/nagios3/configs/custom-services.cfg
new file mode 100644
index 0000000..a9c5fc5
--- /dev/null
+++ b/monitoring/nagios3/configs/custom-services.cfg
@@ -0,0 +1,181 @@
+; Check uptime
+define service {
+ use generic-service
+ service_description Switch uptime
+ check_interval 5
+ check_command check_snmp_cisco!1.3.6.1.2.1.1.3.0
+ hostgroup cisco-switches,tplink-switches
+}
+
+; define SNMP TRAP BASE service
+define service {
+ name SNMP_TRAP
+ service_description SNMP_TRAP
+ 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
+ process_perf_data 0
+ obsess_over_service 0 ; 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
+ 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
+ check_command check-host-alive ; This will be used to reset the service to "OK"
+ is_volatile 1
+ check_period 24x7
+ max_check_attempts 1
+ normal_check_interval 1
+ retry_check_interval 1
+ notification_interval 120
+ notification_period 24x7
+ notification_options w,u,c,r
+ contact_groups ofnoc ; Modify this to match your Nagios contact group definitions
+ register
+}
+
+; TRAP itself
+define service {
+ use SNMP_TRAP
+ hostgroup_name cisco-switches,tplink-switches
+ service_description TRAP
+ check_interval 120
+ flap_detection_enabled 0
+}
+
+; Cisco Switches CPU Avg (5 min)
+define service {
+ use generic-service
+ hostgroup cisco-switches
+ service_description 5 Min CPU Average
+ check_interval 5
+ check_command check_snmp_cisco!.1.3.6.1.4.1.9.9.109.1.1.1.1.8.1!-l \"5 Minute CPU \% \" -w 50 -c 80
+}
+
+; 1 min
+define service {
+ use generic-service
+ hostgroup cisco-switches
+ service_description 1 Min CPU Average
+ check_interval 1
+ check_command check_snmp_cisco!.1.3.6.1.4.1.9.9.109.1.1.1.1.7.1!-l \"1 Minute CPU \% \" -w 50 -c 80
+}
+
+; Stream counter
+define service {
+ use generic-service
+ host_name eric
+ service_description Stream Count
+ check_command check_stream_count!5!3
+}
+
+; check individual streams
+; Bulgaria-HD
+define service {
+ use generic-service
+ host_name eric
+ service_description Bulgaria HD stream / ERIC
+ check_command check_rtmp!rtmp://127.0.0.1/st/bulgaria-hd
+ max_check_attempts 1
+}
+
+define service {
+ use generic-service
+ host_name eric
+ service_description Bulgaria HD stream / MARLA
+ check_command check_rtmp!rtmp://79.98.105.21/st/bulgaria-hd
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description Bulgaria HD stream / HAWK
+ check_command check_rtmp!rtmp://79.124.31.206/st/bulgaria-hd
+}
+
+; Bulgaria-normal
+define service {
+ use generic-service
+ host_name eric
+ service_description Bulgaria stream / ERIC
+ check_command check_rtmp!rtmp://127.0.0.1/st/bulgaria
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description Bulgaria stream / MARLA
+ check_command check_rtmp!rtmp://79.98.105.21/st/bulgaria
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description Bulgaria stream / HAWK
+ check_command check_rtmp!rtmp://79.124.31.206/st/bulgaria
+ max_check_attempts 1
+}
+
+; Chamber
+define service {
+ use generic-service
+ host_name eric
+ service_description CHAMBER stream / ERIC
+ check_command check_rtmp!rtmp://127.0.0.1/st/chamber
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description CHAMBER stream / MARLA
+ check_command check_rtmp!rtmp://79.98.105.21/st/chamber
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description CHAMBER stream / HAWK
+ check_command check_rtmp!rtmp://79.124.31.206/st/chamber
+ max_check_attempts 1
+}
+
+; zala muzika (third)
+define service {
+ use generic-service
+ host_name eric
+ service_description MUSIC stream / ERIC
+ check_command check_rtmp!rtmp://127.0.0.1/st/music
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description MUSIC stream / MARLA
+ check_command check_rtmp!rtmp://79.98.105.21/st/music
+ max_check_attempts 1
+}
+define service {
+ use generic-service
+ host_name eric
+ service_description MUSIC stream / HAWK
+ check_command check_rtmp!rtmp://79.124.31.206/st/music
+ max_check_attempts 1
+}
+
+; check ap load via collectd
+define service{
+ use generic-service
+ service_description Load
+ check_command check_collectd!load/load!0.5!0.7
+ hostgroup ap-group
+}
+
+; check telnet available on switches
+define service{
+ use generic-service
+ service_description Telnet
+ check_command check_telnet_4!
+ hostgroup core-switches
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-bulgaria-1-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-1-ac.cfg
new file mode 100644
index 0000000..9bde453
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-1-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-bulgaria-1-ac
+ use generic-host
+ alias ap-bulgaria-1-ac
+ address 10.100.0.200
+ hostgroups ap-group
+ parents nocsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-bulgaria-2-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-2-ac.cfg
new file mode 100644
index 0000000..512263b
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-2-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-bulgaria-2-ac
+ use generic-host
+ alias ap-bulgaria-2-ac
+ address 10.100.0.201
+ hostgroups ap-group
+ parents nocsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-bulgaria-3-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-3-ac.cfg
new file mode 100644
index 0000000..8166324
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-3-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-bulgaria-3-ac
+ use generic-host
+ alias ap-bulgaria-3-ac
+ address 10.100.0.202
+ hostgroups ap-group
+ parents nocsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-bulgaria-4-legacy.cfg b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-4-legacy.cfg
new file mode 100644
index 0000000..3591610
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-bulgaria-4-legacy.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-bulgaria-4-legacy
+ use generic-host
+ alias ap-bulgaria-4-legacy
+ address 10.100.0.203
+ hostgroups ap-group
+ parents nocsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-chamber-1-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-chamber-1-ac.cfg
new file mode 100644
index 0000000..7dff7f4
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-chamber-1-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-chamber-1-ac
+ use generic-host
+ alias ap-chamber-1-ac
+ address 10.100.0.204
+ hostgroups ap-group
+ parents camsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-chamber-2-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-chamber-2-ac.cfg
new file mode 100644
index 0000000..2ec702a
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-chamber-2-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-chamber-2-ac
+ use generic-host
+ alias ap-chamber-2-ac
+ address 10.100.0.205
+ hostgroups ap-group
+ parents camsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-lobby1-1-an.cfg b/monitoring/nagios3/configs/objects/ap/ap-lobby1-1-an.cfg
new file mode 100644
index 0000000..23ed5d4
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-lobby1-1-an.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-lobby1-1-an
+ use generic-host
+ alias ap-lobby1-1-an
+ address 10.100.0.208
+ hostgroups ap-group
+ parents wssw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-lobby1-3-an.cfg b/monitoring/nagios3/configs/objects/ap/ap-lobby1-3-an.cfg
new file mode 100644
index 0000000..e45c7d6
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-lobby1-3-an.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-lobby1-3-an
+ use generic-host
+ alias ap-lobby1-3-an
+ address 10.100.0.210
+ hostgroups ap-group
+ parents receptionsw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-lobby2-1-an.cfg b/monitoring/nagios3/configs/objects/ap/ap-lobby2-1-an.cfg
new file mode 100644
index 0000000..c3083a4
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-lobby2-1-an.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-lobby2-1-an
+ use generic-host
+ alias ap-lobby2-1-an
+ address 10.100.0.211
+ hostgroups ap-group
+ parents f2sw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-marble-1-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-marble-1-ac.cfg
new file mode 100644
index 0000000..9379b11
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-marble-1-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-marble-1-ac
+ use generic-host
+ alias ap-marble-1-ac
+ address 10.100.0.207
+ hostgroups ap-group
+ parents wssw
+}
diff --git a/monitoring/nagios3/configs/objects/ap/ap-music-1-ac.cfg b/monitoring/nagios3/configs/objects/ap/ap-music-1-ac.cfg
new file mode 100644
index 0000000..9de70e9
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/ap/ap-music-1-ac.cfg
@@ -0,0 +1,8 @@
+define host {
+ host_name ap-music-1-ac
+ use generic-host
+ alias ap-music-1-ac
+ address 10.100.0.206
+ hostgroups ap-group
+ parents mussw
+}
diff --git a/monitoring/nagios3/configs/objects/switch/01-core-coresw.cfg b/monitoring/nagios3/configs/objects/switch/01-core-coresw.cfg
new file mode 100644
index 0000000..58ce09b
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/01-core-coresw.cfg
@@ -0,0 +1,212 @@
+define host {
+ host_name coresw
+ use generic-host
+ alias CoreSW
+ address 10.100.0.11
+ hostgroups cisco-switches
+ parents eric
+}
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.100!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/01 - nocsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10101!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/02 - teamsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10102!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/03 - wssw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10103!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/04 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10104!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/05 - eagle
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10105!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/06 - eric/video
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10106!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/07 - eric/main
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10107!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/08 - external netx
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10108!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/09 - encoder
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10109!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10110!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/11
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10111!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/12
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10112!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/13
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10113!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/14
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10114!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/15
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10115!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/16
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10116!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/17
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10117!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/18
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10118!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/19
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10119!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/20
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10120!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/21
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10121!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/22
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10122!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/23
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10123!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/24
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10124!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/25
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10125!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/26
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10126!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/27
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10127!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts coresw
+ service_description Gi1/0/28
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10128!-r 2!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/02-core-nocsw.cfg b/monitoring/nagios3/configs/objects/switch/02-core-nocsw.cfg
new file mode 100644
index 0000000..b5d7389
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/02-core-nocsw.cfg
@@ -0,0 +1,374 @@
+define host {
+ host_name nocsw
+ use generic-host
+ alias NOCSW
+ address 10.100.0.12
+ hostgroups cisco-switches
+ parents eric
+}
+define service {
+ use generic-service
+ hosts nocsw
+ service_description FastEthernet1
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/01 - coresw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/02 - f2sw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/03 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/04 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/05 - AP1
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/06 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/07 - video/bulgaria/usersw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Gi1/08
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus
+ }
+
+; This is the noc, we don't care what happens above port 8
+; By Stefan Lekov
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/09
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/10
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.11!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/11
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.12!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/12
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.13!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/13
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.14!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/14
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.15!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/15
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.16!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/16
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.17!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/17
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.18!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/18
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.19!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/19
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.20!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/20
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.21!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/21
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.22!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/22
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.23!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/23
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.24!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/24
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.25!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/25
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.26!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/26
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.27!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/27
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.28!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/28
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.29!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/29
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.30!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/30
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.31!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/31
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.32!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/32
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.33!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/33
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.34!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/34
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.35!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/35
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.36!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/36
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.37!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/37
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.38!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/38
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.39!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/39
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.40!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/40
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.41!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/41
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.42!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/42
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.43!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/43
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.44!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/44
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.45!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/45
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.46!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/46
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.47!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/47
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.48!-r 2!-l ifOperStatus
+; }
+;
+;define service {
+; use generic-service
+; hosts nocsw
+; service_description Gi1/48
+; check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.49!-r 2!-l ifOperStatus
+; }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description TenGi1/49
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.50!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description TenGi1/50
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.51!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts nocsw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.65!-r 1!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/03-core-teamsw.cfg b/monitoring/nagios3/configs/objects/switch/03-core-teamsw.cfg
new file mode 100644
index 0000000..00ee21e
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/03-core-teamsw.cfg
@@ -0,0 +1,213 @@
+define host {
+ host_name teamsw
+ use generic-host
+ alias TeamSW
+ address 10.100.0.13
+ hostgroups cisco-switches
+ parents eric
+}
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.100!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/01 - coresw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10601!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/02 - f2sw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10602!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/03 - receptionsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10603!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/04 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10604!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/05 - AP3
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10605!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/06 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10606!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/07 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10607!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/08 - bulgaria/usersw / not in use
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10608!-r 2!-l ifOperStatus
+ notifications_enabled 0
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/09
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10609!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10610!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/11
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10611!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/12
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10612!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/13
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10613!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/14
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10614!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/15
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10615!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/16
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10616!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/17
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10617!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/18
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10618!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/19
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10619!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/20
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10620!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/21
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10621!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/22
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10622!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/23
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10623!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/24
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10624!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/25
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10625!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/26
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10626!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/27
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10627!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts teamsw
+ service_description Gi2/0/28
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10628!-r 2!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/04-core-wssw.cfg b/monitoring/nagios3/configs/objects/switch/04-core-wssw.cfg
new file mode 100644
index 0000000..3e127f9
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/04-core-wssw.cfg
@@ -0,0 +1,99 @@
+define host {
+ host_name wssw
+ use generic-host
+ alias WSSW
+ address 10.100.0.14
+ hostgroups cisco-switches
+ parents eric
+}
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/01 - coresw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/02 - DEAD
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/03 - mussw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/04 - camsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/05 - AP5
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/06 - AP8
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/07
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/08
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/09
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/11 - usersw/ws
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.11!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Gi0/12
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.12!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts wssw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.15!-r 1!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/05-core-receptionsw.cfg b/monitoring/nagios3/configs/objects/switch/05-core-receptionsw.cfg
new file mode 100644
index 0000000..59ffe66
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/05-core-receptionsw.cfg
@@ -0,0 +1,85 @@
+define host {
+ host_name receptionsw
+ use generic-host
+ alias ReceptionSW
+ address 10.100.0.15
+ hostgroups tplink-switches
+ parents eric
+}
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/01 - teamsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/02 - camsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/03 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/04 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/05 - AP06
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/06 - AP07/disabled
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/7
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/8 - kiosk ecard
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/9
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Gi1/0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts receptionsw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.52802!-r 1!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/06-core-camsw.cfg b/monitoring/nagios3/configs/objects/switch/06-core-camsw.cfg
new file mode 100644
index 0000000..9cdbf80
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/06-core-camsw.cfg
@@ -0,0 +1,88 @@
+define host {
+ host_name camsw
+ use generic-host
+ alias CamSW
+ address 10.100.0.16
+ hostgroups tplink-switches
+ parents eric
+}
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/01 - receptionsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/02 - wssw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/03 - ALTONA
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/04 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 2!-l ifOperStatus
+ register 0
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/05 - AP10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/06 - AP09
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/07 - video/chamber/usersw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/08 - presenter/chamber
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.8!-r " (1|2)$"!-l ifOperStatus
+ notifications_enabled 0
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/09
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Gi1/0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts camsw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.52802!-r 1!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/07-core-f2sw.cfg b/monitoring/nagios3/configs/objects/switch/07-core-f2sw.cfg
new file mode 100644
index 0000000..a5ce38d
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/07-core-f2sw.cfg
@@ -0,0 +1,212 @@
+define host {
+ host_name f2sw
+ use generic-host
+ alias F2SW
+ address 10.100.0.17
+ hostgroups cisco-switches
+ parents eric
+}
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.100!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/01 - nocsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10101!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/02 - mussw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10102!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/03 - teamsw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10103!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/04 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10104!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/05 - AP12
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10105!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/06 - AP13
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10106!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/07 - usersw/disabled
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10107!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/08 - what
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10108!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/09
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10109!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10110!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/11
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10111!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/12
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10112!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/13
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10113!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/14
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10114!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/15
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10115!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/16
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10116!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/17
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10117!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/18
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10118!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/19
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10119!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/20
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10120!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/21
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10121!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/22 - overflow
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10122!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/23 - overflow
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10123!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/24
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10124!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/25
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10125!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/26
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10126!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/27
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10127!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts f2sw
+ service_description Gi1/0/28
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10128!-r 2!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/configs/objects/switch/08-core-mussw.cfg b/monitoring/nagios3/configs/objects/switch/08-core-mussw.cfg
new file mode 100644
index 0000000..015f718
--- /dev/null
+++ b/monitoring/nagios3/configs/objects/switch/08-core-mussw.cfg
@@ -0,0 +1,86 @@
+define host {
+ host_name mussw
+ use generic-host
+ alias MusSW
+ address 10.100.0.18
+ hostgroups tplink-switches
+ parents eric
+}
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/01 - wssw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.1!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/02 - f2sw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.2!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/03 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.3!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/04 - ALTONA
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.4!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/05 - AP11
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.5!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/06 - UNUSED
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.6!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/07 - video/mus/usersw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.7!-r 1!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/08 - presenter/usersw
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r " (1|2)$"!-l ifOperStatus
+ notifications_enabled 0
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/09
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.9!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Gi1/0/10
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.10!-r 2!-l ifOperStatus
+ }
+
+define service {
+ use generic-service
+ hosts mussw
+ service_description Vlan100
+ check_command check_snmp_cisco!.1.3.6.1.2.1.2.2.1.8.52802!-r 1!-l ifOperStatus
+ }
+
diff --git a/monitoring/nagios3/scripts/check_rtmp.sh b/monitoring/nagios3/scripts/check_rtmp.sh
new file mode 100755
index 0000000..480f75b
--- /dev/null
+++ b/monitoring/nagios3/scripts/check_rtmp.sh
@@ -0,0 +1,96 @@
+#!/bin/sh
+# FILE: "check_rtmp"
+# DESCRIPTION:nagios plugin for checking rtmp streams.
+# REQUIRES: rtmpdump (http://rtmpdump.mplayerhq.hu/)
+# AUTHOR: Toni Comerma
+# DATE: jan-2013
+# $Id:$
+#
+
+PROGNAME=`readlink -f $0`
+PROGPATH=`echo $PROGNAME | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
+REVISION=`echo '$Revision: .2 $' | sed -e 's/[^0-9.]//g'`
+
+RTMPDUMP=`which rtmpdump`
+
+print_usage() {
+ echo "Usage:"
+ echo " $PROGNAME -u -t "
+ echo " $PROGNAME -h "
+
+
+}
+
+print_help() {
+ print_revision $PROGNAME $REVISION
+ echo ""
+ print_usage
+
+ echo "Comprova l'estat d'un stream RTMP"
+ echo ""
+ echo "Opcions:"
+ echo " -u URL a testejar Exemple: rtmp://server/app/streamName"
+ echo " -t Temps a monitoritzar"
+ echo ""
+ exit $STATE_UNKNOWN
+}
+
+
+
+STATE_OK=0
+STATE_WARNING=1
+STATE_CRITICAL=2
+STATE_UNKNOWN=3
+
+URL=""
+TIMEOUT=2
+
+# Proces de parametres
+while getopts ":u:t:h" Option
+do
+ case $Option in
+ u ) URL=$OPTARG;;
+ t ) TIMEOUT=$OPTARG;;
+ h ) print_help;;
+ * ) echo "unimplemented option";;
+
+ esac
+done
+
+if [ ! $URL ] ; then
+ echo " Error - No URL was specified."
+ echo ""
+ print_help
+ echo ""
+fi
+
+# Construir noms de fitxers temporals
+NAME=`echo $URL | sed -e s/[^A-Za-z0-9.]/_/g`
+ERR=/tmp/check_rtmp_err_$NAME.tmp
+
+# Testejant
+( $RTMPDUMP -m 4 --live -r $URL --stop $TIMEOUT > /dev/null 2> $ERR ) & sleep 5; kill $! 2> /dev/null
+status=$?
+
+
+# Retorn de resultats
+CONNECTA=`grep "INFO: Connected" $ERR`
+
+if [ -z "$CONNECTA" ]
+then
+ echo "CRITICAL - Cannot connect to the stream: $URL"
+ exit $STATE_CRITICAL
+else
+ ERROR=`grep "INFO: Metadata:" $ERR`
+ if [ ! -z "$ERROR" ]
+ then
+ echo "OK - stream is normal: $URL"
+ exit $STATE_OK
+ fi
+ echo "CRITICAL - Stream is not broadcasting: $URL"
+ exit $STATE_CRITICAL
+fi
+
+echo "UNKNOWN - Unknown output from stream check. Manual check is advised"
+exit $STATE_UNKNOWN
+
diff --git a/monitoring/nagios3/scripts/count-streams.sh b/monitoring/nagios3/scripts/count-streams.sh
new file mode 100755
index 0000000..3ca4cce
--- /dev/null
+++ b/monitoring/nagios3/scripts/count-streams.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# count streams in rtmp
+
+# get stream count
+stream_count=`curl -sfq -m1 http://stream.openfest.org/stats | xsltproc /usr/local/bin/count-streams.xsl -`
+
+_warn=${1:-3}
+_crit=${2:-6}
+
+
+_res='3'
+_data='UNKNOWN - something shitty happened'
+
+if [ $stream_count -ge $_crit ] ; then
+ _data="OK - stream count $stream_count"
+ _res=0
+fi
+
+if [ $stream_count -ge $_crit -a $stream_count -le $_warn ] ; then
+ _data="WARN - stream count $stream_count, less than expected. Min $_crit, needed $_warn"
+ _res=1
+fi
+
+if [ $stream_count -lt $_crit ] ; then
+ _data="CRITICAL - Streams lower than $_crit"
+ _res=2
+fi
+
+echo $_data
+exit $_res
diff --git a/monitoring/nagios3/scripts/count-streams.xsl b/monitoring/nagios3/scripts/count-streams.xsl
new file mode 100644
index 0000000..bdfeb80
--- /dev/null
+++ b/monitoring/nagios3/scripts/count-streams.xsl
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/monitoring/snmp/README.md b/monitoring/snmp/README.md
new file mode 100644
index 0000000..640a114
--- /dev/null
+++ b/monitoring/snmp/README.md
@@ -0,0 +1,6 @@
+# Monitor snmp traps in nagios
+How to monitor snmp traps in nagios
+
+http://paulgporter.net/2013/09/16/nagios-snmp-traps/
+
+convert only mibs you need/want
diff --git a/monitoring/snmp/snmptrapd.conf b/monitoring/snmp/snmptrapd.conf
new file mode 100644
index 0000000..fe19fab
--- /dev/null
+++ b/monitoring/snmp/snmptrapd.conf
@@ -0,0 +1,8 @@
+# no auth at all (maybe not working)
+disableAuthorization yes
+
+# add our community with full rights
+authCommunity log,execute,net 0penfest
+
+# handle everything
+traphandle default /usr/sbin/snmptthandler
diff --git a/monitoring/snmp/snmptt.conf.cisco b/monitoring/snmp/snmptt.conf.cisco
new file mode 100644
index 0000000..7503be4
--- /dev/null
+++ b/monitoring/snmp/snmptt.conf.cisco
@@ -0,0 +1,20 @@
+# this is just a sample converted mib. follow the procedure in README.md
+EVENT ccmCLIRunningConfigChanged .1.3.6.1.4.1.9.9.43.2.0.2 "Status Events" Normal
+FORMAT This notification indicates that the running $*
+EXEC /usr/share/nagios3/plugins/eventhandlers/submit_check_result $r TRAP 2 "This notification indicates that the running $*"
+SDESC
+This notification indicates that the running
+configuration of the managed system has changed
+from the CLI.
+If the managed system supports a separate
+configuration mode(where the configuration commands
+are entered under a configuration session which
+affects the running configuration of the system),
+then this notification is sent when the configuration
+mode is exited.
+During this configuration session there can be
+one or more running configuration changes.
+Variables:
+ 1: ccmHistoryRunningLastChanged
+ 2: ccmHistoryEventTerminalType
+EDESC
diff --git a/monitoring/snmp/snmptt.ini b/monitoring/snmp/snmptt.ini
new file mode 100644
index 0000000..13d811a
--- /dev/null
+++ b/monitoring/snmp/snmptt.ini
@@ -0,0 +1,95 @@
+[General]
+snmptt_system_name =
+
+# way to run it (daemon to read spooled traps from snmptthandler)
+mode = daemon
+multiple_event = 1
+dns_enable = 0
+strip_domain = 1
+
+# nuke this domain substring
+strip_domain_list = <