RS Pingdom Analysis: Einbindung Pingdom-Webseiten Monitoring

einige von Euch nutzen den Pingdom-Service, um eigene Webseiten von außen auf Verfügbarkeit zu überwachen. Ich hab dazu ein kleines Analyse-Projekt online gestellt, welches dank des Project Exporters sehr schnell und einfach in IPS integrierbar ist.

was ist Pingdom?
Pingdom bietet die Überwachung eines lokalen, eigenen Services von Außen von aktuell ca. 60 Serverstandorten in Nord Amerika, Eropa und Asien an.
Eine Überwachung von Außen hat den Vorteil, dass diese objektiv ist, d.h. die Wahrnehmung eines beliebigen, potenziellen Webseitenbesuchers darstellt. Eine Überwachung der WAN-Connection aus dem eigenen LAN ist dagegen nicht so einfach und vor allem subjektiv.
Der zu überwachende Service kann z.B. eine Webseite sein. Dabei wird sowohl die verfügbakeit als auch die Antwortzeit überwacht und geloggt. Ist die Verfügbarkeit des zu überwachendes Services nicht gegeben, kann man sich eine Info-Mail zusenden lassen.
Ich überwache damit die eigene Webseite, aber auch die Überwachung des WFE oder andere Services können sinnvoll sein.

Und ganz nebenbei kann man damit die Quälität des eigenen Internet-Dienstleisters monitoren (in meinem Falle macht das richtig Sinn, Kabel Deutschland bekleckert sich hier nicht mir Ruhm).

Projekt-Homepage: http://www.raketenschnecke.net/2012/11/02/ips-rs-pingdom-analysis/

Projekt-Summary:

[ul]
[li]vollautomatische Installation und Betrieb im IPS-Zielsystem[/li][li]vollautomatisches Abholen aller Loggingdaten vom Pingdom-Server[/li][li]Aufbereitung/Verdichtung der Pingdom-Loggingdaten (Antwortzeiten & Verfügbarkeit) nach Tages- und Monats-Durchschnittswerten, getrennte Darstellung der Antwortzeiden nach Nord-Amerika, Europa und Gesamt (World)[/li][li]erzeugen von HighCharts-Langzeit Views für IPS-WFE und zur Einbindung in eigene Webseite[/li][li]gezielte Darstellung von Ausfällen im WFE[/li][li]keine Datenhaltung in der IPS-DB (ressourcenschonend)[/li][li]hohe Fehlertolerzanz bei Betriebsunterbechungen (Pingdom-Server nicht erreichbar): das Projekt holt Loggingdaten bis zu 24h rückwirkend ab (vollautomatisch)[/li][li]manuelles Einfügen von historischen Pingdom-Loggingdaten sehr einfach[/li][li]getrennte Aufbereitung der Antwortzeiten nach Europa und Nord-Amerika[/li][/ul]

Installation:
dank des Project Exporters in weniger als 60 Sekunden, Konfiguration ca 1-3 Minuten

Voraussetzungen:
aktiver Pingdom-Account und scharfgeschaltetes Logging einer Webseite

Geladen, installiert, parametrisiert…

…LÄUFT.

Great Job Andreas.

ich hab die Pingdom Analysis nochmal überarbeitet, diesmal sind auch Sparklines verbaut. Das ganze Konstrukt ist ein ins WFE eingebaute, interaktive Dashboard mit vielen Features:

[ul]
[li]Darstellung in 4 Verdichtungsstufen: Monatsdurchschnitt, Tagesdurchschnitt, Stundendurchschnitt, Einzel-Datensätze[/li][li]Aufteilung der Daten in Regionen Gesamt, Nord-Amerika, Europa, Deutschland[/li][li]Online-Hilfe via Hover-Element[/li][li]Darstellung Log-Datensätze nach Regionen via Hover-Tabellen[/li][li]Statuswechsel-Tabelle (rechts)[/li][/ul]

Installation/Update sehr easy via Project Exporter (bzw. das damit generierte Install-Script).

Ausser den High-Charts Files im IP-Symcon-Ordner und dem Install-Script werden keine weiteren Files benötigt, es wird alles per One-Klick via Install-Script installiert.

Download wieder via Projekt-HomePage

Hier noch was Buntes zur Pingdom-Analysis:


RS Pingdom Analysis WFE Sparkline Tooltip.png

Habe es auch gerade installiert.

Nun hänge ich bei der Account-ID, wo finde ich die denn ?

Upps, jetzt habe ich sie gefunden, hat sich also erledigt.

Hi Horst,
sonst läuft alles? Pingdom-API Key hat geklappt? Wenn du noch Fragen hast, meld dich :wink:

Hallo Rakentenschnecke,

