Общая информационная модель (Common Information Model, CIM) - это стандарт компьютерной индустрии, который определяет характеристики устройств и приложений, чтобы системные администраторы и программы управления могли управлять устройствами и приложениями разных производителей. CIM была разработана и управляется DMTF, консорциумом производителей оборудования и программного обеспечения, ранее известным как Distributed Management Task Force.
Стандарты CIM также охватывают ИТ-инфраструктуру, такую как облака, виртуализация, сети, серверы и системы хранения данных. Это открытый стандарт, который развивается по мере того, как партнеры DMTF добавляют новые технологии.
Как работает Общая информационная модель?
CIM делится на Спецификацию CIM, Схему CIM и Метамодель CIM. Спецификация CIM определяет способ, которым модели управления от разных производителей, например, могут взаимодействовать друг с другом.
Схема CIM содержит такие классы, как компьютерные и сетевые системы, промежуточное программное обеспечение, базы данных, операционные системы (ОС), сервисы и хранилища. Каждый класс содержит свойства, которые описывают его с помощью таких атрибутов, как сетевое имя, серийный номер, коды ошибок и многое другое. Хотя DMTF определяет стандартную схему, основные производители, такие как IBM, HP, Dell и другие, предоставляют схемы расширений, которые включают их продукты. Кроме того, другие организации могут расширять схему для создания пользовательских приложений.
Метамодель CIM определяет построение новых моделей и схему, которая представляет эти модели.
CIM Schema и спецификации
Некоторые распространенные классы схемы CIM включают следующие:
- CIM_ComputerSystem: Компьютерный узел
- CIM_DataFile: Компьютерный файл
- CIM_Directory: Каталог файлов
- CIM_DiskPartition: Раздел диска
- CIM_FIFOPipeFile: Именованные каналы
- CIM_OperatingSystem: Операционная система
- CIM_Process: Вычислительный процесс
- CIM_SqlTable: Таблица базы данных
Классы CIM для Windows открываются с помощью команды PowerShell.
1 | >get-cimclass |
Microsoft определяет класс CIM как "объектно-ориентированную абстракцию сущности, управляемой через инфраструктуру [CIM Object Manager] CIMOM, такую как [Windows Management Instrumentation] WMI". Проще говоря, такие объекты, как дисковый накопитель, идентифицируются именем класса, например, "устройство", и атрибутами в схеме CIM. К этой информации можно получить доступ с помощью обычных языков программирования и запросить информацию. На этом рисунке DMTF показана схема CIM для "устройства" в графическом виде. Производитель дисковых накопителей, например, может предоставить эту информацию в схеме, а разработчики могут создавать приложения для доступа к такой информации, как емкость, спецификации, мониторинг и отчеты об ошибках.
Определения классов схем содержатся в файлах формата управляемых объектов. Они доступны на сайте DMTF в zip-архивах для каждой версии схемы, в настоящее время это версия 2.46.0.
Что такое WBEM?
Web-Based Enterprise Management (WBEM) - это набор спецификаций, которые определяют, как можно обнаружить объекты, получить к ним доступ и манипулировать ими в разрозненных системах. WBEM может принимать запрос, например, от графического интерфейса пользователя, формировать и затем отправлять запрос на сервер WBEM. Затем сервер WBEM интерпретирует запрос, используя определения схемы CIM Schema, передает его поставщику запрашиваемого оборудования и возвращает оператору статус устройства или то, что запрашивалось в запросе.
В книге Криса Хоббса "Практический подход к управлению WBEM/CIM" на диаграмме архитектуры WBEM показаны сервер WBEM, клиент и провайдеры. В этой модели есть несколько пунктов, заслуживающих внимания.
Клиент используется для определения модели и, через пользовательский интерфейс, для отправки запросов на получение информации от управляемых устройств через сервер WBEM.
Сервер WBEM имеет несколько компонентов, включая следующие:
- CIMOM для определения запроса с использованием определений CIM из репозитория;
- интерфейсы для обеспечения безопасности, поставщика физического устройства или программного обеспечения и репозитория CIM; и обработчик индикации для предоставления данных оператору слушателя или приложения.
- Запрос - небольшой программный код, написанный для физического устройства - обрабатывается сервером WBEM, затем отправляется провайдерам и, наконец, устройству для получения фактического состояния.
- Результаты передаются клиентскому слушателю для составления отчета или отображения.
ОС Windows, Linux, IBM и даже VMware предоставляют CIMOM с собственным интерфейсом управления для достижения четко определенной, управляемой среды. Они также расширяют схему CIM Schema для своих целей. Microsoft предоставляет свой интерфейс CIMOM через WMI, который использует определения CIM Schema для устройств и программного обеспечения, а затем хранит их в репозитории WMI. WMI является расширением модели драйверов Windows и представляет собой интерфейс, обеспечивающий доступ к аппаратному и программному обеспечению с помощью распространенных языков сценариев. Эти языки включают VBScript, PowerShell и специальный интерфейс командной строки под названием WMI Command line (WMIC). Как первоначальный член DMTF, компания Microsoft внесла множество поставщиков WMI в ОС Windows, включая Windows 10, добавив поставщиков для службы управления мобильными устройствами.
WMIC можно использовать для запроса информации на клиенте или сервере Windows. Просто откройте командную строку и введите следующую команду:
1 | >WMIC |
В приглашении WMIC введите /? для получения списка переключателей к команде.
Вы можете получить имя компьютера и версию Windows для этого компьютера с помощью следующих команд WMIC:
1 2 | >WMIC get name >WMIC os get version |
Для получения дополнительной информации о WMIC вы можете обратиться к документу Microsoft WMIC.
Каковы преимущества и недостатки использования CIM?
Есть два основных преимущества использования CIM и инфраструктуры WBEM.
Интерфейсы CIM и WBEM встроены в большинство ОС. Хотя технически возможно отключить эти интерфейсы, это нарушит многие функциональные возможности.
Стандарт CIM в сочетании со спецификациями WBEM обеспечивает возможность разработки программного обеспечения, в частности интерфейсов управления и консолей, для мониторинга ключевых компонентов, таких как производительность системы и устройств, системная информация, состояние сети и многие другие. Без CIM взаимодействие между устройствами было бы очень сложным или невозможным.
Единственным реальным недостатком CIM являются пользователи, которые разрабатывают приложения на основе модели и схемы CIM. Например, проект под названием SmartGrid обнаружил, что многочисленные версии CIM, имеющиеся или находящиеся в разработке, затрудняют их интеграцию с точки зрения проектирования программного обеспечения. И хотя включение расширений схемы в модель CIM имеет большую ценность в будущем, это требует времени, а иногда и участия на международном уровне. Тем не менее, CIM - это стандарт, поэтому подобные проблемы должны быть решены.
Примеры использования общей информационной модели
Устройства и приложения на базе CIM используют репозиторий CIM и с помощью WBEM могут запрашивать атрибуты устройств и программного обеспечения. Они также могут быть использованы для создания приложений для обмена или сбора информации из разрозненных систем.
Некоторые примеры включают следующее:
- приложения для управления системой, которые получают информацию от устройств независимо от производителя или разработчика;
- функции обработки ошибок и создания отчетов, такие как журнал событий Windows;
- мониторинг информации об устройстве, такой как свободное место на диске и серийный номер оборудования;
- информация о резервном копировании, такая как последняя резервная копия, сделанная на каждой системе;
- информация о производительности, такая как загрузка процессора, количество процессоров и загрузка памяти;
- и уведомления о неудачных входах в систему и истечении срока действия пароля.
Приведенные выше примеры демонстрируют, насколько интегрирован CIM с собственной ОС и сторонними приложениями. У каждого производителя компьютерных устройств есть интерфейсы управления, использующие CIM и связанную с ним инфраструктуру WBEM.
- Например, CIM может обеспечить обмен данными между системами, например, интеграцию систем управления энергопотреблением со вторичными ИТ-системами.
- SmartGrid использует CIM для общей семантики, например, в автоматизации подстанций, для предоставления полезной информации между аппаратными и программными платформами. Представьте себе оборудование, необходимое для автоматизации электрических подстанций. В основе лежит CIM.
- В ESXi от VMware используется CIM "вместо установки аппаратных агентов в консоли обслуживания". Благодаря использованию CIM-провайдеров через WBEM для аппаратных компонентов - таких как адаптеры шины хоста, сетевые карты, процессоры и дисковые накопители - запросы обслуживаются и сообщаются в VMware vCenter с помощью CIM без установки агентов на устройства.
Таким образом, CIM и WEBM обеспечивают инструментальную базу, широко распространенную в ИТ-индустрии, позволяющую аппаратному и программному обеспечению запрашивать и сообщать информацию, необходимую как пользователям, так и приложениям. Схема CIM является расширяемой, что позволяет адаптировать ее к новым устройствам и технологиям.