Toon posts:

[PHP/Perl] Monitoring pagina met grafieken, welke methode ?

Pagina: 1
Acties:
  • 266 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ten eerste; Ik heb er erg overna gedacht in welk Forum dit topic het beste past. In Programming zou deze ook passen, ook in NOS en ook in Netwerken. Ik ben alleen nog steeds in debat met mezelf over wat en hoe ik het ga doen, dus voorbereidend ?


Ik wil een eigen pagina voor monitoring van zaken op een server maken. Je denkt meteen aan Nagios, Catci en Zabbix omdat dit complete oplossingen zijn. MRTG, RTG zijn ook goede ideeen om te kunnen gebruiken in een eigen idee.

Het nadeel dat ik van Zabbix en Cacti vindt is dat het veel te complex is voor wat je eigenlijk nodig hebt. Je moet in andermans code duiken om dingen te veranderen, en bij een update ben je de klos.

Het monitoren van een service (beschikbaarheid) is niet zo vreselijk moeilijk, dit kan je vanaf 1 punt doen, of meerdere, dit is namelijik niet afhankelijk van DATA als je alleen wil weten of de Service online is op het moment van de check.

Het monitoren van Bandbreedte en Processors en Geheugen is in mijn opinie een ander verhaal. Dit komt omdat wanneer je een Server inricht als monitoringserver en deze plat gaat, niets meer te monitoren valt en dus onhandig is. Hier kan kort en lang over gediscussieerd worden, maar dat doet even niet 100% ter zake.

Om data van een server goed weer te kunnen geven zou ik bijvoorbeel MRTG lokaal willen laten draaien op iedere server. Dit neemt ruimte in van de server die geschikt is voor iets anders en is dus ook weer niet makkelijk. Het is namelijk makkelijk om de pagina vanaf die server in een PHP-pagina te includen, zeker met zaken als processors, Mem, ga zo maar door.

SNMP is een goede tool om dit allemaal remote goed te kunnen doen, echter moet ik me hier even in verdiepen wil ik dit goed kunnen gebruiken.

De vraag die ik mezelf dus stel is; Doe ik er goed aan om zelf iets te coden wat ik precies nodig heb ? Ik ben dan naar mijn idee wel aan grenzen gebonden omdat ik niet zaken als Cacti wil gaan herscrhijven uiteindelijk maar wel wat meer flexibilitiet wil hebben in eigen design en het gebruiken van grafieken op verschillenden plaatsen en/of websites.

Het is dus de vraag of het verstandig is op iedere machine iets als RTG lokaal te laten draaien en de output te includen in een pagina die je ontwerpt. Aan de ene kant denk ik van wel, de andere kant ook weer van niet.

Ik ben helemaal geen persoon die Perl-gericht is en dat zijn MRTG/RTG duidelijk wel. Ik begreep dat Zabbix geen Perl gebruikt voor haar grafieken, maar 95% van bandbreedte waar ik wel eens mee wil gaan testen is daar volgens het forum bljikbaar zelf niet in te bouwen.

Ik moet dus zelf aan de slag, maar voor iedere server lokaal of niet ?


Andere ideeen zijn vast ook wel een idee, we zien wel !

  • DexterDee
  • Registratie: November 2004
  • Laatst online: 16-02 21:20

DexterDee

I doubt, therefore I might be

Persoonlijk ben ik niet zo'n perl persoon. Als ik in jouw situatie zou zitten zou ik het met de volgende technieken oplossen:

PHP - scripttaal om de monitor checks en de webinterface in te maken
MySQL - database om de monitoring gegevens in op te slaan
GD library - grafieken in PHP maken en omzetten in gif/jpeg
Crontabs - schedulen van de PHP scripts ten behoeve van het monitoren

Ik zou centraal vanuit 1 server monitoren, tenzij je de monitoring data nodig hebt voor bijv. KPI rapportage. In dat geval is het van belang dat je geen gaten hebt in de rapportering en dan is een ander scenario wenselijk.

Ik geef toe dat bovenstaande mijn persoonlijke voorkeur is. Het speelt uiteraard mee in hoeverre je ervaring hebt met de verschillende technieken en waar je je persoonlijk het meest comfortabel in voelt.

Klik hier om mij een DM te sturen • 3245 WP op ZW


  • bakkerl
  • Registratie: Augustus 2001
  • Laatst online: 20-01 20:59

bakkerl

Let there be light.

Als ik je verhaal zo lees kun je nog steeds aan Nagios denken (nagios verklaar je ook niet verder waarom niet).

Zoals je beschrijft wil je graag elke machine zichzelf laten verzamelen van data, en dit centraal monitoren. Ik zeg Nagios.

Nagios heeft een NSCA. Op deze manier kun je een uitgekleden nagios daemon draaien op je servers, deze monitore zichzelf en sturen dat naar een centrale server. Dit kan via pull of push. Mocht de centrale server er even niet zijn, is er nog steeds de monitoring.
Met een waarschuwing als server X al een bepaalde tijd geen nieuwe data heeft afgegeven.

Daarnaast kun je de Nagios logfile gebruiken om je gegevens zo weer te geven zoals je zelf wil. Dan hoeft je alleen dat stuk zelf te maken (als de standaard nagios interface niet voldoet)

