PDA

Bekijk Volledige Versie : Alternatief voor GBGraph: Grapher



Hans
23/01/05, 20:43
Naar aanleiding van een MSN-conversatie met Serverbilly heb ik besloten een alternatief in elkaar te zetten voor GBGraph. GBGraph is vaak lastig op te zetten en is vrij ondoorzichtig. Grapher moet configuratie en customization veel eenvoudiger maken, doordat Grapher zelf via snmp met een switch communiceert.

De vereisten voor Grapher zijn op het moment:
- MySQL 3 of 4
- PHP 4.3.2 of hoger
- GD-module van PHP
- SNMP-module van PHP
- Een switch die via SNMP te benaderen is

We hebben Grapher getest met een cisco 2924XL, een cisco 3500XL en een 3Com superstack II 1000. Ik ga er vanuit dat andere switches het ook netjes zullen doen.

Een voorbeeldje van de gebruikersinterface is op deze pagina te zien:
http://dev.vectorclass.net/grapher/user.php?grapherauth=wht

De meeste poorten zijn niet toegankelijk en de MRTG-grafieken en -gegevens worden niet geupdate, omdat het slechts een voorbeeld is.

Als attachment heb ik nog een screenshot van de beheersinterface toegevoegd.

De huidige versie (1.0) is te downloaden op:
http://dev.vectorclass.net/grapher-1.0.tar.gz

De installatie is vrij simpel. Configuration.php-dist moet gekopiëerd worden naar configuration.php. In configuration.php kunnen vervolgens instellingen gemaakt worden, zoals de gegevens van de MySQL database. Verder moet "grapher.sql" in de database geladen worden; deze maakt de lege tabellen aan die Grapher nodig heeft.

Tenslotte moet gezorgd worden dat "measure.php" elke 5 minuten wordt uitgevoerd. Dit kan het beste door middel van een cronjob gedaan worden.

Graag jullie feedback :)

RayManZ
23/01/05, 21:01
Dit is alleen voor switches en routers neem ik aan? Niet voor iemand die gewoon een paar servertjes heeft?

Hans
23/01/05, 21:02
Het is inderdaad eigenlijk alleen bedoeld voor als je een switch of een router hebt. Of je ook de stats van een server zou kunnen uitlezen durf ik niet met zekerheid te zeggen. Best kans dat dat gewoon lukt als je snmpd maar hebt draaien. Misschien iemand die dat wil proberen ? :)

Een aantal voordelen tov. GBGraph:
- Veel eenvoudiger installatie
- Verschillende kleuren voor inkomend en uitgaand dataverkeer
- Als er een of meerdere dagen geen statistieken worden bijgehouden, dan zijn er gewoon lege balken te zien. GBGraph schuift die balken naar links toe

Oh en Grapher valt onder de licentie "Doe er maar mee wat je wilt; ik ben niet verantwoordelijk voor eventuele problemen die de software op zou kunnen leveren" :)

phreak
23/01/05, 23:03
Ik mis de 95th Percentile..

mihosnet
23/01/05, 23:11
Origineel geplaatst door phreak
Ik mis de 95th Percentile..

Wat weerhoudt je om het er zelf in te scripten?

phreak
23/01/05, 23:14
Origineel geplaatst door mihosnet


Wat weerhoudt je om het er zelf in te scripten?

Tijd ...

Hans
23/01/05, 23:20
Er zit een 95th percentile berekening in. Die kan je in de configuratie inschakelen met :


$config['graph']['percentile'] = 1;


Of heb je dat gedaan en verschijnt het niet in je grafiek ? Er moet wel even een aantal keer (3 ofzo) gemeten zijn voordat de 95th percentile goed berekend kan worden.

De 95th percentile meting wordt overigens als tekst onder de grafiek gezet.

Dillard
23/01/05, 23:26
Mooi werk Hans!

We hebben een tijdje met MRTG + GBGraph gewerkt, maar elke keer hadden we (met name na een Perl update) problemen om alles weer in het gareel te krijgen.

We zijn nu een aantal alternatieven aan het bekijken en dit ziet er erg goed uit !!!

