Продукты для сбора и инвентаризации данных делятся на два типа: софт, который собирает данные с помощью скриптов, и пакетные решения, которые собирают данные готовым программным кодом. 

В статье разбираем плюсы и минусы каждого варианта, а также окунаемся в краткую историю появления скриптов для сбора данных и управлении ИТ-инфраструктурой. В конце вас ждет удобная таблица с плюсами и минусами софта на скриптах.

Две минуты базы про скрипты

Начнем с базовых определений. 

Скрипт ― это набор команд, которые прописаны в коде, и которые выполняют определенные действия. А в контексте скриптов для сбора данных скрипт  ― это код, который содержит команды для выполнения действий для сбора данных о технических характеристиках: конфигурационных единиц, атрибутов устройств, программ и значениях их атрибутов. 

История скриптов и сбора данных 

В хардкорные времена ИТ в распоряжении специалистов были только «голые» операционные системы без специализированных инструментов. Но ИТ-инфраструктура бизнеса разрасталась и усложнялась, так появилась необходимость управлять всем, что в нее входит.

Придумали набор утилит, чтобы администрировать операционные системы. Чтобы не прописывать вручную каждую команду и запускать по очереди, стали собирать в один файл сразу ряд команд. Это были BAT-файл в ранних версиях Windows (сейчас powershell) и bash в Linux, в которых содержалось описание, в какой последовательности должны осуществляться команды. Иными словами, появились командные оболочки операционных систем и скрипты для работы с ними. 

Командные оболочки развивались, в ОС Shell добавляли все новые дополнительные команды. Можно провести аналогию с историей развития браузеров. Когда-то (не так уж и давно) тот же Google Chrome был просто сайтом с ограниченным количеством выполняемых функций. Теперь это уже не сайт, а приложение, в котором есть все. 

Итак, ОС оснащены скриптами на всевозможные задачи, теперь их нужно привести в порядок и управлять. Так возник DevOps, который описал скриптами всю инфраструктуру от корневых сертификатов до бизнес-прикладных приложений. Хранить это священное знание стали в контроле версий, чтобы можно было откатить все назад. Однако при этом возросли трудозатраты на поддержание актуальности скриптов и обработку полученных данных. 

Камнем преткновения стало то, что весь массив информации хранился в голове у сисадмина, и при увольнении преимущественно терялся либо физически, либо новый сотрудник не понимал, как все это интерпретировать и переписывал по-своему. Также поиск технической документации о ПО и написание скриптов отнимали много времени у ИТ-специалистов. 

Все вместе это создавало лишний хаос, а задачи по управлению ИТ и сбору данных любят порядок.

Софт с программным кодом 

Чтобы решить эту проблему бизнеса, на зарубежном рынке появились вендоры, которые предложили софт с готовым программным кодом. Например, PDQ и Total Network Inventory. Появилась задача собрать данные о версиях ОС ― это делает готовый программный код. Админ нажимает кнопку и нужные данные уже у него на экране.

Пример сетевой инвентаризации в Total Network Inventory
Пример сетевой инвентаризации в Total Network Inventory

Все просто, все работает и зачем придумывать что-то еще? Тут на сцену выходят нестандартные задачи, для которых нужны уже новые решения. 

Продукты на скриптах 

Софт с программным кодом справляется с базовыми данными и устройствами, но «шаг влево, шаг вправо» – и начинаются проблемы. Например, отвалился корневой сертификат, и сисадмину нужно его восстановить. Купленный пакетный софт не умеет собирать данные по этим сертификатам и этой информации здесь и сейчас просто нет. 

Другой пример ― в инфраструктуре появляется нестандартное ПО, например, nanoCad. По нему надо собрать информацию для расчета закупок и устранять проблемы сотрудников при работе с ним. И в этом случае программный код софта не умеет доставать такие данные. 

Тогда у бизнеса появляется два способа решить эту проблему: каждый раз докупать программы под возникающие задачи или выбрать один инструмент для сбора данных на скриптах, который может получить любые данные. 

Так появилась необходимость в софте, который работает на скриптах. Как это устроено: в софте есть стандартные скрипты для сбора информации с устройств, а также есть возможность добавить свои скрипты или отредактировать их под необходимую задачу. Скрипты ― универсальный и при этом максимально кастомный инструмент, с помощью которого можно дотянуться до всех нужных данных. 

