# ITop

iTop (IT Operational Portal) ist eine modulare, webbasierte Software zur Unterstützung des IT-Betriebs im Sinne eines IT-Service-Managements. Das System beinhaltet eine Configuration Management Database (CMDB), auf deren Informationen in weiteren Systemmodulen für den Helpdesk bzw. für nachgelagerte Prozesse wie das Problem-Management oder das Change Management zurückgegriffen wird. iTop ist freie Software und steht unter der GNU Affero General Public License (AGPL).

## Allgemeines

Kern von iTop ist eine CMDB, die ein logisches Abbild aller für den Betrieb der IT-Infrastruktur erforderlichen Elemente, der sogenannten Configuration Items (kurz: CIs), und ihrer Verknüpfungen zur Verfügung stellt. Die gespeicherten Informationen umfassen alle klassischen IT-Komponenten wie Server, PCs, Software oder Netzwerk, aber auch Personen, Teams, Verträge, Services, Dokumente oder Service-Level-Agreements. Diese werden in den jeweiligen weiteren Systemmodulen zur Unterstützung verwendet. iTop kann allerdings auch ohne CMDB als Ticket-System verwendet werden.
iTop ist webbasiert, vollständig Open Source und modular aufgebaut. Die CMDB stellt modul- und systemübergreifende Grundfunktionalitäten bereit, alle weiteren Module sind optional. iTop ist nach dem Model-View-Controller-Paradigma programmiert und daher ohne Programmierung und lediglich durch Umkonfiguration sehr weitgehend an eigene Anforderungen anpassbar.

## Historie

iTop wurde von Mitarbeitern des Technologiekonzerns Hewlett-Packard in Frankreich zunächst intern für Projekte im IT-Service-Geschäft verwendet. Die Autoren erstellten 2009 einen kompletten Rewrite und veröffentlichten ihn als Open-Source-Software. 2010 verließen sie HP und gründeten die Firma Combodo SARL mit Sitz in Grenoble, die seither die Weiterentwicklung von iTop betreibt und vornehmlich Trainings-, Support- und Programmierleistungen für iTop anbietet.
Durch den Rewrite ist iTop weitestgehend frei von Altlasten und orientiert sich bereits in seiner Architektur an zum Rewrite-Zeitpunkt aktuellen fachlichen und technischen Standards und Best practices, insbesondere dem IT-Service-Management und Oberflächentechnologie des Web 2.0.

## Verbreitung

iTop wurde seit seiner Veröffentlichung als Open-Source-Software 2009 über 500.000-mal heruntergeladen (Stand: September 2020), wobei monatlich ca. 5.000 neue Downloads hinzukommen. Zu den Anwendern von iTop im Unternehmenskontext zählen laut Angaben von Hersteller Combodo und seinen Partnern die Deutsche Bahn der Flugzeughersteller Airbus, der Baustoffkonzern Saint-Gobain, die Kreditkartenfirma Visa und die Agrarmarkt Austria. Der größte professionelle iTop-Anwender in Deutschland ist die Max-Planck-Gesellschaft, die etwa 16.000 CIs aus über 80 Max-Planck-Instituten in der CMDB verwaltet.

## Versionen, Module und Funktionalitäten

iTop ist vollständig modular aufgebaut und erlaubt sowohl Aus- und Abwahl als auch Vorkonfiguration von Modulen während des Installationsprozesses. Mit eigenen Modulen lässt sich das System zudem ergänzen. Combodo stellt selbst einige Zusatzmodule als Open-Source-Software zur Verfügung, insbesondere für Erweiterungen der Ticketing-Funktionalitäten und für IP-Adress-Management.
Combodo bietet aufbauend auf der öffentlich verfügbaren Community-Version auch die Versionen iTop Essential und iTop Professional an. Diese ergänzen die Community-Version um verschiedene Zusatzfeatures insbesondere aus dem Ticketing-Bereich, wobei u. a. die bereits genannten Zusatzmodule zum Einsatz kommen. Ein sogenanntes „Plus Paket“ kann iTop optional um weitere Features zu iTop Plus, iTop Essential Plus bzw. iTop Professional Plus erweitern. iTop Professional Plus wurde von einem unabhängigen Beratungshaus als ITIL-konform zertifiziert. Dabei wurde die Version iTop Professional Plus für 15 ITIL Prozesse (von 18 möglichen) zertifiziert.
Auch diese Versionen stehen unter Open-Source-Lizenzen, werden aber nur im Rahmen von Supportvereinbarungen zur Verfügung gestellt. In diesem Zusammenhang bietet Combodo auch ein webbasiertes Tool namens ITSM Designer, das eine GUI für das Customizing von iTop bietet.
Die Grundmodule, die im Lieferumfang von iTop beim Download von der Sourceforge-Projektseite enthalten sind, werden im Folgenden kurz inhaltlich beschrieben. Eine ausführliche Dokumentation ist in englischer Sprache im Wiki von iTop verfügbar.
Im Oktober 2022 gab der Hersteller bekannt, dass es eine SaaS Version gibt.