Ik ga ermee aan de slag en zal je mijn bevindingen laten weten.

Hans
23/01/05, 23:56
Dillard, bedankt voor je reactie. Ik ben zeer benieuwd naar je bevindingen. Vooral als er problemen zijn met het 'investigaten' van een switch of router hoor ik dat graag.

Het is overigens veilig om "Re-investigate" aan te klikken, ondanks de dreigende javascript-popup. Het enige dat dit doet is de poort-status, -snelheid en -beschrijving opnieuw ophalen van het apparaat.

@RayManZ: Ik heb het zojuist zelf geprobeerd op een server. Deze draaide snmpd en werd zonder problemen "herkend" en uitgelezen door Grapher. Op die manier kan je dus ook het dataverkeer van een server meten.


Nog een kleine opmerking: Standaard wordt voor authenticatie van user.php gebruik gemaakt van de functie checkaccess() in sampleauth.php. Om user.php te bekijken moet je OF in plaats van "checkaccess" gewoon false neerzetten in de configuratie OF achter user.php nog ?grapherauth=password zetten.

Wido
23/01/05, 23:59
Mooi werk, daar niet van, maar.

Is Cacti niet een mooiere oplossing voor de meeste hosters hier?

Hans
24/01/05, 00:08
Cacti is inderdaad ook mooie software; aan de screenshots te zien tenminste. Het is voor mijn situatie wat te uitgebreid, want ik heb alleen behoefte aan de grafieken van MRTG en grafieken die het dataverkeer in gigabytes laten zien.

Misschien dat anderen inderdaad meer gebaat zijn bij een veel uitgebreidere oplossing zoals Cacti; dat zou ik me goed kunnen voorstellen.

EgoH
24/01/05, 19:30
Mooi script, detecteerd onze cisco 2950-T perfect.
http://82.94.254.2/grapher/user.php?grapherauth=password

Het enige nadeel wat ik zo zie is dat er nogal wat records per dag aangemaakt worden. Zo ongeveer 7.5k records per dag per switch.

Na een aantal maanden krijg je dan al een flinke database.
Misschien is het een idee om de data van de vorige maand te converteren naar records met in/out dataverbruik per dag en 1 record voor de 95% meting.
Dan kan je de maand opslaan in 1k records per switch ipv 200.000.
En aangezien de 95% meting toch niet meer veranderd heb je de 5min metingen toch niet meer nodig.

Over cacti, ik heb nog geen module kunnen vinden die Gb/s per maand laat zien in cacti...

Hans
24/01/05, 23:26
Mooi te horen dat het goed werkt :) Het wegwerken van de historische gegevens is inderdaad wel een goed idee. Heb er zelf ook aan gedacht om wat op te ruimen, maar had er verder nog niets mee gedaan. Zoals jij het beschrijft lijkt me inderdaad prima.

Ik ga er volgend weekend wel even mee aan de slag. Als de huidige software in een weekend in elkaar te zetten is, dan moet 't archiveren toch ook wel lukken in het tweede weekend.

royen99
25/01/05, 00:04
Origineel geplaatst door EgoH

Over cacti, ik heb nog geen module kunnen vinden die Gb/s per maand laat zien in cacti...

Hoezo een aparte module ? Gewoon de datum selecteren (zie onder, 1/1/2005 tot heden):

EgoH
25/01/05, 01:26
Origineel geplaatst door royen99


Hoezo een aparte module ? Gewoon de datum selecteren (zie onder, 1/1/2005 tot heden):

Ik bedoel een grafiekje per dag...

ikkepik
25/01/05, 20:59
Mooi script moet ik zeggen, lekker overzichtelijk.

Ik heb begrepen dat dit helemaal op GbGraph gebaseerd is maar dan wel een stuk beter in gebruik.

Ik zou graag willen weten hoe je de kleuren van de balkjes aan kunt passen. Ik heb gezoch maar weet niet zeker hoe dit te doen.

Hans
25/01/05, 21:57
Dank je.

