Wir hatten ja schon ein wenig herumprobiert mit verschiedenen Checks,
die Lösung brachte ein Script aus dem allfälligen askubuntu von dfsmith
#!/usr/bin/python
# source: http://askubuntu.com/revisions/fb67e8e2-efd4-4d0e-bb2f-416855fd8369/view-source
# by http://askubuntu.com/users/499043/dfsmith
import datetime, bisect
def parse_timestamp(raw_str):
tokens = raw_str.split()
if len(tokens) == 1:
if tokens[0].lower() == 'never':
return 'never';
else:
raise Exception('Parse error in timestamp')
elif len(tokens) == 3:
return datetime.datetime.strptime(' '.join(tokens[1:]),
'%Y/%m/%d %H:%M:%S')
else:
This file has been truncated. show original
Plus ein täglicher Neustart des isc-dhcp-servers, der das leasefile purged. (Warum auch immer der isc-dhcpd das nicht im laufenden Betrieb tun möchte)
http://eulenfunk.readthedocs.io/en/latest/supernode03.html#optional-dhcp-server-einmal-taglich-neu-starten
Vielleicht mag ja noch jemand aus der dhcpd.conf sinnvolle Alert-Werte automatisch berechnen lassen aus der Menge der in der Range verfügbaren Leases.
3 Likes
So, nun werden die noch freien Leases berechnet.
Warnwerte:
75% verbraucht
<50 (absolut) frei
Alarmwert:
90% verbraucht
<25 (absolut) frei
Zudem kommt das Ding jetzt mit geringfügig(!) komplexeren Configiles (fastd, dhcpd) zurecht.
(d.h. mehrere Tabs/Leerzeichen zwischen Parametern, Kommentarzeilen)
Einschränkung: Es wird nur die erste DHCP-Range ausgewertet.
#!/bin/bash
#/usr/lib/check_mk_agent/local
export LANG=de_DE.UTF-8
function confline # get first line from file $1 mathing $2, stripped of # and ; comment lines, stripped spaces and tabs down to spaces, remove trailing ;
{
echo $(cat $1|grep -v '^$\|^\s*\#'|sed -e "s/[[:space:]]\+/ /g"|sed s/^\ //|sed s/\;//|grep -i "$2"|head -n 1)
}
function ati # ipv4 to longint
{
ip4=$1; ipno=0
for (( i=0 ; i<4 ; ++i )); do
((ipno+=${ip4%%.*}*$((254**$((3-${i})))))) # .0 .255 should not be counted
ip4=${ip4#*.}
done
echo $ipno
}
## static data
This file has been truncated. show original
Lass mich raten, Ubuntu 14.04 (Trusty)?
Das ist wohl folgender Bug, da wurden ein paar AppArmor-Permissions zu restriktiv gesetzt: https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1186662
Fixed in 16.04 LTS Xenial. Gibt aber wohl Probleme beim dist-upgrade, am besten mal auf die Workarounds im Bugreport schauen.
Automatischer täglicher Restart des isc-dhcp möchte ich auf einem Produktiv-Rechner lieber tun als andere Hacks.
(die dhcp-lease-Problematik ist nun seit längerem bekannt und wir sind bisher auch nciht dran gestorben. Und das Ding arbeitet auch so noch x-fast stabiler und performanter bei konkurrierenden Requests als jeder dnsmask)