← Terug naar home
ServerScope — VPS Monitoring & Serverbeheer

ServerScope — VPS Monitoring & Serverbeheer

Laravel PHP Server Monitoring VPS API MySQL JavaScript DevOps Python Bash Tailwind CSS Chart.js Vite Linux / systemd REST API Security
ServerScope is een zelfontwikkeld servermonitoringplatform dat is ontworpen om VPS-infrastructuur vanuit één centrale omgeving te beheren, te monitoren en inzichtelijk te maken. Het project combineert een moderne webapplicatie met een backend, een relationele database, een API en een Python-gebaseerde monitoringagent die systeemgegevens kan verzamelen en naar het platform kan versturen. Het doel van ServerScope is om serverbeheerders meer controle en inzicht te geven in hun infrastructuur. In plaats van uitsluitend afhankelijk te zijn van handmatige controles via SSH of losse terminalcommando's, biedt het platform een centrale omgeving waarin servergegevens, meetresultaten en waarschuwingen kunnen worden georganiseerd en geanalyseerd. ServerScope is ontwikkeld met Laravel en PHP, met een database voor het opslaan van servers, agentcredentials, meetgegevens en alertconfiguraties. Daarnaast is een afzonderlijke Python-agent opgezet voor het verzamelen en versturen van monitoringgegevens. De applicatie wordt gehost op een eigen VPS en is gekoppeld aan een productieomgeving met een geconfigureerd domein en HTTPS. Belangrijkste functionaliteiten en onderdelen 1. Centraal monitoringdashboard ServerScope vormt een centrale interface voor het bekijken en beheren van serverinformatie. De applicatie is opgezet om verzamelde monitoringgegevens overzichtelijk te presenteren en gebruikers te helpen inzicht te krijgen in de toestand en prestaties van hun infrastructuur. 2. Serverbeheer en registratie Het platform bevat een databasegestuurde structuur voor servers, inclusief identificatiegegevens, statusinformatie en het moment waarop een server voor het laatst contact heeft gehad. Hierdoor kan serverinformatie centraal worden bijgehouden. 3. Python-monitoringagent Naast de Laravel-webapplicatie is een afzonderlijke Python-agent ontwikkeld. Deze gebruikt onder andere `psutil` voor systeeminformatie en `requests` voor HTTP-communicatie met de backend. De agent is bedoeld om meetgegevens van een server te verzamelen en deze via de API aan ServerScope door te geven. 4. API-integratie en gegevensverwerking De backend bevat API-functionaliteit voor het ontvangen en verwerken van meetgegevens. De verzamelde informatie wordt opgeslagen in de database, zodat metingen beschikbaar blijven voor verdere verwerking en presentatie in het platform. 5. Databasearchitectuur ServerScope gebruikt een relationele database met tabellen voor onder andere servers, agentcredentials, metric samples, alertregels en alerts. De applicatie gebruikt Laravel Eloquent voor databasetoegang en relaties tussen gegevensmodellen. 6. Agentcredentials en toegangsbeheer Het datamodel bevat afzonderlijke agentcredentials met ondersteuning voor gehashte tokens, vervaldatums en intrekking. Dit vormt een belangrijke basis voor het beheren van de toegang van monitoringagents tot de backend, zonder ruwe tokensecrets als gewone modelgegevens beschikbaar te maken. 7. Alertregels en waarschuwingen De database bevat structuren voor alertregels en alerts. Hiermee is een basis gelegd voor het configureren en registreren van waarschuwingen op basis van monitoringgegevens. De precieze detectie- en notificatielogica is afhankelijk van de geïmplementeerde regels in de actuele versie. 8. Productieomgeving en deployment ServerScope wordt gehost op een eigen VPS met een productieconfiguratie op basis van Laravel 13, PHP 8.4 en MariaDB. De applicatie maakt gebruik van omgevingsvariabelen, Laravel-configuratiecaching en een gebouwde frontend. Ook zijn domein- en HTTPS-configuratie onderdeel van de deployment. Technische architectuur - Backend: Laravel 13 en PHP 8.4. - Database: MariaDB/MySQL, met relationele tabellen en Eloquent-modellen. - Monitoringagent: Python, met onder andere `psutil` en `requests`. - API: HTTP-gebaseerde communicatie tussen de monitoringagent en de backend. - Frontend: JavaScript en Vite voor het bouwen van de frontend-assets. - Hosting: Eigen VPS met een productieomgeving en HTTPS. - Versiebeheer: Git en GitHub. Mijn bijdrage Ik heb ServerScope samen met AI ontwikkeld en daarbij gewerkt aan zowel de architectuur als de implementatie. Mijn werkzaamheden omvatten het opzetten en uitbreiden van de Laravel-applicatie, het ontwerpen van databasemodellen en relaties, het verwerken van monitoringgegevens, het opzetten van API-functionaliteit en het ontwikkelen en configureren van de Python-monitoringagent. Daarnaast heb ik gewerkt aan authenticatiegerelateerde structuren voor agentcredentials, de databaseopzet voor alerts, de frontendbuild en de deployment van de applicatie op een eigen VPS. Tijdens de ontwikkeling heb ik ook problemen onderzocht en opgelost rond configuratie, databaseverbindingen, productie-instellingen, frontendbuilds en serverdeployment. Wat ik met dit project heb geleerd ServerScope heeft mijn kennis van backendontwikkeling, API-architectuur, relationele databases, systeemmonitoring, Python, deployment en productiebeheer verder ontwikkeld. Het project brengt verschillende technische disciplines samen in één applicatie en laat zien hoe een webplatform kan worden gecombineerd met een afzonderlijk systeemproces voor het verzamelen van servergegevens. Projectdoel: Een uitbreidbaar platform bouwen waarmee serverinformatie centraal kan worden verzameld, opgeslagen, weergegeven en gebruikt voor monitoring en waarschuwingen.