Seite wählen

NETWAYS Blog

Weekly Snap: NETRP, Puppet Starter Pack & Environment Monitoring

weekly snap17 – 21 June was packed with Wireshark, git and environment monitoring tips, a new Puppet support deal and software release to boot.
Matthias released NETRP our first Netways Resource Planner, which began as an internal project and is now free for all under GPLv3.
Following on, Christian announced our newest support ‘starter packs’ for the Puppet configuration management system, including onsite implementation and staff training.
At 127 days, Eva continued her countdown to the OSMC 2013 with Carsten John’s presentation on “Environmental Monitoring in Practice”.
On topic, Georg offered an HWg-STE solution to data centre environment monitoring while Gunnar analysed MySQL queries with Wireshark.
Lastly, Achim introduced git hooks as Julian shared a snippet on Microsoft’s disclosure of their software vulnerabilities to American secret services.

Letzte Ausfahrt PowersHell

Nachdem ich mich diese Woche mal wieder etwas mit einem meiner „Lieblingsthemen“ beschäftigt habe möchte ich euch die neuesten Erkenntnisse natürlich nicht vorenthalten.
Also . . . Was bringt dir dieser Blogpost?
– Zeitersparnis beim Austüfteln der richtigen Powershell Syntax. Das war’s. Mehr nicht.
Reicht aber auch. Ich hätte mich gefreut wenn ich das so irgendwo gelesen hätte.
Kurze Erklärung: Ich war dabei ein Plugin zu schreiben, dass WMI-Tabellen abfragt, diese Auswertet und ein Ergebnis MIT Performancedaten an Icinga übergibt. Dazu schreibe ich verschiedene Dinge in ein Array und gebe sie am Ende des Plugins aus. An und für sich nicht schwer. Aber wie macht man es mit Powershell?
1.) Deklariere das Array RICHTIG, sonst geht’s nicht:
$perf_list = new-object 'System.Collections.Generic.List[string]'
2.) Schreibe die Daten hinein. Als erstes eine pipe, die die Perfdaten einleitet.
if ($perf) {$perf_list.add(@("`|"))} -> Pipe Zeichen ausgeben ist nicht einfach . . .
3.) Als nächstes dann die Performancedaten selber. Es geht hier um 3 Festplatten, denen jeweil drei Werte zugeordnet sind. Freier Platz, Warn- und kritischer Schwellwert. Die Ausgabe sollte dann so aussehen:
icinga@monitor0815:/usr/lib/nagios/plugins# ./check_nrpe -H 192.168.67.21 -p 5666 -c check_stuff -a „scripts\testps.ps1 -diskwarn 40 -diskcrit 30 -perf“
OK: |’DiskFree_Y:’=3025MB;1227.2;920.4 ‚DiskFree_X:’=3006MB;1227.2;920.4 ‚DiskFree_Q:’=467MB;203.2;152.4

4.) Und wird folgendermaßen korrekt ins Array geschrieben.
if ($perf) {$perf_list.add(@("DiskFree_"+$i.path+"="+$i.FreeSpace+"MB`;"+($i.TotalSize*$diskWarn/100)+"`;"+($i.TotalSize*$diskCrit/100)+" "))}
5.) Und so am Ende ausgegeben.
foreach ($i in $perf_list) {
#write-host "l"
write-host -NoNewLine $i
}

Doch leider hat es ziemlich lange gedauert bis ich zu diesem Ergebnis gekommen bin und mich vermutlich 5 Jahre meines lebens und 153 graue Haare gekostet.
Also spielen wir mal eine kurze Runde Fehlersuche: Wo ist der Unterschied zu oben ?
So hat’s nicht geklappt
icinga@monitor0815:/usr/lib/nagios/plugins# ./check_nrpe -H 192.168.67.21 -p 5666 -c check_stuff -a „scripts\testps.ps1 -diskwarn 40 -diskcrit 30 -perf“
OK: |’DiskFree’=0 ‚Y:’=3025MB;1227.2;920.4 ‚DiskFree’=0 ‚X:’=3006MB;1227.2;920.4 ‚DiskFree’=0 ‚Q:’=467MB;203.2;152.4

