Open source software is een aantrekkelijk alternatief voor prijzige commerciële producten, maar kunnen open source producten ook resultaten leveren die enterprise-waardig zijn? Wij kijken vandaag naar verschillende producten die verrassend goed werken en ook een fijne user interface hebben.

NetXMS

NetXMS draait op Windows en Linux. Wij installeerden versie 2.06 op een Windows server. Het installeren ging erg makkelijk. De stap-voor-stap-wizard spreekt eigenlijk voor zich en er was amper gebruikersinput nodig. Na installatie draait de software als een service en kan alle informatie worden bekeken in een desktop management console genaamd de Workbench. Netwerk monitoring met NetXMS vereist SNMP of NetXMS propriëtaire agents. Het is een geweldig pakket: makkelijk te installeren, een intuïtieve gebruikersinterface en lichtgewicht.

OpenNMS

Wij installeerden versie 18.0.1 op Windows Server 2012. De leverancier waarschuwde wel dat de Windows installatie een beetje tricky was vergeleken met de Linuxversie, maar wij ondervonden geen problemen.

Nadat de dienst was gestart, verbonden wij via de web interface en begonnen wij met het monitoren van de netwerk nodes. Geen fouten, geen problemen. De management interface zat strak en logisch in elkaar. Er waren geen externe agents nodig om standaard monitoring taken uit te voeren op ontdekte of handmatig toegevoegde nodes. OpenNMS is event-gestuurd en events worden weergegeven op een goed leesbaar dashboard.

De robuuste rapportagefunctie gebruikten wij in combinatie met Jasper Reports.

Pandora FMS

Wij installeerden versie 6.0 SP3 op een CentOS Linux server. Het pakket was makkelijk te installeren vanaf een live image. De web interface oogt modern en strak. De informatie is makkelijk te lezen en het welkomstscherm geeft een mooi overzicht van de netwerkstatus met lijsten en open alarmen, het aantal agents en taken. FMS oogt erg volwassen en zit vol handige features. De fabrikant claimt klanten te hebben die 10.000 nodes beheren. Goed schaalbaar dus.

Zabbix

Wij installeerden Zabbix versie 3.2 op een Ubuntu server met een MySQL backend database. De server is beschikbaar voor Linux en Mac, maar niet voor Windows. Agents zijn wel beschikbaar voor Windows en Mac. Zabbix is een robuust netwerk monitoring product met veel mooie features, waaronder gedetailleerde configuratietemplates en aanpasbare dashboards. De agents hebben een kleine footprint (ongeveer 1MB geheugengebruik en minder dan 1% CPU-gebruik). Deze tool kan ook goed overweg met VMware-omgevingen dankzij speciale parameters als cluster status en hypervisor performance metrics. De online gebruikershandleiding kan ook lokaal worden opgeslagen als PDF.

Cacti

Cacti is een LAMP/WAMP (Linux/Windows, Apache, MySQL, and Perl/PHP/Python) applicatie die een compleet diagrammodel biedt voor vrijwel elke soort gegevens. In een aantal van mijn geavanceerdere Cacti-installaties verzamel ik gegevens over uiteenlopende zaken, zoals de temperatuur van terugkomende vloeistof in koelingseenheden van gegevenscentra, vrije ruimte op opslagvolumes, en FLEXIm licentiegebruik. Apparaten of diensten die numerieke gegevens terugsturen, kunnen hoogstwaarschijnlijk in Cacti worden geïntegreerd. Er zijn templates voor het in de gaten houden van een breed spectrum aan apparaten, van Linux- en Windowsservers tot Ciscorouters en -switches; feitelijk alles dat met SNMP werkt. Er zijn ook verzamelingen templates van derden voor een nog grotere hoeveelheid hardware en software. Ik heb verscheidene gegevenstemplates voor Cacti geschreven die gedownload kunnen worden op de website van het project, waaronder de FLEXlm monitoring code.

Cacti is zeer goed geschreven, goed gepresenteerd, en onbegrensd aan te passen. Er is werkelijk geen enkele vergelijkbare tool - niet in de open source, en niet in de commerciële wereld.

Nagios

Net als bij Cacti is er een zeer actieve gemeenschap die Nagios ondersteunt en er zijn plugins voor een enorme hoeveelheid hardware en software. Je kunt constant de status van servers, diensten, en netwerklinks in de gaten houden met tal van tools, van elementaire pingtests tot integratie met bijvoorbeeld WebInject. Eigenlijk alles dat werkt met IP. Ik gebruik Nagios om toezicht te houden op de schijfruimte op servers, RAM- en CPU-gebruik, FLEXIm licentiegebruik, serveruitlaattemperaturen, en WAN- en Internet linkwachttijd. Ik gebruik het zelfs om ervoor te zorgen dat servers niet alleen http-verzoeken beantwoorden, maar ook dat ze de verwachte pagina's teruggeven en dat ze niet gehijacked zijn.

Nagios heeft een volledige email/SMS-meldingsengine en een escalatielayout die kan worden gebruikt om intelligente beslissingen te nemen over wie er wanneer moet worden ingelicht. Dit is iets wat je, indien het op de juiste manier wordt gebruikt, veel kopzorgen kan schelen. Daarnaast heb ik Nagiosmeldingen in Jabber geïntegreerd, dus zodra er een uitzondering optreedt krijg ik een berichtje van Nagios met details over het probleem. De Web-GUI kan worden gebruikt om snel meldingen te staken of problemen te herkennen zodra ze optreden, en het kan zelfs notities opslaan die door admins zijn ingevoerd.