[ Voor 7% gewijzigd door bakkerl op 18-06-2006 21:58 ]


Verwijderd

Topicstarter
Dit biedt perspectieven. Ik ben geen fan van Nagios omdat het echt een vreselijk gedoe is om goed op te zetten. Ik ben er eens een week mee bezig geweest terwijl een een bug in MySQL zat in samenwerking met Nagios. Verder hoor ik van velen dat het gewoon een groot gedoe is om goed op te zetten.

Een Service draaien op een server kan, heb ik met Zabbix even geprobeerd maar is niet wat ik zoek. Je moet er via de Centrale monitoring server maar achter zien te komen dat de Daemon does draait op de server.

Ik wil eigenlijk geen gaten in mijn monitoring. Gaat er 1 machine plat dan is de rest nog beschikbaar als je alles lokaal draait.

Ik begrijp dus van Nagios dat deze cached op de server waar de daemon draait ? Er is wel een probleem met zaken als 95% percentile van bandreedte aangezien er voor MRTG hier patches voor zijn en alleen Cacti hierin voorziet zover ik begrijp.

Allemaal het overdenken nog wel eens waard.

  • bakkerl
  • Registratie: Augustus 2001
  • Laatst online: 20-01 20:59

bakkerl

Let there be light.

Verwijderd schreef op zondag 18 juni 2006 @ 22:32:
Dit biedt perspectieven. Ik ben geen fan van Nagios omdat het echt een vreselijk gedoe is om goed op te zetten. Ik ben er eens een week mee bezig geweest terwijl een een bug in MySQL zat in samenwerking met Nagios. Verder hoor ik van velen dat het gewoon een groot gedoe is om goed op te zetten.
Dat klopt. Maar als het eenmaal goed is werkt het ook goed. Maar een groot gedoe zou geen reden moeten zijn om iets niet te doen. Laat de beslissing afhangen van de eisen die je heb, en waarmee je de invullingen kan maken.
Een Service draaien op een server kan, heb ik met Zabbix even geprobeerd maar is niet wat ik zoek. Je moet er via de Centrale monitoring server maar achter zien te komen dat de Daemon does draait op de server.

Ik wil eigenlijk geen gaten in mijn monitoring. Gaat er 1 machine plat dan is de rest nog beschikbaar als je alles lokaal draait.
Dan zul je je monitoring ook redunant op moeten zetten. Zelfs als je alle monitoring op een machine (welke je wil monitoren) lokaal draait geeft dit geen garanties. Ook daar kan je monitoing applicatie een probleem geven waardoor die niets meet. Hoe controlleer je dat dan weer.
(pro nagios opmerking: Nagios kan beide kanten opwerken.. dus lokaal data verzamelen (en centraal verwerken), maar ook centraal controleren of het lokale proces nog werkt)

Daarnaast heb je nog iets van Backup genoemt wordt.
Ik begrijp dus van Nagios dat deze cached op de server waar de daemon draait ? Er is wel een probleem met zaken als 95% percentile van bandreedte aangezien er voor MRTG hier patches voor zijn en alleen Cacti hierin voorziet zover ik begrijp.
95% percentile weergaves worden pas bepaald op het moment dat een grafiek in cacti gemaakt wordt. Als je dus weet hoe de grafiek te maken, kan dit met alle data welke uit een rdd database komen (dus ook met MRTG). Nagios kan met de extended data ook een rdd database vullen.
Cacti en MRTG vullen beide een rdd database en maken er grafiekjes van. Als je een gevulde rdd database heb, kun je er ook zelf grafiekjes van maken op de manier die je zelf wilt.
(pro Nagios opmerking: nagios kan met de rdd database actief monitoren op 95% nivo's, maar dat is een kwestie van de juiste plugins)

Daarnaast is een beetje de vraag wat je wil. Je wil monitoring. Wat voor monitoring. Wil je een melding als er iets mis is (actieve monitoring), of wil je achteraf kunnen zien wat er nu eigenlijk gebeurt is (passive monitoring).

Voor de actieve monitoring kom je bij tools van Nagios, BigBrother, ... uit. Bij alleen achteraf inzage kun je af met Cacti, MRTG, ...

Verwijderd

Topicstarter
Het gaat mij echt om achteraf inzage, realtime heb ik al iets gebakken :)

Verwijderd

Topicstarter
Zou het een idee zijn om 2 servers te nemen met een NAS er aanvast ?

Ik dacht aan zoiets, een CL380 of iets in die richting:

Afbeeldingslocatie: http://www.miraclecomputers.com/MCIimages/cl380.gif

Je enige bottleneck blijft dan dat de storage "single" is. Ik vraag me wel af of je geen problemen gaat krijgen als beide servers die RTG bestanden bij willen gaan werken. Hoewel je alleen een extra check tussendoor zou kunnen krijgen. Dus als je een check om de 10 minuten wil laten doen, laat je gewoon beide om de 5 minuten de bestanden bijwerken.

(ben bang dat dit niet zo simpel zal gaan)

Je zou ook 2 seperate servers kunnen gebruiken, rsync is hier alleen niet op gemaakt om de DATA te gaan mirroren.
Pagina: 1