Пример скриптов для сбора данных в «‎Инферит ИТМен»
Пример скриптов для сбора данных в «‎Инферит ИТМен»

Скрипты или программный код: плюсы и минусы

Итак, пакетные решения ― это продукты, которые собирают данные с помощью готового программного кода, написанного на определенном языке. 

Софт на скриптах ― продукты, которые собирают данные скриптами, то есть кодом с заданной последовательностью действий и возможностью редактировать и добавлять свои скрипты, а также самостоятельно выбирать язык для написания. 

Основными преимуществами пакетных решений является то, что они работают «по одной кнопке» и готовым заданным шаблонам. Не нужны высокие скиллы администраторов и больших трудозатрат на работу с таким ПО. 

Также данные программы выдают собранные данные в уже стандартизированном виде. Например, свободное место на диске отображается в них в привычном удобном формате: гигабайтах, мегабайтах и т.д.

При этом у таких решений есть и свои недостатки. Главный ― они могут ровно собирать ровно столько, сколько заложено в программном коде: определенные параметры софта и устройств, определенные типы и виды самого ПО. Если нужно собрать данные с нового специфичного софта, придется докупать другие пакеты или ждать обновления от вендора. 

Еще один минус ― пакеты работают на всем объеме имеющихся данных. Это означает, что нет возможности отфильтровать информацию, чтобы уменьшить объем данных, что приводит к потери скорости и сбоям в работе на большом количестве устройств.

Из-за этих факторов пакетные решения зачастую не подходят компаниям, у которых разветвленная и разнообразная инфраструктура со специализированным софтом, или в парке устройств больше 20 000 единиц.

Для больших объемов и нетривиальных задач по сбору данных подходит как раз софт на скриптах. Основное преимущество заключается в гибкости и прозрачности, то есть ИТ-специалист может самостоятельно написать скрипт и отредактировать имеющийся в продукте и получить детальную информацию даже с нетипичного ПО и устройств.

Еще одно преимущество ― работа на больших объемах без потери скорости и без сбоев. Для этого можно настроить фильтрацию данных и собирать только нужную на данный момент информацию.

Минусы у софта на скриптах также имеются. Для работы с таким ПО специалистам необходимы определенные скиллы  ― в первую очередь, писать работающие скрипты. Также «базовый» софт на скриптах приводит к немалым трудозатратам, так как программа собирает данные со всей инфраструктуры и «отгружает» сисадмину, которому нужно нормализовать их «руками» и приводить к стандартизированному формату. 

Софт на скриптах 2.0 ― конвейер обработки данных

Чтобы избежать высоких трудозатрат, необходимо автоматизировать нормализацию данных. Так на рынке появились продукты нового поколения, которые собирают данные скриптами, затем обрабатывают и поставляют их системным администраторам в нормализованном виде.

Один из таких продуктов ― «‎Инферит ИТМен», разработанный в России. Его ключевая особенность заключается в сборе данных с помощью сенсоров. 

Сенсоры ― это мини-программы, состоящие из последовательности скриптов, которые не только собирают данные, но и автоматически идентифицируют и нормализуют, как единый конвейер. 

Конвейер для обработки данных состоит из 3 этапов: 

  1. Сбор данных и детализация собранной информации.

  2. Нормализация данных – устранение дублей конфигурационных единиц с применением искусственного интеллекта и Библиотеки ПО.

  3. Обогащение данных − создание дополнительных данных на основе собранной информации с использованием редактора правил распознавания ПО и Библиотеки ПО.

Принцип работы конвейера для обработки данных 
Принцип работы конвейера для обработки данных 

С сенсорами и конвейером данных сисадминам не нужно тратить время на поиск в интернете технической документации ПО и написания скриптов. 

Другие продукты такого же класса: Altiris и PDQ Inventory.

В общем, софт на скриптах и пакетные решения можно сравнить с самостоятельной разработкой сайта и сборкой в конструкторах. В первом случае у вас есть практически неограниченные возможности для верстки, адаптации для мобильных устройств или сложных интеграций с теми же CRM. 

Во втором ― вы ограничены функционалом конструктора, зато можно сделать базовый сайт просто и быстро.

У каждого варианта есть свои преимущества и недостатки  ― выбирать нужно исходя из типов задач, объема данных, количества устройств и ресурсов ИТ-команды. 

Таблица с плюсами и минусами софта на скриптах: 

Плюсы скриптов

Минусы скриптов 

