Hoofdinhoud

Webspace controle koppeling (Stage opdracht)

Dit project is een geautomatiseerde monitoringtool die via diverse API-koppelingen het webruimtegebruik van projecten op webservers bijhoudt en analyseert.

digifactory office systeem

Tijdens mijn stage heb ik een tool gemaakt binnen ons officesysteem, waarin alle projecten worden bijgehouden. Dit systeem houdt bijvoorbeeld ook softwareversies, errors en andere belangrijke data van projecten bij. Mijn tool controleert automatisch het gebruik van webspace op servers en maakt bij overschrijding direct een melding en taak aan voor opvolging.

Stageopdracht DigiFactory

Ontwikkeling monitoringtool

Tijdens mijn stage heb ik een tool gebouwd die automatisch controleert hoeveel schijfruimte alle projecten op onze webservers gebruiken. Dit doe ik via API-koppelingen met de servers. Elke dag haalt de tool op welke projecten er draaien en hoeveel ruimte ze gebruiken. Daarna wordt dat vergeleken met limieten die we zekf kunnen instellen. Als een project te veel ruimte gebruikt, maakt de tool automatisch een taak aan in Teamleader voor de toegewezen persoon, zodat die het kan opvolgen. Zo hoeven we het niet meer handmatig te controleren en weten we zeker dat we klanten op tijd kunnen waarschuwen (of extra kosten kunnen doorberekenen als dat nodig is).

 

Hoe het werkt

Ik heb de tool gebouwd in PHP(Laravel) en gebruik verschillende API’s van de servers om informatie op te halen, zoals schijfruimte en op welke server een project staat. Ook haal ik de PHP-versie van elk project op, zodat we in de gaten kunnen houden of alles nog op een veilige en ondersteunde versie draait. De projecten haal ik op uit GitLab, zodat we altijd met de nieuwste info werken.

 

functies van de tool

Je kunt nu filteren in de projectenlijst op servers. Ook staat er nu op de projectenlijst een donutchart waarmee je in een oogopslag kan zien hoevol de schijfruimte zit. In de detail pagina van een project laat een grafiek zien wat het verbruik over tijd is, zodat je groei goed kunt volgen. Ook word daar laten zien wat het limiet is en de geschiedenis daarvan, dit weergegeven in een tabel. Het limiet kan hier ook aangepast worden. Zodra de tool constateert dat het limiet is overschreden verstuurt het automatisch een taak naar teamleader voor de aangewezen persoon. Als er al een taak is aangemaakt voor een bepaald probleem, wordt er geen dubbele taak aangemaakt — dat heb ik opgelost met slimme logica die taken controleert. Deze taak word ook automatisch ingeplant in de agenda van deze persoon, hierachter zit ook veel logica om te checken waar plek vrij is in de agenda en wanneer bijvoorbeeld pauzes en vrijedagen zijn van deze persoon.


Waarom kreeg ik deze opdracht

Bij veel projecten merk je pas te laat dat ze te veel ruimte gebruiken. Door deze tool hebben we dat nu veel eerder door. Dat bespaart tijd én voorkomt problemen met volle servers. Bovendien helpt het ons om klanten eerlijk te kunnen factureren als ze buiten hun limiet gaan.

Talen die ik dit project heb gebruikt.

html5 icon

html

sass icon

sass

javascript icon

javascript

laravel icon

laravel

sql icon

sql