Ik heb het idee gebaseerd op GBGraph en de code voor de grafieken ervan geleend. Het belangrijkste is dat dit wat stabieler zou moeten zijn en er beter tegen kan als er een paar dagen niet gemeten wordt. Bovendien is het (naar mijn idee) vele malen makkelijker te installeren.

Het aanpassen van de kleurtjes kan je doen in themes/vc/gbgraph2.theme

Daar kan je overigens ook 't achtergrondplaatje aanpassen, want een eigen logo'je erin is natuurlijk wel zo mooi.

ikkepik
25/01/05, 22:02
Sorry Hans, de .theme had ik helemaal niet aan gedacht, wellicht iets te snel !

Ga je de wijzigingen voor het archiveren straks gewoon online zetten zodat je zelf aan kunt passen ? Een soort van uitgebreide "ChangeLog" dus.

Hans
25/01/05, 22:22
Geeft niks hoor. Ik denk dat ik het volgende online ga zetten:
- Een complete 1.1 tar.gz, waarvan measure.php en user.php aangepast worden.
- Een diff-file om van 1.0 naar 1.1 te patchen
- Een SQL bestandje om de benodigde extra tabel aan te maken.

Thafusion
26/01/05, 02:00
Hans ziet er leuk uit maar ik weet niet of ik er overheen gekeken heb maar is het ook mogelijk per poort een apparte login en of pass te maken om de stats te bekijken?

ikkepik
26/01/05, 04:25
Origineel geplaatst door Thafusion
Hans ziet er leuk uit maar ik weet niet of ik er overheen gekeken heb maar is het ook mogelijk per poort een apparte login en of pass te maken om de stats te bekijken?

Ik denk dat je zoiets zelf moet maken, de man doet het vrijwillig en er moet wel iets overblijven voor jezelf !

Hans
26/01/05, 09:25
Dat kan je zeker doen. Als je kijkt in "sampleauth", dan zie je daar een functie "checkaccess" die je gewoon zelf kan aanpassen. In die checkaccess functie heb je het "deviceid" en het "portid" tot je beschikking en je kan zelf bijvoorbeeld een sessie starten of bv. een wachtwoord vragen of iets dergelijks. Op die manier zou je het netjes in een control panel moeten kunnen integreren.

De naam van de functie is overigens gewoon aan te passen in configuration.php. Door de naam van de functie weg te halen en er gewoon "false" neer te zetten schakel je de hele authenticatie uit, zodat je bv. met een .htaccess kan werken.

Quote uit sampleauth.php:


// Check if user is authenticated and check deviceid and portid in database if needed.
// You might want to start a session to establish authentication
// You can also use the GET parameter "grapherauth" which is also passed on to
// user.php when it's showing graphs, but using sessions is recommended.


Die grapherauth code kan je overigens gebruiken om bijvoorbeeld een session-id door te geven als een gebruiker geen cookies aan heeft of om gewoon een simpel 'wachtwoordje' of iets dergelijks in mee te geven. Het handige aan grapherauth is dat deze ook in elke link wordt geplaatst, zodat je 'm niet kwijtraakt.

ikkepik
26/01/05, 18:48
Heeft iemand anders ook problemen met het benaderen van de database als je deze een andere naam geeft dan grapher ? configuration.php is goed ingesteld.

muisje
27/01/05, 19:14
Werkt ook in FreeBSD zonder aanpassingen:

http://62.212.87.187/grapher/user.php?device=1&port=1&grapherauth=password

Na het installeren van php4-snmp dan (/usr/ports/net-mgmt/php4-snmp/)
(zullen de meesten wel al standaard geinstalleerd hebben denk ik)


-- edit ---

krijg wel een zooi errors bij het draaien van measure.php

PHP Notice: Constant FORCE_GZIP already defined in Unknown on line 0
PHP Notice: Constant FORCE_DEFLATE already defined in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - readgzfile in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzrewind in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzclose in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzeof in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzgetc in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzgets in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzgetss in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzread in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzopen in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzpassthru in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzseek in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gztell in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzwrite in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzputs in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzfile in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzcompress in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzuncompress in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzdeflate in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzinflate in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - gzencode in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - ob_gzhandler in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - zlib_get_coding_type in Unknown on line 0
PHP Warning: zlib: Unable to register functions, unable to load in Unknown on line 0