Редактируемость и гибкость 

Можно дописать и изменить скрипт, чтобы, например, собирать данные с новой версии ОС Astra Linux или со специфичного софта. 

В случае с пакетным решением, если в нем нет функционала по сбору таких данных, то остается только ждать обновления или докупать новую программу.

Гибкость также и в том, что можно выбрать язык для написания скрипта, исходя из задачи и стека ИТ-специалиста. 

Скиллы сотрудников

Для написания и редактирования скриптов нужны определенные скиллы.

 
То есть ИТ-специалистам нужно обучиться работе в продукте, а также в принципе уметь писать скрипты.

Масштабируемость 

С помощью фильтрации и заданных параметров можно уменьшить объем собираемых данных и не терять скорость и производительность. 

Например, исключить ненужные на данный момент атрибуты и характеристики устройств. 

Высокие трудозатраты

Трудозатраты необходимы на обработку полученных скриптами данных. 

Стандартные программы на скриптах имеют свой предел, после которого их использование становится трудозатратным. Это зависит от объема изменений в ИТ-инфраструктуре и динамике данного процесса. 

Проблема решается софтом со встроенным конвейером для обработки данных ― таким, как  «‎Инферит ИТМен».

Такой софт не только собирает данные, но нормализует с помощью ИИ и Библиотеки ПО, приводит к стандартному виду, а затем обогащает дополнительной информацией. Это полностью автоматизирует процесс по сбору данных и сводит ручной труд к минимуму. 

Если компания может позволить себе 5 человек только на обслуживание скриптовой работы и дискаверинг ―  подойдет и стандартный софт на скриптах. Если таких ресурсов нет, лучше выбрать софт со встроенным конвейером обработки данных. 

Прозрачность 

Можно проверить код внутри скрипта и точно знать, что и как собирает программа. 

В пакетных же решениях вы получаете конечный результат и только потом видишь, что в списке нет установленного софта, информация о котором нужна для решения задачи. Приходится поднимать техническую документацию программы или писать в их техподдержку, чтобы собрать нужные данные. 

Требования ИБ 

Если вы запускаете вручную скрипты или пользуетесь продуктами без нормализации, то в зависимости от строгости ИБ и частоты изменений требований, могут быть проблемы с соблюдениями требований от ИБ. 

Например, если вводят новые правила для шифрования паролей и логов ― необходимо переписать скрипты.  

Готовые пакетные продукты же  обычно соответствуют основным подобным требованиям. 

Комментарии (5)


  1. uuger
    27.11.2023 07:47
    -1

    В хардкорные времена ИТ в распоряжении специалистов были только «голые» операционные системы без специализированных инструментов. Но ИТ-инфраструктура бизнеса разрасталась и усложнялась, так появилась необходимость управлять всем, что в нее входит.

    Придумали набор утилит, чтобы администрировать операционные системы. Чтобы не прописывать вручную каждую команду и запускать по очереди, стали собирать в один файл сразу ряд команд. Это были BAT-файл в ранних версиях Windows (сейчас powershell) и bash в Linux, в которых содержалось описание, в какой последовательности должны осуществляться команды. Иными словами, появились командные оболочки операционных систем и скрипты для работы с ними. 

    Кажется, автор рекламной простыни не очень знаком с предметом, о котором пишет


  1. bilskirnir
    27.11.2023 07:47
    +2

    Ну да, скрипты ― это гибко и удобно, но если есть “прямокодящие” админы. Иначе задергают разработку. Тут готовые скрипты в ПО только и спасут, да. 


  1. lokey
    27.11.2023 07:47
    +1

    Скрипты и сенсоры ― это интересно, конечно. У нас просто не помню таких нетривиальных задач, чтобы программный код не справился и надо было что-то допиливать. Хотя… кто знает, когда беда нагрянет.


  1. Slivina
    27.11.2023 07:47

    То есть в итоге условные пакеты отличаются от скриптов тем, что пользователям доступен только тот функционал, который уже есть. А какие-то изменения и т.д. - это все ждать или что-то еще искать?
    А на скриптах - можно самим дописать и собрать технологиями продукта?


    1. ivansychev Автор
      27.11.2023 07:47

      Да, софт на скриптах позволяет быть максимально гибкими в вопросах сбора данных и самостоятельно добавлять и редактировать скрипты под специфичное ПО и оборудование. А также не зависеть от вендора и их обновлений.