### Configuration Management

Dieses Modul stellt eine CMDB und Kernfunktionalitäten des iTop-Systems bereit. In der CMDB werden typische IT-Komponenten wie Soft- und Hardware, aber auch Personen, Teams und Dokumente, sowie organisatorische Informationen wie Mandanten oder Gebäude verwaltet. Abgedeckt werden insbesondere die Bereiche Rechenzentrum und Hosting (Server, Racks, Stromversorgungen etc.), Endbenutzergeräte (Telefonie, Tablets, Smartphones, PCs), Virtualisierung (Hosts, virtuelle Maschinen, Hypervisoren) und Storage. Je nach installierten weiteren Standard-Modulen wird die CMDB um weitere Objekttypen und -beziehungen erweitert, z. B. Services, SLAs und Verträge.
Pflegbar sind neben Inventarlisten, die auch aus beliebigen Drittsystemen über die Schnittstellen von iTop importiert oder synchronisiert werden können, insbesondere die Bedeutungen der Beziehungen zueinander, z. B. die Beziehung einer Person zu einer Maschine und der Typ dieser Beziehung („Administrator“). Diese Zusammenhänge können menschen- und maschinenlesbar Abhängigkeitsanalysen in Echtzeit unterzogen werden, z. B. um zu simulieren, welche Maschinen, Software, Menschen und Geschäftsprozesse von einem Ausfall eines bestimmten Systems potenziell betroffen wären.
Auf diese Informationen wird auch in den Modulen für Helpdesk, Incident-, Problem-, Change- und Service-Management zurückgegriffen. Die CMDB stellt somit eine einzelne Datenquelle (Single Point of Truth) für verschiedene IT-Betriebsprozesse sowie für den Service-Katalog zur Verfügung. Alle Informationen sind als CSV-Datei und ab der Version 2.1.0 auch direkt als Tabellendatei im Microsoft-Excel-Format exportierbar.

### Helpdesk

Das Helpdesk-Modul stellt ein Ticketing-System bereit, das mit Hilfe einer in iTop integrierten Workflow-Engine den hinterlegten Prozess für die Abarbeitung von Standard-Anfragen unterstützt. Anfragen werden verschriftlicht aufgenommen, einem Service zugeordnet, einem Bearbeiter und einer Bearbeitergruppe zugewiesen und einer Lösung zugeführt.
Der standardmäßig hinterlegte Workflow entspricht einem typischen Prozess für die Abarbeitung von Service-Requests (Request Fulfilment) in ITIL. Es ist möglich, bei der Installation ein sogenanntes „Simple Ticketing“ auszuwählen, das zwischen Incidents und Service-Requests hinsichtlich des Ablaufs und der zuordenbaren Bearbeitergruppen keine Unterscheidung trifft. Diese pragmatische Konfigurationsvariante ist vornehmlich für kleinere und mittlere Unternehmen gedacht. Bei Auswahl dieser Option werden die Features des Incident-Management-Moduls ebenfalls im Helpdesk-Modul abgebildet, und das Incident-Management-Modul verschwindet aus der Navigation.
iTop greift bei der Abarbeitung von Tickets auf die Informationen aus dem Service-Management-Modul zurück und wendet die dort hinterlegten kundenspezifischen SLAs an bzw. erlaubt in Abhängigkeit vom Kunden nur die Auswahl bestimmter Services aus dem Service-Katalog. Das System kann E-Mail-Benachrichtigungen automatisiert erstellen und versenden, z. B. bei Zuweisung des Tickets an einen Bearbeiter, und automatisch Eskalationen durchführen, wenn z. B. ein SLA nicht eingehalten wird.
Anfragen (Tickets) können mit Objekten aus der CMDB direkt verknüpft werden, wobei gemäß hinterlegter Abhängigkeitsregeln auch mit einem Objekt in der CMDB verknüpfte weitere Objekte automatisch mit einem entsprechenden Vermerk im Ticket angehängt werden. Beispielsweise würden bei einer Störung der Hardware eines Datenbankservers auch automatisch alle auf die dort laufenden Datenbanken zugreifenden Applikationen sowie zusammenhängende Geschäftsprozesse und für die Betreuung zuständige Personen mit dem Ticket verknüpft werden.
Sind weitere Module mit Ticketing-Funktionalität installiert, können in Tickets auch Beziehungen zu diesen hergestellt werden. Beispielsweise kann eine Anfrage mit einem Change- oder einem Problem-Ticket verknüpft werden, und es werden automatisch eventuell passende Known Errors als mögliche Lösungswege mit dem Ticket verknüpft.

### Incident Management

Das Incident-Management-Modul ist analog zum Helpdesk-Modul aufgebaut und bietet einen Standard-Workflow mit eigenen Bearbeitergruppen für Störungen (Incidents). Die sonstigen Funktionalitäten, insbesondere der direkte Zugriff auf den Service-Katalog und die Verknüpfbarkeit von CMDB-Objekten, sind identisch zum Helpdesk-Modul geregelt.
Häufig wird iTop mit der Vorkonfiguration des „Simple Ticketing“ installiert, die die Funktionen des Incident-Management-Moduls direkt im Helpdesk-Modul integriert. Incidents können dann von Service Requests lediglich über eine Klassifizierung im jeweiligen Ticket unterschieden werden, folgen aber einem identischen Bearbeitungsablauf und können den gleichen Personen und Personengruppen zur Bearbeitung zugewiesen werden.

### Problem Management

In diesem Modul können Probleme in eigenen Problem-Tickets hinterlegt und entlang eines eigenen Workflows strukturiert bearbeitet werden. Die grundsätzlichen Funktionalitäten sind ähnlich zum Helpdesk-Modul: So lassen sich Probleme einem Service zuordnen und CMDB-Objekte verknüpfen.
Hinterlegbar sind auch Frequently Asked Questions (FAQs) und sogenannte Known Errors, die gemäß ITIL die Lösung eines Problems darstellen. Diese sind mit CMDB-Objekten verknüpfbar (z. B. mit den Maschinen, auf die sich ein bestimmter Known Error bezieht). Auf diese Verknüpfungen wird bei der Anlage eines neuen Incident- oder Helpdesk-Tickets automatisch zurückgegriffen.

### Change Management

Das Change-Management-Modul unterstützt die strukturierte Abarbeitung von Changes im ITIL-Sinne anhand vordefinierter Schritte und Abläufe. Wie in den anderen Ticketing-Modulen auch, ist hier eine Verknüpfung von CMDB-Objekten mit Changes möglich, und es erfolgt eine automatische Ergänzung dieser Informationen um weitere Objekte, die das System automatisch im Rahmen der Auswirkungs- bzw. Abhängigkeitsanalyse ermittelt.
Es werden, mit jeweils unterschiedlichen Workflows, sogenannte Normale Changes, Emergency Changes und Routine Changes unterstützt. Eine pragmatische Vorkonfiguration ähnlich dem „Simple Ticketing“ für den Helpdesk-Bereich ist zum Installationszeitpunkt möglich und hinterlegt nur einen einzigen Workflow, anhand dessen dann alle Changes unabhängig vom genauen Typ abgearbeitet werden.

### Service Management

In diesem Modul wird insbesondere die Gesamtheit aller Services und ihrer Unterkategorien verwaltet, die internen oder externen Kunden grundsätzlich angeboten werden können. Zudem werden hier Service-Level-Agreements verwaltet und in Kundenverträgen hinterlegt, welchen Mandanten man welche Services in welcher Qualität (d. h. unter Verwendung welcher SLAs) anbietet. Pflegbar sind auch die Verträge, die man selbst als Provider eingekauft hat, um den eigenen Service erbringen zu können (z. B. Hardware-Support für Drucker).
In ITIL-Terminologie werden mit diesem Modul die Prozesse Service Katalog Management, Service-Level-Management und Supplier Management unterstützt. Die Informationen werden direkt in allen Ticketing-Modulen verwendet, z. B. um abhängig vom ausgewählten Mandanten nur bestimmte Services anzubieten und die mit dem Mandanten vereinbarten SLAs zu ermitteln und automatisch anzuwenden.

### Data Management

In diesem Bereich finden sich Mechanismen für den manuellen Import von Daten aus Excel-, LibreOffice- oder CSV-Dateien sowie für die Überprüfung der Datenkonsistenz. Ein Assistent unterstützt beim Import von Daten bzw. beim Update von vorhandenen Daten mittels CSV-Datendateien. Sogenannte Audits erlauben in einem Tableau fest hinterlegte Echtzeitabfragen der Systemdaten nach bestimmten Kriterien, z. B. eine Abfrage aller Geräte im Status „produktiv“, die nicht von einer Monitoring-Lösung überwacht werden, oder alle Softwareinstallationen ohne zugeordnete Lizenz. Audits sind in einer objektorientierten, an SQL angelehnten Abfragesprache namens Object Query Language (OQL) definiert und frei konfigurier- und änderbar.

### Erweitertes User-Portal

Ab der Version 2.3.0 bietet iTop ein erweitertes User Portal an. Das Portal stellt eine GUI mit eingeschränkten Funktionen und Ansichten in einem responsive Design speziell für Endbenutzer bereit. Hier können Anfragen per Assistent eröffnet und der Bearbeitungsstand bestehender Anfragen eingesehen durch den Endnutzer werden. Eine Interaktion mit dem Helpdesk sowie der Upload von Dateien als Anhänge an Tickets ist ebenfalls möglich. Das Portal bietet eine Möglichkeit den Endbenutzern ein FAQ zur Verfügung zu stellen. Ein modernes Design wird durch das CSS-Framework Bootstrap erreicht.

### Admin Tools

Für Administratoren ist in diesem Bereich des Systems die Verwaltung von Benutzern und Rechten, die Konfiguration von Audits für das Data-Management-Modul sowie von Abfragen und per Web, z. B. per Excel oder LibreOffice, abfragbarer Reports vorgesehen. In diesem Bereich werden auch die Synchronisationsmechanismen eingerichtet und konfiguriert, mittels derer iTop aus beliebigen externen Quellen (z. B. Softwareverteilung, Active Directory, Inventory-Systeme) Daten automatisch und regelmäßig mit seiner Datenbank synchronisieren kann. Zudem kann hier ab der Version 2.1.0 die zentrale Konfigurationsdatei direkt editiert werden, und sowohl regelmäßig und automatisch als auch auf Knopfdruck manuell Backups des Systems erstellt werden. Ab Version 2.2.0 findet sich hier zudem ein interaktiver Assistent für den Export von Daten in verschiedene Formate, darunter CSV, XML, PDF, und Excel.
Die von iTop verwaltbaren Entitäten und Relationen sind in XML-Dateien beschrieben und bilden in ihrer Gesamtheit das sogenannte Datenmodell. Dieses ist objektorientiert aufgebaut. Es kann in den Admin-Tools grafisch mit dem Browser angezeigt und darin navigiert werden.

### Kollektoren und REST-Schnittstelle

Damit eine CMDB ihren Zweck erfüllen kann, müssen die Daten in ihr immer aktuell gehalten werden. Per Hand ist das bei vielen Servern, Virtuellen Maschinen und Netzwerkschnittstellen nicht zu bewerkstelligen. Deswegen gibt es Kollektoren. Mit diesen in PHP geschriebenen, von der Kommandozeile ausführbaren Skripten können von externen Datenquellen, wie z. B. SQL-Datenbanken, Verzeichnisdiensten (z. B. Active Directory) und jedem anderen System, das eine Schnittstelle zur Verfügung stellt, Daten abgefragt werden. Anschließend wird in einem Kollektor definiert, wie die erhaltenen Daten transformiert werden sollen, so dass deren strukturierter Import in iTop funktioniert.
Der große Vorteil, die Kollektoren in eigene Skripte ausgelagert zu haben, liegt darin, dass diese auf einem beliebigen System zwischen der Datenquelle und iTop ausgeführt werden können. Häufig ist es in Unternehmensnetzwerken der Fall, dass sich zwei Systeme durch Firewallbeschränkungen gar nicht direkt erreichen und Daten austauschen können. Wenn aber sowohl das Quellsystem als auch das iTop-System auf einen gemeinsamen Bereich, etwa eine Demilitarisierte Zone (Informatik), zugreifen können, kann der Datenaustausch trotzdem stattfinden, wenn der Kollektor in dieser DMZ platziert wird. Die Skripte können mittels Cron regelmäßig ausgeführt werden und halten damit die CMDB immer auf dem neuesten Stand. Für häufig genutzte Datenquellen bieten der Hersteller und die Partnerunternehmen bereits einige fertig programmierte Kollektoren an, die nur noch konfiguriert werden müssen.
Um iTop noch besser im Unternehmen integrieren zu können, stellt iTop zusätzlich eine REST-Schnittstelle (Representational State Transfer) zur Verfügung. Damit lassen sich prinzipiell alle in der CMDB gespeicherten Objekte erstellen, abfragen, verändern und löschen. Insbesondere die automatische Verständigung zwischen mehreren Verwaltungssystemen steht dabei im Vordergrund. Die Schnittstelle kann aber auch dazu verwendet werden, z. B. für externe Mitarbeiter passgenau auf deren Bedürfnisse zugeschnittene Informationen aus der CMDB zur Verfügung zu stellen.