Nog niet naar gekeken waarom zal kijken of ik vanafond tijd heb..

muisje
27/01/05, 19:47
De Admin heeft ingesteld dat je berichten kan wijzigen tot 30 minuten nadat je hebt gepost. Deze limiet is verstreken. Jammer :)

vanafond = vanavond :)

Dillard
28/01/05, 16:53
Ik denk dat je een aantal PHP modules moet installeren (zlib e.d.)

serverbilly
30/01/05, 00:34
Dit is echt een geschenk :) Mooi stukje software dat zeker zeer goed van pas komt!

Voordat ik het in productie-omgeving ga gebruiken wacht ik nog even op de wijzigingen die EgoH heeft aangegeven verwerkt zijn.

Bontekoe
30/01/05, 00:47
Het werkt ook op een Debian machine met SNMPD :)

// edit
geloof niet dat hij traffic ook echt oppakt.. rows blijven leeg in de traffic tabel

We Develop
02/02/05, 22:30
Erg handig script Hans, leuk dat je dit met ons wilt delen.
Staat er een update op de planning om de database iets kleiner te houden?

Hans
03/02/05, 10:16
De update om de database wat kleiner te houden komt er zeker aan. Afgelopen weekend met andere dingen bezig geweest, maar komend weekend of begin volgende week moet het er wel van komen :)

quantum
02/04/05, 17:17
Hoe is het hier nu mee?

Deltaned
02/04/05, 21:36
Op een directadmin server krijg ik de melding:
SNMP is not supported by your PHP installation

Vane
02/04/05, 22:06
Lijkt me voor zich spreken? :)

Deltaned
03/04/05, 21:32
jah dat wel alleen laat die module zich niet "eenvoudig" installeren HELAAS.

Kortom, ik krijg het niet werkend.
Iemand hem actief gekregen op een DirectAdmin server, pls contact me!

mihosnet
03/04/05, 21:39
1. SNMP installeren (bij Linux rpm, FreeBSD ports)
2. PHP hercompileren.

Deltaned
04/04/05, 19:01
Klopt alleen de juiste rpm`s voor Fedora core 2 is wat lastig te vinden en te gebruiken.
Ik mis de net-snmp-lips versie....

Kan iemand alle juiste RPM`s toemailen (of download lokatie?)

sander815
16/04/05, 01:57
Origineel geplaatst door Hans
De installatie is vrij simpel. Configuration.php-dist moet gekopiëerd worden naar configuration.php. In configuration.php kunnen vervolgens instellingen gemaakt worden, zoals de gegevens van de MySQL database. Verder moet "grapher.sql" in de database geladen worden; deze maakt de lege tabellen aan die Grapher nodig heeft.

ok, config aangepast, db geladen, maar wat nu?

TimmiT.nl
27/04/05, 16:48
Ik zit met het volgende probleem:

De 95% werkt niet goed, als ik kijk naar het grafiekje dan geeft hij aan dat volgens de planning/verwachting 140 GB gaat verbranden, maar hij meld ook dat dit 1.06 Mbit is.
nu houden wij als richtlijn dat een Mbit (95%) 300 GB is, wat ook zou moeten klopen volgens http://www.webhostingtalk.nl/showthread/t-62164.html maar we komen hier dus ermee uit dat het de helft is... en dat lijkt mij niet horen, kan ik wat fout hebben gedaan, kwa instellingen ofzo?

TimmiT.nl
27/04/05, 16:59
Origineel geplaatst door sander815


ok, config aangepast, db geladen, maar wat nu?

Inloggen op de admin pagina en je switchen laten onderzoeken...
owwh en niet te vergeten mesuere.php elke 5 minuten laten draaien met cron...

Dillard
27/04/05, 17:39
Origineel geplaatst door TimmiT.nl
Ik zit met het volgende probleem:

