bareos

Applaus! Mit bareos gibt es mal einen Fork einer FOSS „Standard Software“, den ich wirklich begrüße. Der Windows Client funktioniert schon mal super! 🙂

VN:F [1.9.22_1171]
Rating: 9.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

SMS verschicken, wenn man offline ist …

Coole Idee. SMS Versand mit Jabber zu verbinden und nur SMS raus zu hauen, wenn man offline ist. Obwohl die Bauanleitung für Nagios und nicht SMS Server Tools ist, kann man sie doch super einfach umbauen.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

OpenNMS maps und Reports

Warum finde ich solche Infos immer erst per Zufall:

  1. OpenNMS Automatic Map Creation
    Wie cool ist das denn. Ruckzuck die Bereiche definiert und schon sind die Maps da. Endlich hat die Geschäftsleitung die Dokumentation, die sie schon lange wollte 😀
  2. OpenNMS Reporting CheatSheet
    Und damit lassen sich ruck zuck mit der integrierten JasperReporting Engine richtig coole Reports erstellen.

Mittlerweile kommt mir Nagios so amateurhaft vor. Alle Features, die OpenNMS mitbringt müssen manuell nachgerüstet werden…

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Varnish – neuer Lack

Nachdem ich varnish immer noch nicht versucht habe nehme ich mir das jetzt mal schriftlich vor. Ich glaub fest daran, dass so HTTP accelerator ordentlich was nutzt. Und eben der darauf spezialisierte Varnish Proxy erscheint mir viel besser zu sein als der gute alte Squid.

Das Problem, was ich mit Varnish noch habe ist, dass ich mir überlege wo ich das Teil im Netz aufhängen werden. Wahrscheinlich erst einmal nur auf meiner privaten Kiste vor dem Apache. Aber was tun bei komplexen Setups? Ich hab noch zuviele Frage über die ich mir im klaren werden muss:

  • Vor oder hinter einem HAProxy? Dahinter wäre es redundant; davor aber performant.
  • Was passiert falls ich persistente Sessions benötige mit diesen auf dem Weg zum App-Server?

Jemand schon Erfahrung damit?

Fangen wir erst einmal langsam im Heimgebrauch damit an …

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

HAProxy Notizen

Nachdem ich die Dinge immer er-google-n muss schreibe ich mir sie mal hier direkt auf:

  • Backened abhängig vom Hostnamen auswählen:
            acl aclHAPROXY hdr_dom(host) -i haproxy.it4sport.de
            use_backend HAPROXY if aclHAPROXY
  • Backend abhängig vom Verzeichnis auswählen:
            acl aclDEV  url_beg /devel/
            use_backend DEV if aclDEV

    Im entsprechenden Backend muss man sich dann um den Pfad kümmern und den Request anpassen:

            reqrep ^([^\ ]*)\ /devel/(.*)     \1\ /\2
  • Zusätzlichen Header einbauen:
            reqadd X-HAPROXY-BACKEND:\ devel

    Damit weiß die Anwendung etwa über welches Backend die Seite aufgerufen wurde.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Calibre

An alle die planen eines der folgenden Geräte zu kaufen oder es bereits besitzen: SONY PRS 300/500/505/600/700/900, Barnes & Noble Nook, Cybook Gen 3/Opus, Amazon Kindle 1/2/DX, Entourage Edge, Longshine ShineBook, Ectaco Jetbook, BeBook/BeBook Mini, Irex Illiad/DR1000, Foxit eSlick, PocketBook 360, Italica, eClicto, Iriver Story, Airis dBook, Hanvon N515, Binatone Readme, Teclast K3, SpringDesign Alex, diverse Android phones und das iPhone.

Calibre ist nicht nur ein super Ersatz für die teilweise fehlerhafte Orginalsoftware der Hersteller, sondern auch ein prima Weg tagesaktuell Webseiten von Tageszeitungen in eBook Form zu pressen und mitzunehmen. Ausserdem läuft es nicht nur unter Windows 😀

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

HostMonitor = Nagios unter Windows (nur besser)

Wer als Windows User sich schon immer für Nagios interessiert hat nur nicht ein Unix/Linux Programm einsetzen wollte, der sollte sich unbedingt mal den HostMonitor ansehen. Das Teil ist Nagios mehr als eben würdig. Der HostMonitor …

  • bringt von Haus aus einige Standard-Tests mit.
  • kann Skripts wie Nagios (auch per ssh) ausführen
  • kann über diverse Pfade alarmieren.
  • kann Unix/Linux Systeme problemlos überwachen.
  • kann verteilt installiert werden.
  • kann über ein Webinterface administriert weden.
  • kann verschiedenen Usern verschiedenen Rechte geben.
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Temperatur/Luftfeuchteüberwachung für 50€

Falls jemand eine günstige Lösung für die Überwachung von Luftfeuchte und Temperatur sucht, der sollte sich mal DLP-TH1b von FTDIChip ansehen. Das Teil wird per USB angeschlossen. Soll’s im Netzwerk hängen, dann würde ich einfach ein Alix-Board nehmen und x-Sensoren dran hängen. Günstiger geht’s nicht…

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

OpenNMS überwacht NTP