soweit ich es bisher beurteilen kann, läuft fast alles.

Ich bekomme folgende Fehlermeldungen:

„Undifined variable HourCntDE, Undifined variable HourCntNA, Undifined variable HourCntEU und Undifined variable HourCnt“

Bin aber zur Zeit @work und sehe es nur im WF.

das siehst du im Webfront? sollte eigentlch nicht… wie auch immer: Diese Fehlermeldungen sollten verschwinden, wenn die ersten Daten lokal vorliegen (ich hab noch nicht alle Fehlermeldungen, die bei einer Erstinstallation auftreten, abgefangen). Ist aber erstmal kein Problem.

Ja, im IPS Logger.

Daten sollten doch schon Lokal vorliegen, läuft seit heute morgen ca, 05:00 Uhr, 5min. Abfrage.

ja, im Logger ist ok.
Das Script läuft „nur“ einmal alle 60 Minuten ab letztem (man.) Scriptstart. Also spätestens nach dem 3. Durchlauf sollten da keine Fehler mehr auftreten.

OK, werde es beobachten.

Hallo Raketenschnecke,

Fehlermeldung kommt immer noch. Ist jetzt schon der 5te Durchlauf des Scripts gewesen.

hm, das ist sehr merkwürdig. Da stimmt was nicht, ich kann mir aber keinen Reim drauf machen. Bist Du sicher, dass Du Version 2.0 hast?

kannst du mal schauen, ob dieser Code im Script „RAWData auf Basidaten verdichten“ vorhanden ist (etwa ab Zeile 89):

if($lastIndex != $Index24) $hour_CntDE = 0;
if((strpos($buffer[4], 'Germany') >0))
{
 if($lastIndex == $Index24) {$hour_CntDE++;}else{$hour_CntDE = 1;}

sind diese Dateien und Ordner bei dir vorhanden?

kannst du mal einen Screenshot der fehlermeldung einstellen?
HC- und Sparklines sind alle da und mit daten gefüllt?

Ja ist beides vorhanden.

Jetzt bekomme ich:

undefined Index Count on Line 347

Das ist diese Zeile:
$s .= $Array[$i][‚Value‘].’;’.$Array[$i][‚TimeStamp‘].’;’.$Array[$i][‚humanDate‘].’;’.$Array[$i][‚Region‘].’;’.$Array[$i][‚Count‘]."
";

Wo sehe ich übrigens welche Version ich habe ? Ich habe diese version von Deiner Webseite geladen.

noch mysteriöser, kannst du mal das Logfile einstellen?

hast du noch Feedback dazu für mich:

kannst du mal einen Screenshot der fehlermeldung einstellen?
HC- und Sparklines sind alle da und mit daten gefüllt?

die version findest du als Timestamp im Installer-Script:

Im Moment würde ich fast sagen: lösch mal das Verzeichnis „external RawData“ und aktiviere das Projekt erneut, in dem Du das Script Pingdom Config-Data man. startest

Ach, bevor ich es vergesse: stehen diese Fehlermeldungen auch im IPS-Log (Meldungsfenster der Konsole)?

Habe die gleiche version wie im Screenshot

Werde ich jetzt versuchen.

Ja

08.11.2012 16:38:17.097 | 0 | CUSTOM | PHP | Error: Notice: Undefined variable: hour_Cnt
Error in Script C:\IP-Symcon_2_0\scripts\42522.ips.php on Line 61
133 in IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
45 in IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
61 in 42522.ips.php (call IPSLogger_PhpErrorHandler)

Logs.rar (126 KB)

sorry, hatte vergesen zu erwähnen: nicht das Logfile von IPS, ich brauch des Logfile von Pingdom. Im Screenshot in Post 12 ist es das vorletzte File.

zur fehlermeldung:

füge mal bitte:

if($lastIndex != $Index24) $hour_Cnt     = 0;

nach dieser zeile (etwa Zeile 60):

if(!isset($lastIndex))                 $lastIndex = $Index24; 

ein

Hier das LOG File.

Das „if($lastIndex != $Index24) $hour_Cnt = 0;“

habe ich, hoffentlich an der richtigen Stelle, eingefügt.

pingdom_rs.net_2012.rar (1.17 KB)

Hi Horst, das Logfile war der entscheidende Punkt, der Groschen ist gefallen. Du hast heftige Downtimes, das hab ich so im Script nicht ausreichend berücksichtigt. Das wird ein Update geben müssen :wink:

Ja die downtimes hatte ich, weil ich heute beim BIOS Update meinen Server platt gemacht habe.:mad:
Gott sei dank hätte ich noch ein Ersatz Board. :slight_smile:

GeTapatalk(t) mit meinem Galaxy Tab 10.1N