De 95% werkt niet goed, als ik kijk naar het grafiekje dan geeft hij aan dat volgens de planning/verwachting 140 GB gaat verbranden, maar hij meld ook dat dit 1.06 Mbit is.
nu houden wij als richtlijn dat een Mbit (95%) 300 GB is, wat ook zou moeten klopen volgens http://www.webhostingtalk.nl/showthread/t-62164.html maar we komen hier dus ermee uit dat het de helft is... en dat lijkt mij niet horen, kan ik wat fout hebben gedaan, kwa instellingen ofzo?

Kan best kloppen hoor. 1 Mbit (95%) is theoretisch 320 GB maar in de praktijk zelden (dit in tegenstelling tot average). Dit komt omdat je waarschijnlijk overdag meer bezoekers hebt en 's nachts bijna niet waardoor je de theoretische capaciteit van 320 GB niet benut.

Zeker als je te maken hebt met piekverkeer (heel kort, heel hevig), bv. gameservers dan kan 1 mbit (95) = 140 GB best goed kloppen.

Ik reken zelf : 1 Mbit (95) = 200 GB effectief (webhosting)

TimmiT.nl
27/04/05, 17:45
Origineel geplaatst door Dillard


Kan best kloppen hoor. 1 Mbit (95%) is theoretisch 320 GB maar in de praktijk zelden (dit in tegenstelling tot average). Dit komt omdat je waarschijnlijk overdag meer bezoekers hebt en 's nachts bijna niet waardoor je de theoretische capaciteit van 320 GB niet benut.

Zeker als je te maken hebt met piekverkeer (heel kort, heel hevig), bv. gameservers dan kan 1 mbit (95) = 140 GB best goed kloppen.

Ik reken zelf : 1 Mbit (95) = 200 GB effectief (webhosting)

bedankt voor je snelle reactie, ik ga direct de totale logfiles bekijken. Het gaat hier ook om alleen maar webhosting op die server...

Dillard
27/04/05, 18:19
Ik zou eerst even kijken naar je verkeersstatistiek van de maand. Als er immers 2 of 3 dagen meer verkeer dan normaal heeft plaatsgevonden (omdat iemand tijdelijk veel bezoekers trok) dan zit je dus over de 5% pieken heen die je mag hebben en al heb je de rest van de maand amper bezoekers je zult dan toch die 1 mbit moeten afrekenen.

timmeh
28/04/05, 23:35
Ik zit met een probleempje.

Kan het kloppen dat de grafiekjes wat later komen. Alle instellingen staan goed, ook de database refresht en komen dingen bij.

Maar ik blijf kruisjes zijn waar grafiekjes horen te staan.

Hier mijn GD installatie in php:

gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Hebben jullie enig idee wat er aan de hand zou kunnen zijn?

Alvast bedankt!

raqtweak.com
24/05/05, 06:15
OK leuk scriptje...

Ik probeer onze Cisco 2950 (WS-C2950-24) in de admin toe te voegen...
Maar ik krijg constant de melding "could not count ports"...

Iemand een idee?

Dillard
24/05/05, 10:59
SNMP in PHP meegecompileerd ?

raqtweak.com
24/05/05, 13:22
Als shared module, gedownload. Voor de compatibele SNMP versie en PHP versie.

Meecompilen in PHP 4.3.11/5.0.4 op Fedora Core 3 geeft constante compile errors.

Maar ik krijg dit met een PHPinfo:

snmp
NET-SNMP Support enabled
NET-SNMP Version 5.1.2

Daarbij, als dit niet zou werken, geeft ie bij het inloggen al een probleem ("SNMP werkt niet")
Dat doet ie niet meer, dus DAT zal wel werken ;)

vivizi.com
24/05/05, 18:27
Zelfde probleem.
./measure.php werkt overigens wel gewoon, dus snmp.so werkt...

Dillard
24/05/05, 20:06
En je kunt met een ander programma wel je SNMP-stats uitlezen ? Dus niet de community-string aangepast of een accesslist blokkade gezet ?

vivizi.com
24/05/05, 23:11
Hoe doe ik dit bijv?
Een MRTG script/cfg werkt prima...

