====== 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