En alsof dit nog niet genoeg is is er een functie die alle bewaakte apparaten in kaart brengt in een logische representatie van hun plaats in het netwerk, met kleurcodering om opgetreden problemen te laten zien.

Maar laat je niet ontmoedigen door de complexiteit - Nagios heeft mij vaker dan ik me überhaupt kan herinneren uit de penarie gehaald. De vroege waarschuwingssystemen die deze tool levert voor ontelbare aspecten van het netwerk, mogen niet worden onderschat. Het is zeer zeker de tijdsinvestering waard. Ik heb verschillende Nagios plugins geschreven, waaronder één die een breed scala aan APC-hardware in de gaten houdt, en ze hebben zich dubbel en dwars terugbetaald.

NeDi

Als je ooit een apparaat op je netwerk hebt moeten zoeken door te telnetten naar switches en door Mac-adreslookups te doen, of als je gewoon wilt kunnen zien waar een bepaald apparaat zich fysiek bevindt (of, misschien nog belangrijker, waar het zich bevond), dan zou je eens moeten kijken naar NeDi.

NeDi is een LAMP-applicatie die regelmatig het MAC-adres en de ARP-tabellen van de netwerkswitches doorloopt, waarbij elk apparaat dat het tegenkomt wordt opgeslagen in een lokale database. Je kunt dan inloggen in de NeDi Web-GUI en zoekopdrachten uitvoeren om de switch en de poort van welk apparaat dan ook te bepalen aan de hand van het MAC-adres, IP-adres, of de DNS-naam.

Bovendien verzamelt NeDi zo veel mogelijk informatie van elk netwerk dat het tegenkomt, waaronder serienummers, firmware- en softwareversies, huidige temps, moduleconfiguraties enzovoorts. Je kunt NeDi zelfs gebruiken om MAC-adressen of apparaten die verdwenen of gestolen zijn te markeren, en NeDi zal in de gaten houden of ze weer op het netwerk verschijnen.

De configuratie is rechttoe rechtaan, met één enkel config-bestand dat een aanzienlijke hoeveelheid personalisering toelaat, waaronder de mogelijkheid om apparaten over te slaan op basis van reguliere expressies of netwerkgrensdefinities. Je kunt zelfs seedinglijsten van apparaten bijvoegen om te zien of het netwerk gescheiden wordt door onontdekbare grenzen, zoals het geval is bij een MPLS-netwerk. NeDi maakt over het algemeen gebruik van het Cisco Discovery Protocol of het Link Layer Discovery Protocol, waarbij nieuwe switches en routers worden ontdekt terwijl het het netwerk doorloopt en verbinding maakt met alle apparaten om hun gegevens te verzamelen. Zodra de aanvankelijke configuratie bepaald is worden nieuwe apparaten vrij snel gevonden en draait het op vaste intervallen.

NeDi kan ook tot op zekere hoogte met Cacti worden geïntegreerd, en als het aan een functionele Cacti-installatie wordt gepresenteerd met de waarmerkingskenmerken zullen nieuw ontdekte apparaten met de gerelateerde diagrammen van Cacti worden gelinkt voor dat apparaat.

Ntop

Ntop is een eersteklas monitor voor netwerkverkeer, gekoppeld aan een snelle en eenvoudige web interface. Het programma, dat werd ontwikkeld door de Italiaan Luca Deri, is geschreven in C en volledig zelfstandig aangedreven: je draait een enkel proces om een specifieke netwerkinterface in de gaten te houden, en dat is eigenlijk alles wat Ntop doet.

Het programma biedt diverse statistieken en grafieken die het netwerkverkeer in beeld brengen, waaronder het protocol, bron, bestemming, hosts en de geschiedenis van specifieke transacties. Ntop maakt hierbij gebruik van RRDTool, waardoor de informatie op een uitgebreide maar duidelijke manier in beeld komt.

De belangrijkste taak van Ntop is het gedetailleerd observeren en analyseren van een specifiek netwerkonderdeel, een functie die bijvoorbeeld in het eerder genoemde Cacti ontbreekt. Hoewel het programma verder enigszins beperkt is vergeleken met andere netwerkmonitoren, is dit een essentiële functionaliteit.

Snort

Snort is een geautomatiseerd systeem dat ongeautoriseerde toegang tot een netwerk detecteert. Hoewel de tool ondertussen is doorontwikkeld tot een commercieel programma, is de open source versie nog steeds verkrijgbaar. Zowel de commerciële als de open source versie is een uitstekende hulp om het verkeer binnen een netwerk in de gaten te houden.

Wanneer Snort gekoppeld wordt aan de BASE-interface wordt het echter nóg interessanter. Met behulp van MySQL kan BASE overzichten maken van onregelmatigheden binnen het netwerkverkeer, gebaseerd op IP-adressen, TCP of UDP-poortnummers en verschillende soorten waarschuwingen. Bovendien kunnen verschillende Snort-sensoren in het netwerk geïnstalleerd worden, zodat BASE rapporten kan maken van één of meerdere van deze sensoren.

Zoals gezegd is Snort (weliswaar na registratie) gratis te downloaden. Regelmatig worden updates uitgegeven die eenvoudig kunnen worden geïnstalleerd. En natuurlijk bestaat er altijd de mogelijkheid om tussentijds over te stappen op de commerciële versie.