Likes Likes:  0
Resultaten 1 tot 14 van de 14
Geen
  1. #1
    denkwijze achter monitoring
    geregistreerd gebruiker
    5 Berichten
    Ingeschreven
    07/11/07

    Locatie
    Retie, BE

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter

    denkwijze achter monitoring

    Hallo iedereen,

    Ik ben momenteel een (php) scriptje aan het maken om mijn servertjes te monitoren. Momenteel heb ik een classe met volgende functies:
    response - Deze kijkt of de server op een bepaalde poort reageert door een socket te openen en te sluiten
    responseTime - deze meet hoelang het duurt om het socket te openen en te sluiten

    Dit alles werkt perfect, en ik gebruik het op de volgende manier:
    Code:
    <?php
    require_once('classes/core.class.php');
    require_once('classes/socketResponse.class.php');
    $response = new socketResponse;
    $response->hostname = '';
    $response->port = 22;
    $response->responseTime();
    if($response->response === true)
    	echo ('connected to '.$response->hostname.' on port '.$response->port.' in '.round($response->responsetime,2).' ms!');
    else
    	echo ('cannot connect to '.$response->hostname.' on port '.$response->port);
    Echter wil ik meerdere services -op meerdere servers- ELKE minuut monitoren, en dit liefst exact om de 60 seconden. Maw, als ik dit script meerdere malen achter elkaar aanspreek, zal de tijd tussen de metingen telkens afhangen van de vorige metingen (stel dat er een service down is zal deze het script al 5s vertragen (omdat dit mijn timeout limiet is)).

    Nu loopt dit toch wel op tot bijna 40 services, en heb ik weinig zin om voor elke service een apparte cronjob te maken. Heeft iemand dus een idee hoe ik deze allemaal op hetzelfde moment kan controleren?

    Dank bij voorbaat,
    Wim Mariën

  2. #2
    denkwijze achter monitoring
    IPv6ert
    488 Berichten
    Ingeschreven
    10/05/07

    Locatie
    Arnhem

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    om het nog iets ingewikkelder te maken... vergeet je niet te controleren of er ook daadwerkelijk content uit je socket komt? het is prima mogelijk dat een service een socket open heeft en geen content uitgeeft. Alleen een open socket is geen zekerheid dat je service het doet ;-)

  3. #3
    denkwijze achter monitoring
    geregistreerd gebruiker
    5 Berichten
    Ingeschreven
    07/11/07

    Locatie
    Retie, BE

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Hier maak je inderdaad een punt. Bedankt voor de toevoeging, ik zal het bij in mijn classe inbouwen.

    Heb je misschien ook een idee voor het door mij beschreven probleem op te lossen? Ik kan namelijk wel voor elke service een andere cronjob gaan maken, maar dat wil ik niet... Ik wil het zo dynamisch mogelijk...

  4. #4
    denkwijze achter monitoring
    geregistreerd gebruiker
    478 Berichten
    Ingeschreven
    24/11/05

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1 Berichten zijn liked



    Je kan een daemon bouwen die het execute. Dit kan je in bijvoorbeeld ruby met een paar regeltjes doen.

  5. #5
    denkwijze achter monitoring
    Webhoster
    444 Berichten
    Ingeschreven
    23/05/06

    Locatie
    Almere

    Post Thanks / Like
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    24 Berichten zijn liked


    Naam: Jorden / Martin
    Bedrijf: TotallyHosted
    URL: www.totallyhosted.nl
    Registrar SIDN: Ja
    KvK nummer: 39087225
    Ondernemingsnummer: nvt

    Ik zou zeggen: log alleen de belangrijke diensten. Wij loggen zelf Apache, MySQL, SMTP, FTP, POP3 en waar nodig Plesk & DirectAdmin.

    Onze logdienst is wel weer anders opgebouwd, wij controleren of het up is met een timeout van 10 of 15 seconden meen ik, het gaat ons er dus niet om hoe lang het duurt voor we een response krijgen, zolang het maar binnen de 15 seconde is.
    TotallyHosted Webhosting - https://www.totallyhosted.nl

  6. #6
    denkwijze achter monitoring
    geregistreerd gebruiker
    5 Berichten
    Ingeschreven
    07/11/07

    Locatie
    Retie, BE

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Citaat Oorspronkelijk geplaatst door TotallyHosted Bekijk Berichten
    Ik zou zeggen: log alleen de belangrijke diensten. Wij loggen zelf Apache, MySQL, SMTP, FTP, POP3 en waar nodig Plesk & DirectAdmin.

    Onze logdienst is wel weer anders opgebouwd, wij controleren of het up is met een timeout van 10 of 15 seconden meen ik, het gaat ons er dus niet om hoe lang het duurt voor we een response krijgen, zolang het maar binnen de 15 seconde is.
    5 seconden is opzich geen probleem, maar stel nu dat er 2 servers waar overal 10 diensten op draaien volledig down zijn (evt door een netwerkstoring), dan loopt het al op tot 100s. Dit is opzich ook nog niet zo'n groot probleem, maar gezien ik graag bewerkingen had uitgevoerd met deze gegevens heb ik ze wel nodig, liefst van elke minuut (anders is het gelijk om een enquete te doen over 1000 mensen (en dus 1000 exemplaren uit te delen) en er slechts 10 negatieve binnen te krijgen; dat is zeer goed zou je zeggen, maar het is zeer slecht als je er bvb maar 11 hebt teruggekregen....).

    Ik zal het eens bekijken om een daemon te draaien

  7. #7
    denkwijze achter monitoring
    geregistreerd gebruiker
    229 Berichten
    Ingeschreven
    04/07/06

    Locatie
    Keerbergen - België

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: 475423130

    Citaat Oorspronkelijk geplaatst door GDX^ Bekijk Berichten
    5 seconden is opzich geen probleem, maar stel nu dat er 2 servers waar overal 10 diensten op draaien volledig down zijn (evt door een netwerkstoring), dan loopt het al op tot 100s. Dit is opzich ook nog niet zo'n groot probleem, maar gezien ik graag bewerkingen had uitgevoerd met deze gegevens heb ik ze wel nodig, liefst van elke minuut (anders is het gelijk om een enquete te doen over 1000 mensen (en dus 1000 exemplaren uit te delen) en er slechts 10 negatieve binnen te krijgen; dat is zeer goed zou je zeggen, maar het is zeer slecht als je er bvb maar 11 hebt teruggekregen....).

    Ik zal het eens bekijken om een daemon te draaien
    Daarom wordt er in monitoring meestal met dependencies gewerkt.
    Bijvoorbeeld:
    (1) ping host_1
    (2) port 21 op host_1

    (in de veronderstelling dat de server antwoord op ICMP request)
    Als (1) niet OK is, dan heeft het geen zin om (2) te controleren.
    Dus als het systeem volledig down is, dan ga je de onderliggende check (2) niet uitvoeren.

  8. #8
    denkwijze achter monitoring
    aktieve deelnemer
    2.782 Berichten
    Ingeschreven
    10/05/02

    Locatie
    Noordwest Holland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 37093085
    Ondernemingsnummer: nvt

    En alles natuurlijk in afzonderlijke threads draaien, zodat een delay in de monitoring van server #1 geen invloed heeft op de thread van server #2

  9. #9
    denkwijze achter monitoring
    geregistreerd gebruiker
    5 Berichten
    Ingeschreven
    07/11/07

    Locatie
    Retie, BE

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    dat was nu net het probleem, Deimos :-)

  10. #10
    denkwijze achter monitoring
    SanBax
    1.118 Berichten
    Ingeschreven
    11/04/04

    Locatie
    Den Haag

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Nee
    Ondernemingsnummer: nvt

    Als je nou een pagina maakt (die je als cron runned), die vervolgens zichzelf met andere argumenten laad. zodat de checks gerunned worden.

    dus je maakt zo iets als
    PHP Code:
    if(geen_arguments)
    {
          
    //server1/80 blabla alle requests
        
    file_get_contents("PHP_SELF.blablabla?p=80&sv=1");
    }
    else
    {

    class 
    test
    {
       public function 
    __destruct()
       {
          
    // doe je tests
       
    }
    }
    $test = new test; 
    print(
    "klaar"); 

       
    //gelijk outputten en zorgen dat de orspronkelijke pagina er niet op hoeft te wachten
       //vervolgens testen
    } 
    Volgens mij kan je door alles in een class te zetten en dan je tests in de destructor te zetten zorgen dat de content al naar de gebruiker wordt geparsed voor je tests runnen

  11. #11
    denkwijze achter monitoring
    aktieve deelnemer
    2.782 Berichten
    Ingeschreven
    10/05/02

    Locatie
    Noordwest Holland

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: 37093085
    Ondernemingsnummer: nvt

    Mensen dan schrijf je toch gewoon een nette deamon in php / perl / python noem het op ipv te gaan klooien met opties als bovenstaande?

  12. #12
    denkwijze achter monitoring
    MaighMann
    27 Berichten
    Ingeschreven
    20/04/06

    Locatie
    Enschede

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Ik zou het oplossen door 1 cronjob te maken. Die cronjob laat je een bash scriptje uitvoeren. Dat bashscriptje laat je, op zijn beurt, het .php bestand aanroepen, telkens met andere parameters. Elke aanroep checkt alle services op 1 server. Als je de aanroep dan ook nog op de achtergrond doet (met &), dan worden alle checks asynchroom gedaan.

    Denk hierbij wel aan de manier om alle ontvangen data op te slaan, omdat meerdere threads/processen op hetzelfde moment data genereren.

    Een probleem wat hier echter optreedt: als 1 server met 10 services down is, heb je al 10(services)*5(seconden) = 50 seconden vertraging in een enkele thread. Tel daar een paar seconden rekentijd bij en je hebt een maximum van (ongeveer) 10-11 services dat je kunt testen, omdat je anders boven de 60 seconden uitkomt.

    Een andere manier om het op te lossen is om alle checks, zoals dirkb al zei, te groeperen per server. Dan kun je de checks best in 1 .php bestand uitvoeren. Je kunt aannemen dat als enkele services offline zijn, er *iets* mis is, een waarschuwing genereren en verder gaan met de volgende server. Je hoeft dan van de server met problemen de overige services niet (meteen) te testen. Dit kan echter wel een probleem zijn als je per service bijvoorbeeld uptime statistieken wilt berekenen en weergeven.

    Ik vind 1x per minuut voor meer dan 40 services trouwens wel een beetje veel. Je zou ook de services 1x per 5 minuten kunnen testen en slechts 1 test (bijvoorbeeld SSH of PING) elke minuut uit te voeren. Als een server down is, krijg je binnen 1 minuut de melding, maar als alleen een service down is, duurt het maximaal 5 minuten.

    De eerste methode die ik noemde is best makkelijk om te maken, maar nogal onderhoudsgevoelig. Immers moet je bij het toevoegen van een server zowel het bash script aanpassen als het .php script. De tweede methode is een stuk sexier, maar kost meer tijd om te maken. Combinaties zijn natuurlijk ook mogelijk.

    De methode van blaaat kan ook wel werken (niet getest), maar vind ik een beetje 'hacky': volgens mij zijn destructors daar niet voor bedoeld

  13. #13
    denkwijze achter monitoring
    geregistreerd gebruiker
    3.705 Berichten
    Ingeschreven
    26/11/05

    Locatie
    Duivendrecht

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    27 Berichten zijn liked


    Naam: Gert Jan
    KvK nummer: 34272910

    Waarom installeer je niet een standaard monitoring product in plaats van zelf een slecht werkend wiel uit te vinden?

  14. #14
    denkwijze achter monitoring
    geregistreerd gebruiker
    5 Berichten
    Ingeschreven
    07/11/07

    Locatie
    Retie, BE

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Citaat Oorspronkelijk geplaatst door gjtje Bekijk Berichten
    Waarom installeer je niet een standaard monitoring product in plaats van zelf een slecht werkend wiel uit te vinden?
    Omdat ik nog steeds geen pakket gevonden heb dat aan al mijn eisen voldoet. Desnoods is het op gebied van statistieken en waarschuwingen.

    Als bijkomend argument: de prijs. Ik heb geen bedrijf ofzo -ik ben zelfs nog een student- en dit alles is mijn hobby. Bovendien ben ik er 100% zeker van dat ik er een hoop van bij leer (ivm communicatie etc) als ik het zelf maak.

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics