Om computers, servers en netwerken te monitoren zijn niet altijd commerciële oplossingen nodig. Kleine freeware tools en complete open source monitoring oplossingen zijn hier ook toe in staat. Wij presenteren enkele nuttige tools.
Netwerken, servers en computers kunnen ook worden gemonitord met freeware en open source tools. Vooral open source-tools bieden vaak vrij uitgebreide mogelijkheden, die vaak niet onderdoen voor commerciële oplossingen. We laten ook zien hoe servers met Windows Server 2016 en Windows Server 2019 kunnen worden gemonitord via dergelijke tools en SNMP.
Servermonitoring met Cacti
Cacti is een open source RRD-tool dat aangesloten servers monitort en grafische evaluaties biedt. De gegevens worden opgeslagen in een MySQL database. Dit wordt automatisch geïnstalleerd wanneer de Cacti server wordt geïnstalleerd en ingesteld. De frontend is gebaseerd op PHP.
Cacti kan grafieken, gegevensbronnen en Round Robin-archieven in een database bijhouden, en ook de nodige gegevens verzamelen. SNMP kan ook worden gebruikt met Cacti. Zo kunnen bijvoorbeeld ook Windows-servers worden aangesloten.
Om gegevens van aangesloten computers te verzamelen, kan Cacti ook externe scripts gebruiken die op de server beschikbaar zijn. Cacti verzamelt gegevens in een cron-job en slaat de informatie op in de reeds genoemde MySQL-database.
Naast complexe scripts kunnen ook eenvoudige monitoringfuncties, zoals pingtijden naar een host, grafisch worden weergegeven. Beheerders kunnen bijvoorbeeld een gegevensbron aanmaken, een host pingen en bepalen wanneer en hoe vaak de host moet worden gepingd. Wanneer gegevensbronnen zijn gedefinieerd, kan daarvoor een grafische evaluatie worden gemaakt. Cacti kan veel RRDTool diagrammen maken.
Om rechten te beheren in Cacti, kunnen beheerders gebruikers toevoegen en hen rechten geven op specifieke gebieden. Individuele gebruikers mogen bijvoorbeeld gegevensbronnen toevoegen, terwijl anderen alleen grafieken mogen bekijken.
Cacti ondersteunt ook sjablonen die kunnen worden gebruikt om een groot aantal gegevensbronnen en grafieken te integreren. Host sjablonen laten u toe te definiëren welke informatie moet opgehaald worden van een host. Bovendien kan Cacti worden uitgebreid met plugins uit de community.
Cacti in de praktijk
Om Cacti op een Linux-server op basis van Debian of Ubuntu te installeren, wordt het volgende commando gebruikt:
Op Red Hat- of CentOS-systemen wordt de installatie gedaan met:
Als onderdeel van de setup wordt ook de webserver geconfigureerd. Apache kan hier echter ook worden gebruikt. Na de installatie wordt de webinterface opgeroepen met het adres https:///cacti. De gebruikersnaam voor de eerste login is “admin”, het wachtwoord wordt opgegeven tijdens de installatie.
Clients verbinden met Cacti: SNMP gebruiken
Om clients met Cacti te verbinden voor monitoring, kan bijvoorbeeld SNMP worden gebruikt. Daartoe moet eerst SNMP worden ingesteld op de overeenkomstige client, zodat Cacti en andere monitoringtools gegevens kunnen uitlezen. In Windows moeten hiervoor de functie “SNMP service” en “WMI SNMP provider” geïnstalleerd zijn. Uiteraard gelden de instellingen niet alleen voor Cacti, maar ook voor andere tools die via SNMP gegevens van een server lezen.
Installeren van SNMP in Windows Server 2016/2019 gebeurt bijvoorbeeld via de Server Manager, het Windows Admin Center of PowerShell. Na de installatie moet worden nagegaan of de “SNMP service” op de server beschikbaar en gestart is. Indien nodig kunnen dan verdere instellingen voor SNMP worden gemaakt in de eigenschappen van de dienst. Het is belangrijk dat ofwel SNMP-berichten van alle hosts worden aanvaard op het tabblad “Security” of dat het IP-adres van de Cacti-server hier wordt opgeslagen.
Na wijzigingen aan SNMP moet de dienst opnieuw worden opgestart. Voor samenwerking met Cacti is het ook nuttig om de systeemdienst “SNMP-Trap” te starten. De taken van de services worden vrij goed uitgelegd in de beschrijvingen.
Verbinden van apparaten met Cacti
Om SNMP apparaten met Cacti te verbinden, wordt het menu item “Devices” opgeroepen in de interface. Hier kan een nieuwe SNMP client worden aangesloten via het plusteken of het commando “Add”. De naam van de te bewaken server wordt ingevoerd onder “Description” (Beschrijving), het IP-adres onder “Hostname” (Hostnaam) of de servernaam als de naamresolutie correct is geconfigureerd.
In dit voorbeeld kan onder “Device Template” (Apparaatsjabloon) de optie “Generic SNMP Device” (Algemeen SNMP-apparaat) worden geselecteerd en onder “SNMP Version” (SNMP-versie) de optie “Version 2” (Versie 2). Voor “SNMP Community” wordt de gemeenschap ingevoerd die is ingevoerd in de eigenschappen van de SNMP service op de server. Het apparaat wordt opgeslagen met “Create”. De succesvolle verbinding van de server met Cacti zou dan in het bovenste deel van het venster moeten worden weergegeven.
In het onderste deel van het venster kan de gewenste informatie worden geselecteerd en toegevoegd onder “Associated Graph Templates” (Gekoppelde grafieksjablonen) en “Associated Data Queries” (Gekoppelde gegevensquery’s). Verdere gegevens kunnen worden toegevoegd met “Toevoegen”. Opslaan” slaat de instellingen op.
Freeware SolarWinds Server Health Monitor
De Solwarwinds Server Health Monitor kan tot vijf servers gratis monitoren. Deze tool kan ook gegevens uitlezen via SNMP en is daarom een goede aanvulling op Cacti.
De tool is zeer snel geïnstalleerd en is daarna direct klaar voor gebruik. Na de start kunnen servers worden toegevoegd. Daartoe wordt het menu-item “Configure” opgeroepen. Naast SNMP kan Server Health Monitor ook WMI gebruiken of VMware VM’s bevragen.
Serverbewaking met Collectd en Ganglia
Collectd is ook een van de bekendere tools als het gaat om het bewaken van computers in het netwerk met open source. Het instrument wordt hoofdzakelijk op Linux-servers geïnstalleerd. Windows-servers kunnen echter ook worden gemonitord.
Het open-sourcetool Ganglia is bijzonder nuttig voor HPC en kan clusters tot 2.000 nodes monitoren. De setup is rechttoe rechtaan, maar vergt enige tijd gezien de complexiteit van HPC-clusters.