NTP zu überwachen ist relativ komplex. Dabei ist die Überwachung der Zeitdifferenz zu einer NTP Quelle relativ einfach. Was das ganze komplex macht ist NTP selbst. D.h. die beste NTP Überwachung nützt nichts, wenn man NTP nicht verstanden hat und NTP auf den jeweiligen Servern nicht richtig konfiguriert hat. Hier geht’s aber nur um die Basisüberwachung von NTP per OpenNMS.

Bei der NTP-Überwachung nehme ich ntpq. Dabei nutze ich, dass das Tool den aktuell besten peer mit einem Stern „*“ markiert. Das ganze packe ich in ein kleines Skript /usr/local/bin/ntp-time.sh :

#!/bin/sh
ntpq -pn localhost | /usr/bin/awk 'BEGIN { delay=1000; offset=1000; jitter=1000; stratum=16 } $1 ~ /\*/ { delay=$8; offset=$9; jitter=$10; stratum=$3 } END { print int(delay)"\n"int(offset)"\n"int(jitter)"\n"stratum }'

Dieses Skript wiederum integriere ich in den snmp daemon (snmpd.conf):

extend ntp-time /usr/local/bin/ntp-tim.sh 

Kurzer lokaler Test nach dem „/etc/init.d/snmpd reload“ ob es funktioniert:

snmpwalk -v2c -cpublic localhost -On .1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101.1 = STRING: 14
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101.2 = STRING: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101.3 = STRING: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101.4 = STRING: 2

Funktioniert das, dann kann es in OpenNMS eingebaut werden:
datacollection-config.xml

            <group name="NTP" ifType="ignore">
                <mibObj oid=".1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101" instance="1" alias="NTPdelay" type="integer" />
                <mibObj oid=".1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101" instance="2" alias="NTPoffset" type="integer" />
                <mibObj oid=".1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101" instance="3" alias="NTPjitter" type="integer" />
                <mibObj oid=".1.3.6.1.4.1.8072.1.3.2.4.1.2.8.110.116.112.45.116.105.109.101" instance="4" alias="NTPstratum" type="integer" />
            </group>

snmp-graph.properties

reports=ntp.overview, ntp.stratum \
 
report.ntp.overview.name=NTP Overview
report.ntp.overview.columns=NTPdelay, NTPoffset, NTPjitter
report.ntp.overview.type=nodeSnmp
report.ntp.overview.command=--title="NTP Overview" --units-exponent=0 \
 --vertical-label="miliseconds" \
 DEF:delay={rrd1}:NTPdelay:AVERAGE \
 DEF:mindelay={rrd1}:NTPdelay:MIN \
 DEF:maxdelay={rrd1}:NTPdelay:MAX \
 DEF:offset={rrd2}:NTPoffset:AVERAGE \
 DEF:minoffset={rrd2}:NTPoffset:MIN \
 DEF:maxoffset={rrd2}:NTPoffset:MAX \
 DEF:jitter={rrd3}:NTPjitter:AVERAGE \
 DEF:minjitter={rrd3}:NTPjitter:MIN \
 DEF:maxjitter={rrd3}:NTPjitter:MAX \
 LINE2:delay#0000ff:"Delay " \
 GPRINT:delay:AVERAGE:"Avg \\: %10.2lf" \
 GPRINT:delay:MIN:"Min \\: %10.2lf" \
 GPRINT:delay:MAX:"Max \\: %10.2lf\\n" \
 LINE2:offset#00ff00:"Offset" \
 GPRINT:offset:AVERAGE:"Avg \\: %10.2lf" \
 GPRINT:offset:MIN:"Min \\: %10.2lf" \
 GPRINT:offset:MAX:"Max \\: %10.2lf\\n" \
 LINE2:jitter#ff0000:"Jitter" \
 GPRINT:jitter:AVERAGE:"Avg \\: %10.2lf" \
 GPRINT:jitter:MIN:"Min \\: %10.2lf" \
 GPRINT:jitter:MAX:"Max \\: %10.2lf\\n" 
 
report.ntp.stratum.name=NTP Stratum
report.ntp.stratum.columns=NTPstratum
report.ntp.stratum.type=nodeSnmp
report.ntp.stratum.command=--title="NTP Stratum" --units-exponent=0 \
 --vertical-label="stratum" \
 DEF:stratum={rrd1}:NTPstratum:AVERAGE \
 DEF:minstratum={rrd1}:NTPstratum:MIN \
 DEF:maxstratum={rrd1}:NTPstratum:MAX \
 LINE2:stratum#0000ff:"Stratum" \
 GPRINT:stratum:AVERAGE:"Avg \\: %10.2lf" \
 GPRINT:stratum:MIN:"Min \\: %10.2lf" \
 GPRINT:stratum:MAX:"Max \\: %10.2lf\\n"

Fertig!

Ein paar Bemerkungen dazu:

  1. Ich bin mittlerweile ein Fan von SNMP. Ruckzuck ist der lokale snmp daemon erweitert und dank extend muss man sich nicht um OIDs sorgen. Die OID für „extend ntp-time“ bekommt man mit
    snmptranslate NET-SNMP-EXTEND-MIB::nsExtendOutLine."ntp-time"
  2. Thresholds und damit die Alarme muss man natürlich wie gewohnt in OpenNMS anlegen
  3. Mit dem Skript überwache ich nur auf Milisekunden genau. Das Reicht mir
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)