ITIL (Information Technology Infrastructure Library) is in het laatste decennium van de vorige eeuw uitgegroeid tot een set van wel 30 flinke boekwerken. De laatste versie is geconsolideerd tot vijf delen en ook al weer een paar jaar oud. Deze ITIL v3 beschrijft de IT-processen en taken op een branche- en bedrijfsonafhankelijke manier. Om IT-diensten te ondersteunen is een ITIL-applicatie erg handig en bij enterprises zelfs noodzakelijk. We introduceren de community open source-versie iTop, van het Franse Combodo.

ITIL lijkt misschien een concept, dat gericht is op grote organisaties; immers hoe omvangrijker de IT-infrastructuur, des te groter de IT-afdeling en des te complexer de IT-processen zijn. Dat is niet helemaal waar, want zelfs bij een klein bedrijf (25-200 medewerkers) is het handig om te weten welke hardware de medewerkers gebruiken, welke applicaties gebruikt worden en welke storingen er voorkomen. Zelfs als je als ZZP’er werkt en verschillende kleine bedrijven met IT helpt, is iTop zinvol om de IT-omgeving per bedrijf vast te leggen. iTop helpt je bij het structureren, managen en vooral grondig documenteren van de IT-services van een bedrijf of van meerdere bedrijven.

LAMP

iTop draait op de LAMP stack, maar ook op Windows met Apache of IIS als je dat wilt, dus WAMP of WIMP mag ook. MySQL en PHP zijn noodzakelijk. Installatie van de lamp-server^ is niet voldoende, want je mist dan relevante modules van PHP. Op actuele versies van Mint of Ubuntu installeer je het AMP-trio met:

***  ***

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php php-mysql php-ldap php-mcrypt php-cli php-soap php-json graphviz
sudo apt-get install php-xml php-gd php-zip libapache2-mod-php

***  ***

Na een herstart van de webserver met sudo service apache2 restart is je LAMP-omgeving in orde. iTop draait overigens ook op de Raspberry Pi. MySQL, Apache en PHP draaien goed en zelfs voor een bedrijf met 20 tot 100 medewerkers is de performance op de RPi voldoende. Dat komt omdat deze gebruikers nooit simultaan helpdesk tickets indienen of hun assets bekijken. Voor iTop is een serverversie van Linux voldoende: een grafische omgeving is dus niet nodig. De grafische omgeving kun je uitschakelen voor een nog betere performance.  Je moet op de RPi overigens wel php5 installeren met apt-get en niet php.

Download

Je downloadt iTop van sourceforge op https://sourceforge.net/projects/itop/. Het zip-bestand van de onlangs in december uitgebrachte versie 2.3.3 is slechts 11MB groot. Unzip het bestand en kopieer de inhoud van de directory web naar /var/www/html (of naar een aparte directory in een pad dat door de webserver gevonden wordt). Sommige directories moeten schrijfbaar zijn, zodat iTop draait. Met een sudo chown -R www-data /var/www/html maak je de rechten in orde.

Configuratie

Vervolgens configureer je iTop door remote de website te openen: http://hostnaamvanjeserver. Je doorloopt een korte webgebaseerde procedure, waarin je voor een nieuwe installatie of een upgrade kiest, akkoord gaat met de open source licentievoorwaarden (de meeste onderdelen zijn van MIT), verbinding legt met de MySQL database, een beheeraccount aanmaakt voor iTop en de taal kiest. Kies voor de versie voor IT-afdelingen van bedrijven of voor de versie voor serviceproviders met meerdere klanten. Daarna volgen wat keuzes, die te maken hebben met welke modules en welke variant daarvan je wenst te gebruiken. Je kiest een vereenvoudigde of een ITIL-georiënteerde ticket management module en/of change management module, problem management en dergelijke. Daarna wordt de omgeving in een minuut gecreëerd en ben je meteen ingelogd om te starten.

Basisinrichting

Je begint met het invoeren van de betrokken organisaties. Dit is in de breedste zin van het woord: het is je eigen bedrijf, de relevante afdelingen daarbinnen (of vestigingen) en de leveranciers van IT hardware, software en ondersteuning. Al deze organisaties voer je in iTop in. Is er een relatie, dan koppel je een organisatie als parent boven een andere. Daarna voer je de leverancierscontracten in. Een leverancier werkt voor de organisatie. Je definieert een contractvorm voor de leverancier (bijvoorbeeld software-onderhoud) met als contractnaam ERP-onderhoud. Wellicht heeft een organisatie zelf ook klanten. Het is goed mogelijk dat een afdeling een applicatie host en deze aanbiedt aan een andere vestiging binnen het bedrijf. Je voegt dan klantencontracten toe.

