Common Information Model (CIM)
Das Common Information Model (CIM) ist ein Standard der Computerindustrie, der Geräte- und Anwendungsmerkmale definiert, damit Systemadministratoren und Verwaltungsprogramme Geräte und Anwendungen verschiedener Hersteller steuern können. CIM wurde von der DMTF (Distributed Management Task Force) entwickelt und wird von ihr verwaltet, einem Konsortium von Hardware- und Softwareherstellern.
Die CIM-Standards decken auch IT-Infrastrukturen wie Clouds, Virtualisierung, Netzwerke, Server und Speicher ab. Es handelt sich um einen offenen Standard, der mit der Hinzufügung neuer Technologien durch die DMTF-Partner wächst.
Wie funktioniert das Common Information Model?
CIM ist unterteilt in eine CIM-Spezifikation, ein CIM-Schema und ein CIM-Metamodell. Die CIM-Spezifikation definiert die Art und Weise, wie zum Beispiel Managementmodelle verschiedener Hersteller miteinander kommunizieren können.
Das CIM-Schema enthält Klassen wie Computer- und Netzwerksysteme, Middleware, Datenbanken, Betriebssysteme(OS), Dienste und Speicher. Jede Klasse enthält Eigenschaften, die sie mit Attributen wie Netzwerkname, Seriennummer, Fehlercodes und mehr beschreiben. Während die DMTF das Standardschema definiert, bieten große Hersteller wie IBM, HP, Dell und andere Erweiterungsschemata an, die ihre Produkte einschließen. Darüber hinaus können andere Unternehmen das Schema erweitern, um kundenspezifische Anwendungen zu erstellen.
This article is part of
What is desktop management and how does it work?
Das CIM-Metamodell definiert den Aufbau neuer Modelle und das Schema, das diese Modelle darstellt.
CIM-Schema und Spezifikationen
Einige gängige CIM-Schemaklassen sind die folgenden:
- CIM_ComputerSystem: Computer-Host
- CIM_DataFile: Computerdatei
- CIM_Directory: Dateiverzeichnis
- CIM_DiskPartition: Plattenpartition
- CIM_FIFOPipeFile: Benannte Pipes
- CIM_OperatingSystem: Betriebssystem
- CIM_Prozess: Computerprozess
- CIM_SqlTable: Datenbanktabelle
Die CIM-Klassen für Windows werden mit einem PowerShell-Cmdlet angezeigt.
>get-cimclass
Microsoft definiert eine CIM-Klasse als eine „objektorientierte Abstraktion der Entität, die über eine [CIM Object Manager] CIMOM-Infrastruktur wie [Windows Management Instrumentation] WMI verwaltet wird“. Vereinfacht ausgedrückt, werden Objekte wie ein Festplattenlaufwerk durch einen Klassennamen, wie beispielsweise „Gerät“, und Attribute im CIM-Schema identifiziert. Auf diese Informationen kann mit gängigen Programmiersprachen zugegriffen und Informationen abgefragt werden. Diese Abbildung von DMTF zeigt das CIM-Schema für „device“ grafisch. Ein Festplattenhersteller beispielsweise kann diese Informationen im Schema bereitstellen, und Entwickler können Anwendungen erstellen, um auf Informationen wie Kapazität, Spezifikationen, Überwachung und Fehlerberichte zuzugreifen.
Schemaklassendefinitionen sind in Managed Object Format-Dateien enthalten. Diese sind auf der DMTF-Website in Zip-Archiven für jede Schemaversion, derzeit Version 2.46.0 (Stand April 2022), verfügbar.
Was ist WBEM?
Web-Based Enterprise Management (WBEM) ist eine Reihe von Spezifikationen, die festlegen, wie Objekte in verschiedenen Systemen gefunden, aufgerufen und bearbeitet werden können. WBEM kann eine Anfrage, zum Beispiel von einer grafischen Benutzeroberfläche (GUI), konstruieren und dann an den WBEM-Server senden. Der WBEM-Server interpretiert dann die Anfrage unter Verwendung der CIM-Schemadefinitionen, leitet sie an den Anbieter der abgefragten Hardware weiter und gibt den Status des Geräts oder das, was in der Anfrage abgefragt wurde, an den Betreiber zurück.
In dem Buch A Practical Approach to WBEM/CIM Management von Chris Hobbs zeigt ein Diagramm der WBEM-Architektur den WBEM-Server, den Client und die Provider. In diesem Modell sind mehrere Punkte zu beachten.
- Der Client dient dazu, das Modell zu definieren und über eine Benutzeroberfläche Informationen von den verwalteten Geräten über den WBEM-Server anzufordern.
- Der WBEM-Server besteht aus mehreren Komponenten, darunter die folgenden:
- ein CIMOM zur Definition der Abfrage unter Verwendung von CIM-Definitionen aus dem Repository;
- Schnittstellen zur Sicherheit, zum Anbieter des physischen Geräts oder zur Software und zum CIM-Repository; und
- ein Indication Handler zur Bereitstellung von Daten für den Betreiber des Listeners oder der Anwendung.
- Die Anfrage - kleiner Softwarecode, der für das physische Gerät geschrieben wurde - wird vom WBEM-Server verarbeitet und dann an Anbieter und schließlich an das Gerät gesendet, um den aktuellen Status zu erfahren.
- Die Ergebnisse werden an den Client-Listener zur Berichterstattung oder Anzeige weitergeleitet.
Windows, Linux-Betriebssysteme, IBM und sogar VMWare bieten ein CIMOM mit eigener Verwaltungsschnittstelle, um eine klar definierte, verwaltete Umgebung zu schaffen. Sie erweitern auch das CIM-Schema für ihre Zwecke. Microsoftstellt seine CIMOM-Schnittstelle über WMI zur Verfügung, das CIM-Schemadefinitionen für Geräte und Software verwendet und diese dann im WMI-Repository speichert. WMI ist eine Erweiterung des Windows-Treibermodells und stellt eine Schnittstelle dar, die den skriptgesteuerten Zugriff auf Hardware und Software mithilfe gängiger Skriptsprachen ermöglicht. Zu diesen Sprachen gehören VBScript, PowerShell und eine spezielle Befehlszeilenschnittstelle namens WMI Command line (WMIC). Als Gründungsmitglied der DMTF hat Microsoft viele WMI-Anbieter in das Windows-Betriebssystem eingebracht, darunter auch Windows 10, das Anbieter für seinen mobilen Gerätemanagementdienst hinzugefügt hat.
WMIC kann verwendet werden, um Informationen über einen Windows-Client oder -Server abzufragen. Öffnen Sie einfach eine Eingabeaufforderung und geben Sie den folgenden Befehl ein:
>WMIC
Geben Sie an der WMIC-Eingabeaufforderung /? ein, um eine Liste mit Schaltern für den Befehl zu erhalten.
Mit den folgenden WMIC-Befehlen können Sie den Computernamen und die Windows-Version für diesen Computer abfragen:
>WMIC get name
>WMIC os get version
Weitere Informationen zum WMIC finden Sie im WMIC-Dokument von Microsoft.
Was sind die Vor- und Nachteile der Verwendung von CIM?
Die Verwendung von CIM und der WBEM-Infrastruktur bietet zwei wesentliche Vorteile.
- Sowohl CIM- als auch WBEM-Schnittstellen sind in den meisten Betriebssystemen integriert. Es ist zwar technisch möglich, diese Schnittstellen zu deaktivieren, doch würde dadurch ein Großteil der Funktionalität verloren gehen.
- Der CIM-Standard in Verbindung mit den WBEM-Spezifikationen ermöglicht die Entwicklung von Software, insbesondere von Verwaltungs- und Konsolenschnittstellen, zur Überwachung von Schlüsselkomponenten wie System- und Geräteleistung, Systeminformationen, Netzwerkstatus und vielen anderen. Ohne CIM wäre die geräteübergreifende Kommunikation sehr schwierig oder gar unmöglich.
Der einzige wirkliche Nachteil von CIM besteht für Benutzer, die Anwendungen auf der Grundlage des CIM-Modells und -Schemas entwickeln. Ein Projekt namens SmartGrid hat beispielsweise festgestellt, dass die verschiedenen verfügbaren oder in der Entwicklung befindlichen Versionen von CIM die Integration aus Sicht des Softwaredesigns schwierig machen. Und obwohl die Aufnahme von Schemaerweiterungen in das CIM-Modell von großem Wert ist, erfordert sie Zeit und manchmal auch internationale Beteiligung. Abgesehen davon ist CIM der Standard, so dass Herausforderungen wie diese gemeistert werden müssen.
Beispiele für CIM
CIM-basierte Geräte und Anwendungen nutzen das CIM-Repository und können über WBEM Geräte und Software nach Attributen abfragen. Sie können auch zur Erstellung von Anwendungen verwendet werden, um Informationen aus unterschiedlichen Systemen auszutauschen oder zu sammeln.
Einige Beispiele hierfür sind:
- Systemverwaltungsanwendungen, die Informationen von Geräten unabhängig von Hersteller oder Entwickler abrufen;
- Fehlerbehandlungs- und Berichterstattungsfunktionen, wie das Windows Event Log;
- Überwachung von Geräteinformationen, wie freier Speicherplatz und Hardware-Seriennummer;
- Sicherungsinformationen wie die letzte auf jedem System durchgeführte Sicherung;
- Leistungsinformationen wie CPU-Auslastung, Anzahl der Prozessoren und Speicherauslastung;
- Benachrichtigungen über fehlgeschlagene Anmeldungen und abgelaufene Kennwörter.
Die obigen Beispiele zeigen, wie sehr CIM in das Betriebssystem und in Anwendungen von Drittanbietern integriert ist. Jeder Hersteller von Computergeräten verfügt über Verwaltungsschnittstellen, die CIM und die zugehörige WBEM-Infrastruktur nutzen.
- CIM kann zum Beispiel den Datenaustausch zwischen Systemen ermöglichen, wie etwa die Integration von Energiemanagementsystemen mit sekundären IT-Systemen.
- SmartGrid nutzt CIM für eine gemeinsame Semantik, zum Beispiel bei der Automatisierung von Umspannwerken, um nützliche Informationen über Hardware- und Softwareplattformen hinweg bereitzustellen. Stellen Sie sich die Instrumentierung vor, die für die Automatisierung elektrischer Umspannwerke erforderlich ist. CIM ist das Herzstück.
- VMwares ESXi verwendet CIM „anstelle der Installation von Hardware-Agenten in der Servicekonsole“. Durch die Verwendung von CIM-Anbietern über WBEM für Hardwarekomponenten - wie Host-Bus-Adapter,Netzwerkkarten, CPUs und Festplattenlaufwerke - werden die Anfragen mit CIM bearbeitet und an VMware vCenter gemeldet, ohne dass Agenten auf den Geräten installiert werden müssen.
Damit bieten CIM und WEBM eine in der IT-Branche weit verbreitete Instrumentenbasis, die es Hardware und Software ermöglicht, die von Anwendern und Anwendungen benötigten Informationen abzufragen und zu melden. Das CIM-Schema ist erweiterbar und kann daher an neue Geräte und Technologien angepasst werden.