if ($perf) {$perf_list.add(@("DiskFree "+$i.path+"="+$i.FreeSpace+"MB`;"+($i.TotalSize*$diskWarn/100)+"`;"+($i.TotalSize*$diskCrit/100)+" "))}
Und so auch nicht . . .
icinga@monitor0815:/usr/lib/nagios/plugins# ./check_nrpe -H 192.168.67.21 -p 5666 -c check_stuff -a „scripts\testps.ps1 -diskwarn 40 -diskcrit 30 -perf“
OK: |’DiskFree_Y:’=3025MB;1227.2;920.4;1227.2;920.4

if ($perf) {$perf_list.add(@("DiskFree_"+$i.path+"="+$i.FreeSpace+"MB`;"+($i.TotalSize*$diskWarn/100)+"`;"+($i.TotalSize*$diskCrit/100)))}
Und so erst recht nciht . . . .
icinga@monitor0815:/usr/lib/nagios/plugins# ./check_nrpe -H 192.168.67.21 -p 5666 -c check_stuff -a „scripts\testps.ps1 -diskwarn 40 -diskcrit 30 -perf“
OK: |’DiskFree’=0 ‚Y:’=3025MB;1227.2;920.4 ‚X:’=3006MB;1227.2;920.4 ‚Q:’=467MB;203.2;152.4

if ($perf) {$perf_list.add(@("DiskFree "+$i.path+"="+$i.FreeSpace+"MB`;"+($i.TotalSize*$diskWarn/100)+"`;"+($i.TotalSize*$diskCrit/100)))}
Es gab noch mehr verrückte Formatierungen, auf die ich gestoßen bin. Aber ich will euch nicht langweilen . . .
Letztendlich war ich positiv überrascht, das man mit etwas Aufwand doch recht angenehm unter Windows scripten kann.

Christoph Niemann
Christoph Niemann
Senior Consultant

Christoph hat bei uns im Bereich Managed Service begonnen und sich dort intensiv mit dem internen Monitoring auseinandergesetzt. Seit 2011 ist er nun im Consulting aktiv und unterstützt unsere Kunden vor Ort bei größeren Monitoring-Projekten und PERL-Developer-Hells.

Weekly Snap: InGraph, Bonding on Ubuntu, FreeNAS 8 & OSDC 2013 CfP

weekly snap19 – 23 November presented our new look blog with tips on InGraph, bonding under Ubuntu and running Microsoft Cluster 2008 virtually, as well as calling out to interested speakers for our OSDC 2013.
Jannis contributed part 4 of the ultimate guide to InGraph by introducing the check_ingraph plugin that enables recent performance to be compared with past.
Meanwhile, Martin showed how to implement NIC bonding on Ubuntu 12.04.1 and Christoph gave us an illustrated guide to setting up Microsoft 2008 Cluster in Virtual Box with FreeNAS 8.
Lastly, Eva explained why James Bond is a good reason to submit a presentation idea to our OSDC 2013 Call for Papers before year’s end.

The Internet On a Disk

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.

Wieder Updates für Office for Mac erschienen

Zu Microsoft Office for Mac sind heute wieder Updates erschienen: Office 2004 11.5 und Office 2008 12.1.1. Für das ältere Office 2004 wird vor allem Support für die XML Dateiformate (.docx, .pptx, .xlsx) nachgeliefert und die allgemeine Stabilität verbessert. Die Details stehen in diesem KnowledgeBase Artikel. Das Update für Office 2008 liefert vor allem Verbesserungen bezüglich Stabilität und Performance und weniger neue Features. Die genauen Verbesserungen stehen hier. Da Office 2008 bei mir noch recht häufig Probleme macht, hoffe ich, dass sich die Stbilität durch das Update merklich verbessert. Hier gehts zum Download der beiden Updates.

Julian Hein
Julian Hein
Executive Chairman

Julian ist Gründer und Eigentümer der NETWAYS Gruppe und kümmert sich um die strategische Ausrichtung des Unternehmens. Neben seinem technischen und betriebswirtschaftlichen Background ist Julian häufig auch kreativer Kopf und Namensgeber, beispielsweise auch für Icinga. Darüber hinaus ist er als CPO (Chief Plugin Officer) auch für die konzernweite Pluginstrategie verantwortlich und stösst regelmässig auf technische Herausforderungen, die sonst noch kein Mensch zuvor gesehen hat.