Wie gaat 't hele scriptingwerk doen dan? Wordt dit een charity-actie dan? In het belang van alle medewerkende webhosters willen er wel iemand het voortouw nemen die alles programmeert?
Afdrukvoorbeeld
Wie gaat 't hele scriptingwerk doen dan? Wordt dit een charity-actie dan? In het belang van alle medewerkende webhosters willen er wel iemand het voortouw nemen die alles programmeert?
Ik zit net het hele topic door te lezen, en ik vind het echt een super idee :W:.
Wel zou ik graag nog 1dinge willen opmerken/toevoegen.
Er word nu gezegd dat je wilt sync met andere clients, of via een centrale database. Maar, stel je netwerk is down. Hoe willen mensen dan ooit je noc pagina gaan berijken (de de voorstelling dat je maar op 1 netwerk zit!). Of dat je NOC server down gaat.
Dan is het nog steeds wel handig dat de noc pagina werkt (en dan ook voor de simpele hoster). Hoe je dit zou kunnen oplossen weet ik zo ook niet. Maar het is misschien een gedachte :).
Als er hulp nodig is help ik graag (php oid :))
:lovewht:
Ik vind dit ook een zeer interesant project ik hou het in de gaten!
Maar wat dacht je van 3 of 4 Master servers in verschillende netwerken in verschillende landen wie met elkaar de data syncen
Citaat:
Oorspronkelijk geplaatst door Maico
we gaan controliren op verschillende locaties je noc pagina blijft gewoon op je ijgen server draaien / meschien colega hoster maar niet dat iedereen iedereens servers kan zien
we zouden een soort db moeten hebben waar alle gegevens in staan van alle server die mee doen, daar kan je dan per ip de gegevens ophalen van down / up
allemaal meschien een beetje ondudelijk.
en er moet 1 iemand de lijding nemen anders gaat het echt op niks uit lopen...
Ik heb even het topic in een vogelvlucht doorgenomen. Ik zie het volgende probleem steeds terugkomen:
Stel je pakt een centrale database waar je alle servers in hebt staan die gecheckt moeten worden. Stel dat de 'checkserver' plat gaat of het gehele netwerk ligt op zijn gat. Hoe los je dit op?
Ik denk dat je iedere user die iets wil laten checken moet laten registreren, waar hij in een controlepanel servers kan toevoegen en op welke poorten er gecontroleerd moet worden. Als hij een SMS account heeft (weet niet precies hoe dat SMS gedoe in elkaar zit) dat ie dat moet invullen in zijn panel. Stel er gaat iets down, dan krijgt ie een SMS en die betaald ie zelf. Stel iemand heeft account bij een SMS ding(?). Dan krijgt ie een SMS die automatisch betaald wordt, maar de prijs ligt een stuk hoger. (ben ff zijn nick vergeten, maar iemand in dit topic kon dit aanbieden).
Het enige probleem is dus de database, als die plat ligt moet ie ergens anders zijn data vanaf halen.
Ik lees net de reactie hier boven mij, waar ik me goed in kan vinden. Stel je hebt een stuk of 3 'masterservers'. Iedereen draait het NOC script op zijn eigen server, het script kijkt of ie de masterserver kan bereiken. Zoja, dan haalt ie daar zijn data vanaf. Is dat niet het geval gaat ie bij de 2e server kijken en zo verder.
Je zult wel gewoon op de 'hoofdsite' je servers moeten toevoegen/verwijderen enzovoort. Hoe je de data op alle 'masterservers' krijgt zal het grootste probleem niet zijn.
Naja ik neem aan dat de checkservers niet afhankelijk zijn van je centrale database.
Bv if database is down, hou oude config aan.
Overigens hoeft de database geen probleem te zijn, aangezien het maar een suggestie was van mij ;)
Maar mijn plan is toch nog een slecht idee :P. Want ik had in gedachten dat je als client zelf moet checken. Maar je moet natuurlijk een SMS krijgen wanneer de boel plat ligt. En dat kan dus niet als je het zelf moet checken!Citaat:
Oorspronkelijk geplaatst door _arno_
Dan loop je meteen tegen het volgende probleem aan:
Stel je hebt 3 masterservers die natuurlijk allemaal dezelfde database hebben met dezelfde gegevens.
Hoe controleer je dan of er iets down is? Doe je dit vanaf de masterservers? Zoja, hoe weet je dan vanaf welke server je moet checken, want als het netwerk eruit ligt bij die server dan kan die niet ff zeggen tegen die andere doe jij het maar want hier ligt het netwerk plat.
Waarom zou dat niet kunnen ?
Je kan bv op de client mysql ftp etc checken, en als je geen verbinding krijgt met die server dan krijg je een sms.
Of iets down is doe je natuurlijk op je checkservers, heet niet voor niets checkservers :P
Op je checkservers doe je het volgende:
1 keer in de x tijd doe je een check,
die check houd in:
contact maken met 'master' server om checklist te updaten, is deze plat hou dan oude config aan.
Loop daarna de checklist door, zijn er servers plat vraag aan andere checkserver of hij daar ook plat is.
Verwerk gegevens in database, en klaar is kees ;)
Tenminste zo denk ik dat het ongeveer bedoelt word hierboven, alhoewel dit natuurlijk 1 systeem is, en zo mogelijk niet de weg naar rome.
@_arno_: Ik weet niet zeker of jij dit ook had bedacht; maar de checkservers ('clients') kunnen niet alle servers checken (is ook niet nodig). Kortom: per checkserver moet het aantal te checken servers eerlijk verdeeld worden (wat inhoud dat je als checkserver maar 1 server hoeft te controleren plus soms nog een second opinion voor een andere server).
Ik weet niet wat de master servers hier van gaan vinden als dit elke minuut gebeurd (elke minuut dus het fetchen van een config bestand door alle servers en elke minuut een update van de status).
@TiMMiEJ: Problemen met het syncen van de masters zijn er niet; een master moet gewoon elke X tijd de laatste config ophalen (en de stats updaten). Lukt het een keer niet, is dat geen punt: de volgende keer wordt de config dan wel opgehaald. Dit betekend wel dat het soms voorkomt dat bepaalde nieuwe servers niet gecheckt worden.
Jochem
Naja ik had er nog niet over na gedacht of elke checkserver alle clients moet bekijken, inderdaad logischer om dit niet te doen.
Ik denk dat de master server helemaal niks moet doen, behalve checkserver list bijhouden.
Ik denk dat de masterserver niet de checkservers moet updaten, maar de checkservers de master server.
Dus checkserverA komt erachter dat er een status wijziging is bij clientA, ( als voorbeeld offline ), checkserverA weet dit niet zeker en vraagt aan checkserverB of dit inderdaad het geval is.
checkserverB geeft terug, clientA is inderdaad down.
checkserverA verwerkt gegevens en stuurt deze op naar masterserver.
Op deze manier hoeft de masterserver alleen de gegevens verwerken op het moment van clientA status change.
En laten we nou eerlijk zijn, jullie als 'fantastische' hosters zijn toch altijd up. ;)
Dus krijgt de masterserver geen update requests, en is er geen load. :D
Plus daar komt eens bij dat je bv de checkservers naar config update zou kunnen laten kijken 1 keer per dag bv, waardoor je de load zou kunnen verhuizen naar doeloze tijden.
[offtopic]Over de duizend posts :eek: :lovewht:
Moge ze steeds nuttiger worden!
Het updaten van de status hoeft inderdaad niet voor veel load te zorgen (er hoeft enkel een update naar de master indien de status is veranderd ten tijde van de check. Van 'up' naar 'down' of 'down' naar 'up).
Wel moet er telkens opgehaald worden welke server er gecheckt moet worden. Om het netwerk ten volle te benutten, is het wel zo prettig als de clients telkens een andere server voor hun rekening nemen. Misschien moet de config uit een lijst bestaan van een X aantal servers (bijvoorbeeld 60 servers indien er elke minuut gecheckt wordt), wel is het dan van belang dat er op het juiste tijdstip de juiste server gecheckt wordt.
Als een server namelijk overgeslagen wordt (doordat de cronjob een minuut oversloeg om wat voor reden dan ook (reboot etc)), gaat de hele boel in de war (servers worden niet gecheckt en servers worden dubbel gecheckt).
Ook moet het checken van de betreffende client overgenomen worden, indien deze down lijkt te zijn. Welke client gaat dit overnemen (random kiezen?). Uiteraard moet de nieuwe client (die het werk overneemt) dan de config binnenhalen van de client die down is gegaan en het werk oppakken op de juiste server.
Pfoe, gaat nog een hoop denk en script werk in zitten ;).
Jochem
Het ophalen welke servers gecheckt moeten worden doe je natuurlijk niet elke minuut, maar bv 1 keer per dag/meer.
Welke server je second opinion zou moeten worden is idd een interessante vraag, lijkt me dat je dit denk ik random het beste zou kunnen doen.
Heeft weinig kracht nodig aangezien de 2decheckserver maar 1 user extra hoeft te doen (denk ik zo).
Daarnaast moet je opletten dat je als checkserver netwerkje zelf niet plat gaat anders zou je load behoorlijk kunnen oplopen aangezien je dan om second opinions blijft vragen, infinite loop etc etc. :P
Anyways, nu zijn wij wel lekker aan het filosoferen alleen hoor ik niemand die nou daadwerkelijk iets gaat maken lol.
Overigens ben ik bereid wat space open te zetten in we-dare, en mogelijk mee te helpen aan een scriptje.
dat het hele gemeenschappelijk-noc-systeem eerst nog geplanned,uitgewerkt en gefijntuned moet worden lijkt me duidelijk, ik vind de aanmaak van deze topic dan ook erg vroegtijdig :) (ik zou dan ook terug gaan naar "de grote noc script topic" maarja wie ben ik)
en om even op die http GET request ideeen terug te komen, als je dat iets verder uitwerkt kom je uit bij soap http://www.w3.org/TR/soap12-mtom/, welke heel eenvoudig te implementeren is in php (php4 : een of andere lib uit bv SF.net; php5: native)
maar de vraag blijft maar weer: wie gaat dat allemaal programmeren? dit is niet "effe een scriptje schrijven" meer :)
Ik KAN helaas niet programmeren (niet zo goed als de gemiddelde persoon hier anyway), maar weet daarentegen weer genoeg over hosting. Ik denk dat we WEL iemand nodig hebben om het project op te pakken. Helaas heb ik niet de tijd om nog een prive-project er naast op te pakken (heb nog 2 dedicateds uit te rollen, en wil ook wel weer eens RUST :))Citaat:
Oorspronkelijk geplaatst door Dieter@be
Uit topics is dus gebleken dat er voldoende interesse is aan verschillende kanten, het enige waar het aan ligt zijn dus programmeurs en een project leider. ;)
Wie staat op :)