Definieer de diensten, die gekoppeld worden aan organisaties, zoals bijvoorbeeld Office-support of Hardware-support. De servicecatalogus bevat alle diensten, die een leveranciersorganisatie levert. Je koppelt de services aan een organisatie. Klantcontracten leggen vast welke klant(organisaties) diensten afnemen bij leverancier(organisaties). Definieer een contract per leverancier en koppel hier de eerder ingevulde services aan. Voer nu de contacten in, die deel uitmaken van je IT-supportgroep (ook als het een enkeling is). Werken meerdere personen samen? Maak er dan een team van met de losse contacten als lid. Later voer je ook medewerkers van het bedrijf en van leveranciers als contact in. Nu is het zaak om het Delivery Model te definiëren. Het delivery model legt vast welke IT-medewerkers of groepen medewerkers, die ondersteuning verlenen, voor een klant werken. Elke klant moet een delivery model hebben. Aan een delivery model mogen meerdere IT-teams gekoppeld worden.

CMDB

Het net beschreven definiëren van de basisinrichting is zonder meer het meest complexe onderdeel. Het in gebruik nemen van de CMDB is daarna kinderspel en de database wordt geleidelijk gevuld, bijvoorbeeld door een asset op te voeren op het moment dat een medewerker de helpdesk belt. Je voert dan ook meteen de medewerker in, als je die niet vooraf hebt ingevoerd of geïmporteerd. Behalve dat je alle relevante kenmerken van servers, netwerkapparatuur, software en meer registreert, leg je ook links tussen de onderdelen. Zo koppel je een server aan een switch, de hypervisor aan de server, de VM’s aan de hypervisor en de serverapplicaties als een database of webservice weer aan de betreffende VM’s.

Wil je de relaties zien? Als je in iTop een component opent, maak je een impactanalyse of een depends-on analyse. In het eerste geval toont iTop je welke andere componenten verstoord worden bij problemen met de geopende component. In het tweede geval toont iTop van welke andere componenten de geopende component afhankelijk is. Als een switch uitvalt, zie je in een oogopslag welke diensten er uit de lucht gaan. Het leuke is dat iTop de relaties grafisch weergeeft, waardoor je heel snel ziet wat de gevolgen van een aankomende storing zijn. Hiervoor wordt graphviz gebruikt, met name /usr/bin/dot is hiervoor noodzakelijk.

Zonder aanvullende (open source) software is de CMDB vullen en onderhouden handwerk. Daar hoeft niets op tegen te zijn. Het vergt echter enige discipline, maar de voordelen in efficiency betalen zich snel terug.

Servicedesk

De helpdesk-module is eveneens erg eenvoudig in te voeren. Als je de module opent, wordt er een dashboard getoond met openstaande calls, een weekoverzicht en dergelijke. Om een nieuwe call in te boeken, kies je de organisatie en de persoon, die het meldt en hoe hij of zij het meldt (per mail, telefoon enzovoort). Is de organisatie of persoon nog niet bekend, dan zijn die op dit moment gewoon in te voeren. Geef de call een verplichte titel en een omschrijving, geef aan of het een incident of service request betreft, de impact (een afdeling, service of persoon) en urgency (low, high en meer). Assign de call toe aan een team, vul work orders in, koppel de call aan CI’s uit de CMDB of hang er attachments aan. Werk je liever met Nederlandse termen? Elke gebruiker stelt zijn eigen taal in voor de bediening. Op de website van Combodo vind je scripts om calls te melden met bijvoorbeeld Python- of Perl-scripts. Hiermee zijn servers of applicaties in staat zelf calls in te dienen bij aankomende potentiële problemen.

Gebruikers

Nu we het toch hebben over gebruikers, er zijn twee typen gebruikers te definiëren. De eerste groep zijn de gebruikers, die bij de IT-support teams horen en in iTop moeten editen en werken. Je geeft medewerkers een account en kent ze daarna één of meerdere profielen toe. Elk profiel legt rechten vast in iTop, die horen bij het profiel (de rol). De som van de rechten is te lezen in een uitgebreide matrix.

De tweede groep gebruikers zijn lid van het profiel Portal Users en is bedoeld voor eindgebruikers in je organisatie. Als een dergelijke gebruiker naar de homepage van je iTop-site gaat en inlogt, ziet hij een strak vormgegeven applicatie. De eindgebruiker ziet op deze plek alleen zijn eigen open calls en de status. Verder heeft de gebruiker de mogelijkheid om nieuwe calls in te dienen. De portals is zelfs mobile-aware en schaalt de lay-out afhankelijk van het device van de gebruiker.

Meer modules

