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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

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 :D
  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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in HAProxy. Tags: . Keine Kommentare »

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 :D

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in diverse. Tags: , , . Keine Kommentare »

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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Monitoring. Tags: . 2 Kommentare »

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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

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.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

OpenNMS neue Configfiles (.xml.rpmnew) einspielen

Wenn man wie ich OpenNMS immer die neueste OpeNMS Version benutzt, dann muss man damit leben, dass ständig neue Configfiles von OpenNMS kommen. Ich lass OpenNMS auf CentOS laufen. Damit kommen die neuen Files als .xml.rpmnew an. Nachdem ich nun auch viel an den Configfiles an meine Bedürfnisse anpasse ist das Update immer ein Merge der beiden Files. Ich habe dafür eine ganz einfache Methode, die ich mir hier mal aufschreiben, dann muss ich nicht immer den Befehl suchen :) :

  1. Configfiles standardisieren
    Nachdem beide XML Files immer komplett verschieden formatiert sind, standardisiere ich sie erstmal. Hier ein Beispiel:

    /opt/opennms/bin/xml.reader.pl -w jmx-datacollection-config.xml.rpmnew
    /opt/opennms/bin/xml.reader.pl -w jmx-datacollection-config.xml
  2. Diff/Merge
    Danach erstelle ich mir einen Merge

    sdiff -o jmx-datacollection-config.xml.new jmx-datacollection-config.xml.rpmnew jmx-datacollection-config.xml
  3. Config austauschen
    Anschließend sichere ich mir jmx-datacollection-config.xml.rpmnew und jmx-datacollection-config.xml und benenne jmx-datacollection-config.xml.new in jmx-datacollection-config.xml um. Fertig
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

Mal wieder Apache Paranoia

Um nichts nach außen dringen zu lassen sollte man die folgende Direktiven in seine Apache Konfig einbauen:

TraceEnable Off
FileETag None

TraceEnable kann man auf einem Livesystem ausschalten, denn dort führt man sowieso kein Debuggen oder ähnliches aus. FileETag abschalten führt zwar zu etwas mehr Last, aber bevor man sich mit dem Aufwand dafür herum schlägt oder mehr Server hinter einem Loadbalancer im Einsatz hat, lohnt es sich die Direktive zu deaktivieren. Das sagt sogar Yahoo.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Apache. Tags: . Keine Kommentare »
show
 
close