vivizi.com
26/05/05, 12:51
Probleem opgelost.
Fout was dus dat FC3 met net-snmp-5.1.2 kwam...
zit een bug in of zo.
geupgrade, PHP opnieuw gecompiled, werkt...

Dank aan Dillard overigens...

EgoH
30/06/05, 11:43
Aangezien het toch al wel een tijdje erg stil werd omtrent grapher en de database hier al 200mb groot werdt, heb ik zelf een archive toevoeging geschreven.

Ik heb het script aangepast dat van oude maanden de 5 minuten metingen worden weggegooit. De dagtotalen en de 95% maand meting worden opgeslagen in de archive tabel.
Ook heb ik de 95% berekening aangepast, pakt nu kleinste van bovenste 5% inplaats van hoogste onderste 95% (schilt in het aantal records ophalen).

Ik heb de files user.php en functions.php aangepast en een nieuwe file grapher_cron gemaakt die eens per maand gedraait moet worden.
In de grapher_archiver.sql file staat die structuu van de database die aangemaakt moet worden.

http://www.flexwebhosting.nl/scripts/grapher_archiver.tar.gz

Ijsbox
25/07/05, 16:30
een mooi pakket. ben ermee aan het stoeien, maar kom er niet helemaal uit. heb de tabellen aangemaakt en de bestandjes geinstalleerd. voor de mrtg config gebruik ik het .cfg bestand dat gbgraph ook gebruikt. Nu heb ik 2 probleempjes. Als ik op de prompt measure.php run krijg ik een sloot warnings van php, maar hij maakt wel entries in de database, met traffic info. Dus dat lijkt me niet erg.

Tweede is als ik user.php open en op een poort klik staat er bovenaan: MRTG configuration not found. En verder geen grafiek (alleen pictogram van missend plaatje).
wat ik raar vind omdat ik dus in confuration.php gewoon een mrtg.cfg heb ingevuld bij $config['mrtg']['config']

Heeft iemand een idee waar ik de oplossing hoervoor moet zoeken?

EgoH
26/07/05, 15:05
Als je de error "MRTG configuration not found" krijgt, heb je een verkeerd path naar je mrtg.cfg file opgegeven.

Dit is echter alleen nodig om de mrtg grafieken bij de traffic stats te laten zien. Als je een kruisje krijgt geeft het script waarschijnlijk errors.
Je kan deze errors zichtbaar maken door het plaatje zelf in je browser te openen. (rechterklik url copy/pasten)

paulw
30/06/06, 19:05
Hey allemaal,

Heb grapher al verschillende keren getest en gebruikt, werkte steeds prima. Mooie programma!

Gebruikt op verschillende HP en cisco 2950 switchen.
Nu heb ik het sinds kort draaien op een cisco 2960 en krijg hier verkeerde resultaten ... Werkelijk verbruik ligt een stuk lager dan het verbruik dat grapher aangeeft.

Iemand enig idee wat dit verschil kan veroorzaken? De config van de server die de metingen doet kan het niet zijn, zelfde config als ik vroeger gebruikte en krijg zelfde resultaat van op verschillende meet servers.

Kan dit iets switch gerelateerd zijn?

Armand
02/07/06, 16:53
Voor de mensen die kruisjes krijgen ipv de grafieken, dit komt omdat er dan nog niet genoeg data beschikbaar is.

Heb zelf 3 regels toegevoegd in functions.php
(Heeft er mee te maken dat het script een result gaat zoeken met een SQL query limit 1,0 (waarbij je dus 0 rows uit de tabel selecteerd, wat niet echt opschiet.)



$result = mysql_query ("select count(1) from ".$config['db']['prefix']."_traffic where portid=$portid and month(timestamp)=month(now()) and year(timestamp)=year(now());");
$row = mysql_fetch_row ($result);
$num_measurements = $row[0];

$offset = floor ($num_measurements * 0.05);

#
# 3 Extra regel om toch normaal een grafiekje te genereren bij te weinig data:
#
if( $offset == 0 ) {
$offset = 1;
}


Overigens:
Krijg ik ook een error als ik /etc/mrtg.cfg als mrtg config opgeef :-(Heb mrtg dus maar disabled.