Fachbeitrag

PHP Website monitoring

Anleitung zur Erstellung eines Webseiten Monitoring

Der Beitrag ordnet das Thema technisch ein und führt weiter zu den Leistungen und Technologien, die im Projektkontext dazu passen.

Embedded Software & Software Engineering
Fachartikel
Verknüpfte Technologien und Services
Problemkontext
Technische Vertiefung
Nächster Schritt
Inhalt

Technische Einordnung

Erstellung Webseite Monitoring

Die Beispiele beinhalten drei Scripts:
- Response Header
- Response Time
- Search String

Mögliche Funktionen für eine Webseiten Überwachung:

Im Vorfeldorfeld wird definiert welche Dateiübertragungsprotokolle http oder https vom Ziel verwendet wird.


//define

$hostname = 'eltronix.ch';
$url = '/kontakt';
$sslActive = 1;
$stringToFindActive = 1;
$stringToFind = 'DEVELOPMENT';


Die Funktion get_response_header ermöglicht das Auslesen von Fehlermeldungen wie 404, 503 etc., welche durch den Response Header geliefert werden.


function get_response_header($host, $ssl_active) {

    if ($ssl_active == '1'){

        $host= 'https://'.$host;
    }
    else {
        $host= 'http://'.$host;
    }
    file_get_contents($host);
  $output = strstr($http_response_header[0], ' ');

  $output = substr($output, 1, 3);
  return $output;
}


Die Funktion getResponseTime liefert die Zeit für einen erfolgreichen Verbindungsaufbau. Das Ergebnis wird von Mikrosekunden auf Millisekunden geändert und auf 2 Ziffern nach dem Komma gerundet.


function getResponseTime($domain, $ssl_active){

    if ($ssl_active == '1'){
       $port = '443';
    }
    else {
        $port = '80';
    }

    $starttime = microtime(true);
    $file      = @fsockopen($domain, $port, $errno, $errstr, 10);
    $stoptime  = microtime(true);
    $status    = 0;
    
    if (!$file){
        $status = 'site Down';  // Site is down
    }else{
        $status = ($stoptime - $starttime) * 1000;
        $status = round($status, 2);
    }

    fclose($file);
    return $status;
}


Mit der Funktion check_for_search_String wird die Seite abgerufen und noch einem vordefinierten String durchsucht.


 function check_for_search_String($host, $find, $useSSL) {
    if ($useSSL== '1'){
        $host= 'https://'.$host;
    }
    else {
        $host= 'http://'.$host;
    }
    
    $html = file_get_contents($host);
    
    if(strpos($html, $find))
                {
                    return "1";
                }else{
                    return '0';
                }
    
}

Die Scripts können anschliessend auf einem Webserver via Cron-Job ausgeführt werden. Die Resultate können in einer Datenbank zur besseren Auswertung archiviert und bildlich dargestellt werden.
Mit der Einbindung von E-Mail Alarmierungen hat man nun eine basic Webmonitoring.



Mögliche Implementierungen:

Monitoring

Detailansicht

Monitoring

Problemklasse

Wo dieser Beitrag hinführt

Der Beitrag ist am wertvollsten, wenn ein konkretes technisches Problem bereits sichtbar ist und ein Projekt nicht bei der allgemeinen Recherche stehenbleiben soll.

Passende Services

Welche Leistungen zu diesem Beitrag passen

Der Beitrag führt direkt zu den Leistungen, in denen das Thema typischerweise praktisch relevant wird.

Technologien

Vertiefende Fachthemen

Vertiefende Technologiethemen helfen dort weiter, wo das Problem technisch genauer eingegrenzt werden muss.

PHP
Weitere Fachbeiträge

Weitere Artikel im selben technischen Feld

Nur die thematisch nächsten Beiträge bleiben sichtbar verknüpft. Generische Support- oder Randthemen werden nicht künstlich gleichgewichtet.

Blog

Website chatbot mit digitalflow AI erstellen

Website chatbot mit digitalflow AI erstellen

Blog

Anleitung: Gstreamer via UDP

Diese Anleitung demonstriert die möglichst latenzfreie Übertragung eines Video-Testsignals via UDP.Die Host-IP muss auf die IP des Senders geändert w…

Blog

tel.search.ch api php example

tel.search.ch api php example

Rückverweise

Vom Fachbeitrag zur passenden Kernleistung

Von hier aus geht es direkt zu den Leistungsfeldern für Embedded, Linux, Integration, Rescue und Backend.

Nächster Schritt

Wenn der Beitrag ein aktuelles Projektproblem trifft, ist eine kurze technische Anfrage sinnvoller als weitere allgemeine Recherche.

Hilfreich sind Ausgangslage, betroffene Systemebene und was derzeit instabil, unklar oder nicht serienreif ist.