====== Zabbix Monitoring ====== Mit Zabbix werden die Gateways überwacht. Spezielle Freifunk-Meßwerte sind: * Status des Exit-VPNs * Anzahl der aktuell aufgebauten VPN-Tunnel * Anzahl der vergebenen DHCP Leases Damit der Server auf den Agenten zugreifen kann, muß die zugehörige Konfiguration wie folgt eingestellt werden [...] server=10.137.0.12 Hostname= UserParameter=exitvpn.state,sudo /usr/local/share/zabbix/exitvpn.state UserParameter=dhcpd.leases, /usr/local/share/zabbix/dhcpd.leases # ServerActive=127.0.0.1 zabbix ALL=NOPASSWD: /usr/local/share/zabbix/exitvpn.state Insbesondere wird der Zustand des ExitVPNs überwacht. #!/bin/bash # # Check if ExitVPN is working # 1 - OK # 0 - Failed # VPNCONF=$(grep -e "^AUTOSTART=" /etc/default/openvpn) INTERFACE=$(sed -e 's/^"//' -e 's/"$//' <<< ${VPNCONF#*=}) NATIF=$(iptables -t nat -vnL | grep MASQUERADE | awk '{$1=$1};1' | cut -d' ' -f 7) TESTIP=81.7.16.37 # gate01 if [ ! `pgrep openvpn` ]; then echo 0 exit 0 fi if [ ! -d "/sys/class/net/$INTERFACE" ]; then echo 0 exit 0 fi if ! test "$NATIF" == "$INTERFACE" ; then echo 0 exit 0 fi ping -q -I $INTERFACE $TESTIP -c 3 -i 1 -W 5 >/dev/null 2>&1 if ! test $? -eq 0; then echo 0 exit 0 fi echo 1 exit 0 ===== Serverkonfiguration ===== Es wird das Paket der Distribution verwendet: ''zabbix-server-mysql''. mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'SECRETPASSWORD'; zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \ | mysql -uzabbix -pSECRETPASSWORD zabbix