Behalve de CMDB-module en de helpdesk-module, heeft iTop een problem management module, een knowledge base en een change management module. We behandelen dit niet in dit artikel, maar de modules maken deel uit van de totale ITIL-suite.

 

Backups

De tool msqlbackup (onderdeel van MySQL) wordt gebruikt om de data uit je database te backuppen. Dit kan handmatig vanuit de GUI van de software. Elke backup is een zip-bestand, standaard in /var/www/html/data/backups en deze bevinden zich op de server. Door de directory te linken naar een fileserver of via een mount te verplaatsen naar een NAS, is je reservekopie veiliggesteld. Het terugzetten van een backup werkt eveneens simpel via de GUI. Restore je de database echter op een systeem met een andere hostnaam of IP-adres, dan werkt iTop niet correct meer. Alle links, die worden gegenereerd in de GUI, wijzen naar de oorspronkelijke server. Je past de URL met hostnaam of IP-adres aan in /var/www/html/conf/production/config-itop.php. Restore je op een andere database, dan pas je hier tevens de database inloggegevens aan. Automatische backups zijn mogelijk, want er wordt een script bijgeleverd. Je voegt een regel toe in crontab, waarna de backup elke avond om half 12 draait:

*** ***

*/5 * * * * root /usr/bin/php /var/www/html/itop/webservices/cron.php –param_file=/etc/itop/params >>/var/log/itop-cron.log 2>&1

*** ***

Het verplaatsen van een database van de ene naar de andere server, is wat lastiger. Dat gaat verder dan alleen een backup terugzetten en databasenamen aanpassen. Zeker als de geïnstalleerde versie van iTop een nieuwere versie is of als je extensions gebruikt (zie verderop).

Stapsgewijs invoeren

Het aardige is dat het mogelijk is om iTop ook in stapjes in te voeren, dus per module. Je begint met je CMDB en/of de helpdeskmodule, voegt er later incidentbeheer aan toe en maakt tot slot de stap naar problem management en/of change management. Daarna ga je optioneel aan de slag met integratie met bijvoorbeeld een LDAP-server (ook Active Directory), inventory tools als FusionInventory en OCSng of monitoring systemen als Nagios. Het systeem is bovendien uit te breiden met extensions. Er zijn er een stuk of 15, maar als je handig bent, kun je je eigen extensions bouwen. iTop en de API zijn voldoende gedocumenteerd.

Thuis

Nu denk je wellicht: ITIL en servicemanagement zijn iets zakelijks. Zelfs thuis kan iTop je helpen. Leg met de CMDB-module je tientallen devices op het thuisnetwerk vast, met serienummers, merken, onderlinge relaties, login-namen en wachtwoorden van de devices en bij de leveranciers, software/firmware-versies, contactgegevens van je provider, abonnementnummers, etcetera. Op elk moment zie je wanneer de iPhone van je dochter of je eigen laptop wanneer de devices zijn aangeschaft en uit de garantie gaan. Je draadloze printer, je kabelmodel/router, mediabox en extra access points zijn gedocumenteerd, net als die van de buren en familieleden als je dat wilt. Of slaan we dan een beetje door? 

Tot slot

Er zijn tientallen andere open source oplossingen voor IT servicemanagement, zoals GLPI, OTRS, CMDBuild, ]po[ ITSM en I-doit, maar iTop springt er positief bovenuit en kan zich meten met kostbare commerciële producten. Overigens biedt Combodo naast de open source community versie van iTop ook enkele commerciële varianten met extra features. Maar waar bij veel andere community producten van open source ontwikkelaars, relevante functionaliteit is gestript en de open source versie als reclameproduct of evaluatieproduct wordt gebruikt, is de iTop community edition een volwaardig bruikbaar product.  

Lezers van Linux Magazine vragen regelmatig om “vergelijkende warenonderzoeken” van open source tools. Vergelijken van producten is veelal erg complex en daardoor erg arbeidsintensief, maar als iemand zich geroepen voelt om deze en andere ITIL-producten te vergelijken: laat het ons weten! Werkt jouw bedrijf met open source of Linux-gebaseerde ITIL-tools? Ook dat horen we graag van je.

Links:

]po[ ITSM – http://www.project-open.com/en/solutions/itsm

CMDBuild – http://www.cmdbuild.org

FusionInventory – http://fusioninventory.org/

GLPI – http://glpi-project.org

Graphviz – http://www.graphviz.org

I-doit – https://www.i-doit.org

ITIL – https://en.wikipedia.org/wiki/ITIL

iTop – http://www.combodo.com/itop

Nagios – https://www.nagios.org

OTRS – https://www.otrs.com/otrs-free-help-desk