MySQL Server Monitor (2)

Door AtleX op donderdag 1 mei 2008 12:59 - Reacties (3)
Categorieën: Development & code, Tools, Views: 5.936

Inmiddels is het ruim een week geleden dat ik ik MSM 0.1b2 heb gereleased. In die tijd heb ik wat feedback gekregen en daarom heb ik nog wat verbeteringen aangebracht en bugs gefixt.

Zo heb ik, naar een suggestie van RoadRunner84, de 2 settings die caching controleerden teruggebracht naar 1 enkele instelling, <cachelifetime>. Als die op 0 staat wordt er niet gecached.

Daarnaast heb ik het ophalen van MSM_connectors veranderd. Mijn Atlib PHP library heeft een gave HTTP fetcher ding die geen last heeft van een uitgeschakelde allow_url_fopen instelling. Daarnaast ondersteunt deze Gzip compressie, waardoor MSM_connector 0.1b2 nu minder dataverkeer verbruikt. 0.1b1 verstookt ongeveer 25KB per request, met Gzip aan is dat nog maar ~5KB. Dat bespaart een aanzienlijke hoeveelheid dataverkeer en het ophalen van de data is vanzelfsprekend sneller.

Ook heb ik wat aan de veiligheid gedaan, zo is de docs/ directory nu niet meer te benaderen via een browser. In docs/changelog.txt en /docs/VERSION staat namelijk de versie die geïnstalleerd is. Als er ooit een lek in een versie gevonden wordt kan een hacker deze bestanden gebruiken om te achterhalen welke versie er geïnstalleerd is, en of deze dus kwetsbaar is. Deze methode werkt ook gebruikt bij de massale defacing van phpBB fora een paar jaar terug, en dat is nu dus niet meer mogelijk.

Qua template meuk is er ook wat veranderd. Zo is er binnen een template nu beschikbaar hoeveel tijd het heeft gekost om verbinding te maken met een server en de data op te halen. Op deze manier is het mogelijk om trage servers sneller te herkennen. De standaard template, Winter, geeft daar een voorbeeld van. Een server die er langer over doet dan 500 milliseconden wordt er een waarschuwingsdriehoekje weergegeven in plaats van een groen vinkje.

Daarnaast zijn er natuurlijk ook weleens templates die eigen opties hebben. Zo heeft de Winter template dus een optie wanneer een server als traag wordt beschouwd. Het was eerst niet mogelijk om deze opties mee te geven, maar nu kunnen in de XML file van een template deze opties gespecificeerd worden. Een voorbeeld daarvan staat in www/template/winter/source/winter.xml:

code:
1
2
3
<options>
    <option name="warningTime" value="500"/>
</options>


Deze opties zijn beschikbaar in de template via "$options->Optienaam", bijvoorbeeld "$options->warningTime".

Natuurlijk zaten er ook wat bugs in 0.1b2, en die heb ik ook gefixed (hoop ik :P). Erkens gaf aan dat het verbinden met MySQL op een andere poort of socket niet werkte door een domme fout van mijn kant. Dat is opgelost in zowel MSM als MSM_connector.

Een andere bug werd gemeld door Andries Louw. Hij merkte op dat de traffic counters rondgingen bij 2GB verkeer. Dat kwam omdat ik die data castte naar een integer, en in PHP is een integer 32bits signed. Door te casten naar een float is dat opgelost, zoals "Backup 1" op Andries' MSM installatie laat zien. Deze server pompt er een behoorlijk 130 queries per seconde doorheen en dat gaat natuurlijk gepaard met aardig wat dataverkeer.

Zelf kwam ik ook nog een bug tegen. In de XML file van een template kan aangegeven worden of deze in debug modus gedraaid moet worden. Als die op "true" staat geeft Smarty een mooie popup weer met allemaal debugging informatie wat handig is bij het ontwikkelen van een nieuwe template. Alleen werkt deze instelling niet zo best als caching aanstaat. want dat wordt ook de popup gecached. Daarom is caching nu altijd uitgeschakeld als debugging ingeschakeld is.

http://tweakers.net/ext/f/w0iBoWvs9VFSgJs6Jfqla7QO/thumb.png
Als laatste heb ik een experimentele update checker ingebouwd, die om de 7 dagen controleert of er een nieuwe versie uit is. Als dat zo is wordt er een email gestuurd naar het adres dat in non-www/config.xml is ingesteld.

Geïnteresseerden kunnen MSM 0.1b3 en MSM_connector 0.1b2 downloaden vanaf Sourceforge.net. :)

Volgende: PHP sucks, of toch niet? 05-'08 PHP sucks, of toch niet?
Volgende: RSS feeds voor tweakers.mobi (3) 04-'08 RSS feeds voor tweakers.mobi (3)

Reacties


Door Tweakers user AndriesLouw, donderdag 1 mei 2008 22:42

Wow, die gaan we dus gelijk even uitproberen!

Door Tweakers user AndriesLouw, donderdag 1 mei 2008 23:25

Zo, en alles is geupdate, en werkt weer. Bij het uitpakken op een cPanel server even opletten dat je het mapje msm_connector wel weer chmod naar 755 (na uitpakken is het 777), anders werkt het niet.

Door Tweakers user AndriesLouw, donderdag 1 mei 2008 23:30

Ik blijf dubbelposten, maar ook GZip wil wel eens lastig doen op cPanel servers, vooral als het niet aanstaat op de server zelf. Als het dus niet werkt, verwijder dan de .htaccess uit het mapje msm_connector.

Reageren is niet meer mogelijk