Дискаверинг. Что это, и зачем он нужен?
Предисловие
Всем привет!
По роду своей деятельности я более пяти лет задействован в проектах по внедрению, поддержке и развитию продуктов дискаверинга. Даже коллеги из смежных отделов зачастую не имеют представления, что это за продукты и зачем они нужны. На мой взгляд, тема дискаверинга недостаточно освещена в российском сегменте интернета, поэтому я хочу подробно и с примерами рассказать о том, что такое дискаверинг, зачем он нужен и как он помогает решать повседневные задачи в крупных ИТ-компаниях (и не только).
Для чего нужен дискаверинг?
#Это что за покемон. Что такое дискаверинг?
Дискаверинг — это ядро крупной ИТ-инфраструктуры
Если спросить обычного человека о том, какие у него есть устройства и какие программы на них установлены, он точно перечислит 80% устройств, которые регулярно использует, и 20% программного обеспечения, применяемого им ежедневно для работы, бытовых задач и развлечений. Когда мы задаём подобный вопрос в контексте бизнеса, точность определения инфраструктуры снижается, кратно его масштабам.
Со стремительным развитием технологий и постоянным появлением новых угроз кибербезопасности, для бизнеса критически важно иметь актуальную информацию об инфраструктуре: необходимо знать, на каких устройствах находится библиотека с обнаруженной уязвимостью, какие серверы используют проприетарные технологии с истекающими лицензиями и так далее.
Каждый элемент информационной инфраструктуры жестко вписан в бизнес-процессы компании. Сотрудники компании, ответственные за бизнес-процессы и операции, обязаны иметь четкое представление о том, как выполняется жизненный цикл для каждого такого элемента. Это позволяет понимать, какие именно сервисы и технологии находятся в их зоне ответственности, и какое количество ресурсов затрачивается на них.
Администраторам программного и аппаратного обеспечения важно иметь полное представление о том, что находится в их зонах ответственности. Они должны вычислять «серые зоны» — области, которые могут быть упущены из виду или плохо документированы. Кроме того, они должны следить за версионностью программного обеспечения и других компонентов, чтобы гарантировать совместимость и безопасность системы.
Для полного понимания процессов и взаимосвязей в инфраструктуре, как менеджерам, так и администраторам, необходимо иметь доступ к надежной и точной информации о каждом элементе. Процесс автоматизированного сбора инвентаризационных и топологических данных об ИТ-инфраструктуре называется дискаверингом.
Система дискаверинга обеспечивает доступность и обновляемость данных, повышая эффективность управления и поддержки ИТ-среды компании.
Простой пример: представьте ситуацию, что в вашей компании внезапно вышел из строя сервер. Он долгое время работал без проблем, но его внезапное отключение приводит к замешательству: неизвестно, кто именно отвечает за этот сервер, какие технологии на нем используются и какие бизнес-процессы могут быть затронуты остановкой его работы (понятно, что скорее всего была отказоустойчивая архитектура и, вероятно, всё переехало на другой сервер, но для примера представим, что всего этого не было).
Именно для таких случаев система дискаверинга становится незаменимой. Она автоматически обнаруживает этот сервер в сети и регулярно актуализирует информацию о его конфигурации, включая установленное программное обеспечение, службы, запущенные процессы и связанные с ними бизнес-приложения и заносит эту информацию в централизованную базу данных конфигурационных единиц (CMDB, Configuration Management Database).
И, когда администраторам понадобилось разобраться с этим сервером, они могут обратиться к CMDB и быстро найти все необходимые сведения: кто отвечает за его обслуживание, какие приложения работают на данном сервере, и какие бизнес-процессы зависят от его доступности. Благодаря этому становится возможным либо предотвратить проблему ещё до её появления, либо принять меры по восстановлению работы сервера и минимизировать простои и потери для бизнеса.
Какие задачи позволяет решать система дискаверинга?
# Зачем она нужна? Цели
Если мы просто будем заносить в CMDB данные, полученные из разных источников (по протоколам SNMP, SSH, PowerShell, WMI и т.п.), устройства (ПО, роутер, балансировщик нагрузки и т.п.) будут выглядеть по-разному, информация будет дублироваться. Для разных систем само устройство часто выглядит по-разному. Ваш офисный компьютер это: IP-адрес в IPAM, инвентарный номер в системе учёта активов, имя машины в виртуализации, DNS-имя в сети и т.д. Система дискаверинга идентифицирует этот компьютер и объединяет в одну запись в CMDB, используя гибкие алгоритмы идентификации по множеству параметров.
Таким образом, пользователь системы получает полную картину, видит, как разделы на диске компьютера связаны с datastore в виртуализации, на каких гипервизорах работает кластеризованное ПО и т.п.
Объединение данных из разных источников позволяет создать единую базу данных, обеспечивая полное представление об объектах инфраструктуры и их взаимосвязях. Система дискаверинга предоставляет упорядоченные и структурированные данные об объектах и сервисах в информационной системе и представляет их в виде ресурсно-сервисной модели (РСМ).
Для формирования РСМ система дискаверинга обычно имеет свою собственную «первичную» CMDB, где хранятся сырые данные, собранные из различных источников. Эта CMDB содержит самый полный массив данных, включая информацию о конфигурационных единицах (КЕ), их связях и атрибутах.
КЕ представляет собой элемент, обозначающий любой управляемый или исследуемый объект в информационной системе. КЕ может быть чем угодно: от сервера и сетевого оборудования до программного обеспечения или абстрактного элемента, например, бизнес-процесса.
Эти данные могут использоваться другими системами и позволяют осуществлять прогнозирование влияния изменений элементов инфраструктуры, находить слабые места и заранее предотвращать сбои.
Глобально главная цель дискаверинга — стать источником данных для других систем. Для систем, которые являются потребителями собранных данных, выбираются только необходимые им данные. Так для мониторинга часто не требуется весь объем административных данных, привязанных к КЕ, в то время как в системе управления (например, в АСУП) необходима лишь часть информации, связанной с техническими подробностями.
Система дискаверинга играет ключевую роль в обеспечении управления и мониторинга инфраструктуры путем предоставления структурированных данных, которые отражают состояние и конфигурацию ее компонентов, а также их взаимосвязи. Эти данные могут быть использованы мониторинговыми системами для автоматической постановки на мониторинг устройств или ПО, а также системами управления для обеспечения выполнения бизнес-процессов и предоставления услуг.
Когда система дискаверинга не является поставщиком данных для других систем, она всё
равно остаётся мощным аналитическим инструментом. С помощью графического
интерфейса легко отслеживать инфраструктурные аномалии, исторические изменения,
создавать отчёты (представления), суммирующие всю необходимую (для выгрузки и
последующего анализа) информацию и многое другое.
Как происходит дискаверинг?
#Рассказываю по порядку как это работает
Ключевая идея дискаверинга заключается в концепции «Данные порождают данные». Это означает, что система активно ищет новые источники данных, чтобы дополнить имеющуюся информацию и расширить объем знаний об инфраструктуре. Процесс дискаверинга представляет собой последовательность шагов, начиная от получения данных из различных источников и заканчивая обогащением информации о найденных объектах и обновления данных в CMDB.
Один из примеров возможного процесса дискаверинга:
1. Система сканирует подсеть с использованием NMAP, чтобы получить первичную информацию об устройствах, а также определить доступные порты и протоколы.
2. На устройствах, где обнаружен доступ по SSH или по другому совместимому сетевому протоколу, запускается сканирование для получения информации о «железе» и установленном ПО.
3. Если одним из обнаруженных устройств является гипервизор виртуализации, то система подключается к нему и собирает информацию о хостах и новых IP‑адресах.
4. Этот цикл повторяется на новых IP-адресах, обнаруженных в процессе сканирования.
Такой подход делает систему дискаверинга практически автономной, постоянно находящей новые источники данных и актуализирующей имеющуюся информацию.
Расскажу подробнее про каждый из трех основных этапов:
Получение данных
Передача информации в CMDB
Реконсиляция данных из разных источников
Получение данных
Получение данных производится при помощи заданий дискаверинга, которые опрашивают разнообразные источники. Это могут быть данные из IPAM, инвентарных систем, центров виртуализации, а также, сбор информации непосредственно с самих устройств по широкому набору протоколов.
Передача информации в CMDB
Для разных сетевых зон и удаленных мест, современные системы дискаверинга предоставляют систему «релеев» (relay) и «проб» (probe):
«Релеи» могут быть представлены как зашифрованные прокси или VPN‑тоннели, обеспечивающие безопасную связь и создание защищенного «прохода» между различными сетевыми зонами. Они позволяют передавать данные в безопасной и шифрованной форме между удаленными местами и центральным сервером дискаверинга.
«Пробы» выступают в роли центров предварительной обработки информации. Они выполняют локальную обработку данных на удаленных местах, прежде чем передать только необходимую и агрегированную информацию на центральный сервер. Такой подход позволяет минимизировать нагрузку на сеть и повышает эффективность обмена данными, предоставляя системе дискаверинга только релевантные данные.
Реконсиляция данных из разных источников
Процесс реконсиляции представляет собой идентификацию и объединение данных из разных источников и является важным этапом в дискаверинге, позволяющим получить полную картину об объекте, несмотря на разнообразие источников информации.
На этом этапе происходит объединение данных из разных источников, в результате которых принимается решение относительно каждого обнаруженного объекта: объединить с уже существующим объектом, дополнить новой информацией, создать новый объект или удалить существующий.
Процесс объединения представляет из себя следующий алгоритм:
Идентификация устройства: Система дискаверинга анализирует данные из различных источников, таких как IP-адреса из системы IPAM, инвентарные номера из системы учета, имена машин из виртуализации и DNS-имена из сети. Путем сопоставления и анализа этих данных система определяет, что все они относятся к одному устройству.
Гибкие алгоритмы идентификации: Для успешного объединения данных система использует гибкие алгоритмы идентификации, учитывающие разнообразие форматов и структур данных из различных источников. Это позволяет системе эффективно работать с разнообразной информацией и предотвращать дублирование записей.
Объединение записей: На основе алгоритмов идентификации система объединяет данные из разных источников в одну запись в CMDB. Это позволяет создать уникальную и полную запись об устройстве, содержащую все доступные сведения.
Создание связей между данными: После объединения данных система устанавливает связи между различными параметрами устройства. Например, она определяет, как разделы на диске компьютера связаны с хранилищами данных в виртуализации, с каких устройств установлены соединения к ПО на этом устройстве и любые другие взаимосвязи.
Получение полной картины: В результате объединения данных пользователи получают полную картину об устройстве, включая его связи с другими элементами инфраструктуры. Это помогает лучше понимать структуру и взаимосвязи в ИТ-среде организации, что важно для эффективного управления и мониторинга.
В чём отличие от системы мониторинга?
#Самый популярный вопрос
Для контроля за IT-инфраструктурой существуют две системы: дискаверинг и мониторинг.
Главные различия систем:
Цель: Дискаверинг фокусируется на обнаружении и сборе информации об элементах IT‑инфраструктуры, таких как устройства, серверы, приложения и их взаимосвязях и направлен на создание и поддержку CMDB с подробным описанием инфраструктуры, в то время как мониторинг сосредотачивается на непрерывном контроле за состоянием и производительностью конкретных элементов инфраструктуры; он обнаруживает изменения в работе устройств, а также предоставляет данные о нагрузке, доступности и производительности системы.
Аспекты данных: Дискаверинг собирает статическую информацию об инфраструктуре (например: конфигурацию и взаимосвязи), в то время как мониторинг собирает динамическую информацию о работе и производительности системы (загрузка CPU, использование памяти и прочее).
Временная характеристика: Дискаверинг выполняется периодически для обновления данных об инфраструктуре, в то время как мониторинг осуществляется непрерывно для мониторинга состояния в реальном времени. Подход дискаверинга позволяет хранить историю изменений намного более эффективно, а также упрощает синхронизацию с другими системами.
Для примера сравнения возьмем одну из наиболее популярных систем мониторинга — Zabbix и платформу дискаверинга, в разработке которой я принимал участие — THEMISoft.Главное различие между ними заключается в том, что THEMISoft позволяет анализировать IT-инфраструктуру с точки зрения предоставляемых бизнес-сервисов и их зависимостей, он фокусируется на создании и поддержке CMDB, в то время как Zabbix сконцентрирован на мониторинге отдельных компонентов инфраструктуры и их состояния.
Работая в связке, эти системы могут принести ощутимо больше пользы, чем по отдельности, обеспечивая как обширное представление об инфраструктуре, так и моментальное реагирование на изменения в её состоянии.
Почему для дискаверинга нужно специализированное ПО?
#Зачем тратить деньги на специализированное ПО? Сейчас сам всё сделаю.
Ключевые особенности систем дискаверинга на примере конкретной платформы
Давайте рассмотрим процесс дискаверинга, на примере платформы THEMISoft (это не реклама. Так как я принимал активное участие в её разработке, то мне проще оттуда привести примеры и взять скриншоты с тестовых стендов. С тем же успехом можно взять продукт UCMDB или любой другой, который позиционирует себя, как полноценную систему дискаверинга).
Кастомизация через скриптовые языки программирования: Дискаверинг предоставляет широкий набор инструментов для сбора информации и позволяет легко настраивать его работу с помощью скриптов. Это делает добавление новых источников данных или изменение способов обработки информации простым даже для пользователей с базовыми навыками программирования.
Набор базовых адаптеров для «стандартного» дискаверинга
Кастомизация через регулярные правила: Система дискаверинга позволяет создавать специальные правила обогащения, которые на основе определённых условий, автоматически дополняют собранные данные. Эта функция обеспечивает создание новых связей между КЕ, основываясь на косвенных данных, а также осуществляет контроль устаревшей информации.
Пример, ставим условие — следить за датой актуальности КЕ. Если актуальность КЕ не подтверждалась из какого-либо источника, то помечать КЕ как устаревшую. А если КЕ находится в статусе устаревшей более месяца, то, возможно, вообще её удалять. И это лишь один из сотен способов применения механизма.
Пример настройки правил реконсиляции для КЕ PhysicalPort
Визуализация: В специализированном ПО для удобства восприятия пользователем имеется набор интерфейсов как минимум для:
анализа полученной информации, состояния КЕ и связей между ними;
Один из примеров графического отображения связей
управления заданиями дискаверинга с возможностью изменять цели обнаружения, отслеживать прогресс и статус выполнения заданий;
Пример интерфейса администратора по управлению заданиями
Структурированная база данных: Модель базы данных заранее определена (но расширяема), все операции проводятся согласно установленным шаблонам. Это обеспечивает единообразие и надежность в обработке данных.
Пример представления по первично собранным ip адресам
API и внутренние сервисы: Для поддержания стабильности базы данных и обеспечения безопасности системы дискаверинга предоставляют API и внутренние сервисы. Они обеспечивают автоматизированный доступ к данным, позволяя проводить операции массового обновления или запросы к базе данных без риска нарушения целостности данных. Эти сервисы также обеспечиваю реализацию строгих механизмов безопасности, предотвращающих непреднамеренный или злонамеренный доступ к данным и защищающих базу от потенциальных угроз.
Возможность обращения к системе по API
Отслеживание преобразования данных: Благодаря механизмам сохранения истории изменений, администратор всегда знает, когда и каким образом изменялась информация о каждой КЕ.
Пример отображения истории. По каждой буллиту можно посмотреть подробный набор атрибутов на тот момент времени.
Интеграция с другими системами: Система дискаверинга служит не только для того, чтобы хранить состояние инфраструктуры в актуальном состоянии. Системы дискаверинга так же умеют интегрироваться с различными системами-потребителями данных (системами мониторинга, отчётности, управления предприятием).
Дискавериг. Кейсы
#В этом блоке приведены несколько кейсов использования системы дискаверинга для различных ситуаций. Из моей практики обслуживания ИТ-инфраструктуры
Kейс 1: Поиск связанных элементов сети
Сценарий:
В компании необходимо точно определить владельца программного обеспечения через цепочку «Компьютер — Шлюз — Сервер — Веб-приложение».
Шаги:
Запуск сканирования: Администратор запускает процесс сканирования с помощью системы дискаверинга. Система обнаруживает все устройства в сети, включая компьютеры, шлюзы, сервера и веб-приложения.
Идентификация элементов: Система дискаверинга собирает информацию о каждом обнаруженном элементе, такую как IP-адрес, MAC-адрес, операционная система и установленное программное обеспечение.
Построение цепочки связи: На основе полученных данных система формирует цепочку связи между устройствами. Например, система определяет, что веб-приложение доступно через конкретный сервер, который связан с шлюзом, а шлюз подключен к компьютеру пользователя.
Результат:
Использование системы дискаверинга позволяет компании эффективно управлять сетью и обеспечивать безопасность передачи данных, идентифицируя владельца программного обеспечения через всю цепочку связи.
Kейс 2: Обогащение информации о хостах VMware сведениями с самого хоста
Сценарий:
После слияния двух компаний, одна из задач состоит в объединении информации о виртуальных машинах, управляемых платформой VMware, с данными о серверах, доступных по SSH.
Шаги:
Обнаружение хостов VMware: Система дискаверинга выполняет сканирование сети и обнаруживает все хосты, на которых работают виртуальные машины VMware.
Получение информации о виртуальных машинах: Для каждого обнаруженного хоста VMware система собирает информацию о работающих на нем виртуальных машинах. Эта информация включает в себя такие данные, как названия виртуальных машин, их IP-адреса, конфигурационные параметры и т.д.
Дополнение информации через SSH: Для каждого хоста из VMware, доступного по SSH, система устанавливает соединение и получает специфическую информацию о сервере. Это может быть информация о «железе», такая как модели дисков, объемы RAID, характеристики процессора и т.д.
Сопоставление данных: Полученная информация о физическом сервере дополняет данные о виртуальной машине VMware, обогащая их характеристиками «железа». Например, можно установить связь между виртуальной машиной и физическим диском, на котором она размещена, или узнать, какие ресурсы физического сервера выделяются для виртуализации.
Управление и мониторинг: Полученная обогащенная информация используется для управления и мониторинга инфраструктуры. А также создания связей между ресурсами гипервизора и самой виртуальной машиной.
Результат:
В результате использования системы дискаверинга, информация о виртуальных машинах VMware дополняется данными о физических серверах, что обеспечивает полное представление об инфраструктуре и ее эффективное управление.
Kейс 3: Создание логических единиц для управления сервисами
Сценарий:
Компания решает организовать управление своими сервисами на более высоком уровне, создавая логические единицы, которые объединяют реальные объекты инфраструктуры и программное обеспечение, связанные с определенными бизнес‑процессами или отделами.
Шаги:
Определение логических единиц: Администраторы компании определяют логические единицы, которые будут представлять отдельные бизнес-процессы, отделы или сервисы. Например, «Отдел безопасности», «Отдел разработки», «Система управления клиентами (CRM)» и т.д.
Создание структуры ресурсно-сервисной модели: Система дискаверинга позволяет создать структуру РСМ, в которой определяются логические единицы и их связи с реальными объектами инфраструктуры. Например, определены типы связей между сервисом CRM и серверами баз данных, веб-серверами и приложениями, используемыми для его поддержки.
Связывание реальных объектов: С помощью системы дискаверинга производится обнаружение реальных объектов инфраструктуры, таких как хосты, серверы, приложения и программное обеспечение. Затем эти объекты связываются с соответствующими логическими единицами в РСМ. Например, определенные серверы баз данных и веб-серверы связываются с сервисом CRM.
Управление и мониторинг: После связывания реальных объектов с логическими единицами, администраторы могут использовать систему для управления и мониторинга своих сервисов на уровне бизнес-процессов или отделов. Это помогает эффективно управлять ресурсами и глубже понимать взаимосвязи между элементами инфраструктуры и бизнес-процессами.
Анализ и оптимизация: Администраторы используют данные о связях между реальными объектами и логическими единицами для анализа производительности сервисов, выявления проблемных зон и оптимизации ресурсов. Например, они могут определить узкие места в инфраструктуре, затрудняющие работу определенного бизнес-процесса, и принять меры по их устранению.
Результат:
Создание логических единиц для управления сервисами с помощью системы дискаверинга позволяет компании эффективно организовать управление своей инфраструктурой на уровне бизнес-процессов, улучшить мониторинг и оптимизировать использование ресурсов.
Kейс 4: Связь нового сервера с данными о закупке
Сценарий:
После покупки нового сервера в компанию необходимо добавить сервер в систему управления активами (ITAM/АСУА). Необходимо связать данный сервер с бизнес-процессами и настроить доступы и политики в системе управления предприятием (ITSM/АСУП).
Шаги:
Регистрация нового сервера в системе управления активами: После покупки нового сервера, сервер регистрируется в АСУА, указываются соответствующие характеристики, такие как модель, серийный номер, назначение, стоимость, срок службы и другие параметры.
Сканирование и обнаружение в системе дискаверинга: Система дискаверинга регулярно сканирует сеть для обнаружения новых устройств и сервисов. При включении нового сервера в сеть система автоматически обнаруживает его.
Сопоставление с данными из системы управления активами: Получив информацию о вновь обнаруженном сервере, система дискаверинга анализирует его характеристики и сравнивает их с данными, полученными из АСУА.
Создание связи и обогащение: После сопоставления характеристик нового сервера с данными из АСУА, система дискаверинга обогащает информацию о КЕ сервера в своей CMDB, автоматически устанавливает связь между сервером и соответствующей услугой, бизнес-процессом и/или отделом.
Передача актуальной информации в АСУП: После получения достаточной информации в своей CMDB, информация о введении в эксплуатацию передаётся в АСУП для дальнейшего управления этим сервером.
Управление и мониторинг: Администраторы и отделы, ответственные за услуги и процессы в АСУП, могут использовать данные для эффективного управления и мониторинга ресурсов и услуг, связанных с новым сервером.
Результат:
В результате, использование системы дискаверинга позволяет компании автоматически связывать новое оборудование с соответствующими услугами или бизнес-процессами в АСУП, что обеспечивает прозрачность и эффективное управление ИТ‑инфраструктурой.