Хабрахабр

Инвентаризируй это, инвентаризируй то: SAM

Удовольствие от уборки способен получить далеко не каждый, но и жить в бардаке невозможно. Вот и CIO приходится проводить инвентаризацию нажитого за годы оборудования и софта, чтобы не столкнуться с Error Code: 418 I’m a teapot.

Не будем сейчас об этих тружениках. Да, наверное, есть компании, которые держат свои угодья в полном порядке, ведь они давно озаботились этим вопросом, изучили методологию управления активами и взяли под контроль весь жизненный цикл ИТ-инфраструктуры и всего программного обеспечения ( cout << «УТОПИЯ!» << endl;). Поговорим про SAM Services и различные методы инвентаризации, а закруглиться мы бы хотели на сводной таблице с наиболее часто используемыми нами тулами и их фичами. Если вы не из их числа, предлагаем разобраться со способами оптимизации процессов управления ИТ-активами.

Как должна была выглядеть сцена пыток Ковача. Кадр из сериала Altered Carbon / «Видоизмененный углерод»
Программа SAM Services в последнее время претерпела изменения (нынче не то, что прежде, folks). Оптимизация инфраструктуры и рабочих нагрузок, оценка рисков и угроз безопасности – теперь проекты стали более кастомизированными, с лицензионной оптимизацией или без нее. На выходе заказчик получит исчерпывающий персонализированный отчет, содержащий рекомендации и предложения по улучшению существующей инфраструктуры, а в качестве бонуса – лицензионный анализ, экономящий время и силы на то, чтобы привести активы к идеальному состоянию.

Как корабль назовешь, так он и будет плавать, поэтому первостепенно определиться с целями и задачами, для чего жизненно необходимо выявить все «хотелки» и «болячки», чтобы уже со знанием дела перейти к последующему шагу – сбору данных и анализу (сюда же относится составление карты для оптимизированной среды на основе бизнес-задач). Проекты проходят в несколько этапов. И вот мы подошли к финальному этапу, когда заказчик получает рекомендации по оптимизации инфраструктуры с юридическим, экономическим и, безусловно, техническим обоснованием.

Для обследования инфраструктуры рекомендуется использовать нижеперечисленные инструменты – если вы pro, можно несколько сразу, поскольку они отлично дополняют друг друга:

  • Active Directory стандартно используется для централизованного управления и хранит данные об объектах (ресурсах, службах, учетных записях пользователей и компьютеров).
  • Altiris – комплексное решение для безопасного управления рабочими станциями, ноутбуками и серверами на всем протяжении их жизненного цикла, включая задачи развертывания, управления ресурсами, установки исправлений и устранения неполадок.
  • Dell KACE – устройство управления высоконагруженными корпоративными системами, обеспечивает широкий функционал, сопровождение оборудования на протяжении всего жизненного цикла и масштабируемость в диапазоне от 100 до 20 000 конечных узлов.
  • Intune – облачная служба для управления мобильными устройствами, мобильными приложениями и компьютерами в облачной среде.
  • LANDESK – инструмент управления жизненным циклом аппаратного и программного обеспечения: от закупки до утилизации; проводит анализ инвентарной информации аппаратного и программного обеспечения на основе данных от производителей аппаратного и программного обеспечения о новых закупках, отслеживает использование программного обеспечения.
  • Lansweeper – автоматизированная система инвентаризации, создания отчетов и управления парком компьютеров.
  • Microsoft Assessment and Planning Toolkit (MAPT) – утилита для инвентаризации, оценки и составления отчетов о серверной инфраструктуре и рабочих станциях.
  • System Center Configuration Manager (SCCM) – продукт для управления ИТ-инфраструктурой на основе Microsoft Windows и смежных устройств.
  • System Center Virtual Machine Manager – централизованное управление виртуальной инфраструктурой.
  • VMware vCenter – централизованное управление виртуальной инфраструктурой VMware.

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

В первую очередь рассмотрим именно этого нашего любимчика – регулярно используем его в проектах «ЛАНИТ-Интеграция». Один из самых доступных инструментов (совсем free of charge) для обследования инфраструктуры – MAPT. Он свободно распространяемый и, в отличие от остальных, не требует подготовки инфраструктуры перед использованием. Когда нужно оперативно найти и минимизировать риски в области ИБ в инфраструктуре, перевести бизнес-процессы заказчика в облако и оптимизировать существующую инфраструктуру, именно с данного решения мы всегда начинаем работы. К сожалению, функционал MAPT позволяет только обнаруживать и собирать данные, поэтому требует установки дополнительных tools.

Кадр из сериала Altered Carbon / «Видоизмененный углерод»

У Express редакции имеется ограничение в объеме БД: 10 Гб максимум. В комплекте с МАРT устанавливается SQL 2008 R2 редакции Express. Так что если мы нацелены на исследование масштабной инфраструктуры заказчика, перед началом установки МАРT необходимо также установить SQL Server редакции Standard.

Работает по типу сканера, в качестве диапазонов поиска можно задать подсеть IP-адресов, импортировать имена устройства из файла, использовать Active Directory, SCCM. МАРT помогает нам в сборе информации об устройстве и его производительности, поддерживает Windows и некоторые версии Unix\Linux систем. Более наглядно:

На выходе МАРT позволяет сформировать нам отчеты о текущей инфраструктуре, которые также можно использовать для лицензионного анализа. Однако последнее сделать труднее, т.к. МАРT генерирует множество различных отчетов с разрозненной информацией и для сведения их в нечто удобоваримое нужно время. Для автоматизации процесса можно воспользоваться скриптом (в приложении) или выполнить SQL запрос.

Приложение

Данный скрипт создан для решения следующих задач:

  1. Подсчет процента инвентаризированных устройств;
  2. Подсчет количества развертываний клиентских ОС и офисных продуктов;
  3. Формирование таблицы с полученными данными в csv файл.

Входные данные (отчеты из МАРТ формата xlsx):

  1. По устройствам AD (ActiveDevicesUsageTracker);
  2. По офисным продуктам (Office)

Выходной файл содержит следующие таблицы:

  1. Клиентские операционные системы (ОС);
  2. Microsoft Office;
  3. Microsoft Visio;
  4. Microsoft Project;

Листинг:

$path = "C:\Users\Administrator\Desktop" ################# Общее #######################
$i = $null
$j = $null
$k = $null [array]$OutputInfoAboutInventMAPT = "Computer Name" + "`t" + "Operating System" + "`t" + "Type" + "`t" + "WMI Status" + "`t" + "Virtual (Y/N)" + "`t" + "Days Since Last Activity" #активные устройства собран МАРТ
[array]$AllActive = "Computer Name" + "`t" + "Operating System" + "`t" + "Type" + "`t" + "WMI Status" + "`t" + "Virtual (Y/N)" + "`t" + "Days Since Last Activity" #активные устройства со всеми ОС
[array]$AllActiveClient = $null #активные устройства с клиентской ОС
[array]$InventPC_NoStatistik = $null $objExcel = New-Object -ComObject Excel.Application $WorkBook = $objExcel.Workbooks.Open($path + "\AD.xlsx") $objExcel.visible = $false $WorkSheetMapt = $WorkBook.sheets.item("Device Details")
$MaptInventPC = $WorkSheetMapt.Range("A:A").value2 -ne $null
$OS = $WorkSheetMapt.Range("C:C").value2 -ne $null
$Type = $WorkSheetMapt.Range("D:D").value2 -ne $null
$WMIStatus = $WorkSheetMapt.Range("F:F").value2 -ne $null
$ActiveDay = $WorkSheetMapt.Range("J:J").value2 -ne $null for ($i = 0; $i -le $MaptInventPC.count; $i++) } $AllSuccess = $OutputInfoAboutInventMAPT[1..$OutputInfoAboutInventMAPT.Count] for ($i = 0; $i -le $MaptInventPC.count; $i++) { if ($ActiveDay[$i] -le 90) { $AllActive += $MaptInventPC[$i] + "`t" + $OS[$i] + "`t" + $Type[$i] + "`t" + $WMIStatus[$i] + "`t" + $ActiveDay[$i] } } $ProcentInventPC = $AllSuccess.count * 100 / $AllActive.count "Всего обнаружено активных устройст" + "`t" + $AllActive.count >> "C:\Users\Administrator\Desktop\Info.csv" "Всего инвентаризировано активных устройств" + "`t" + $AllSuccess.Count >> "C:\Users\Administrator\Desktop\Info.csv" "% инвентаризации" + "`t" + $ProcentInventPC >> "C:\Users\Administrator\Desktop\Info.csv" ################### Таблица с клиентскими ОС ################################### for ($i = 0; $i -le $MaptInventPC.count; $i++) { if (($ActiveDay[$i] -le 90) -and ($Type[$i] -eq "Client")) { $AllActiveClient += $OS[$i] } } $CountActiveClient = $AllActiveClient | Group-Object | Select-Object -Property Name, Count "Семейство продуктов" + "`t" + "Всего развертываний ПО" >> "C:\Users\Administrator\Desktop\Info.csv" for ($i=0; $i -le $CountActiveClient.count; $i++) { $CountActiveClient[$i].name + "`t" + $CountActiveClient[$i].count >> "C:\Users\Administrator\Desktop\Info.csv" } $WorkBook.Close() ################## MS Office ########################### [array]$visio = $null [array]$project = $null $WorkBookOffice = $objExcel.Workbooks.Open($path + "\Office.xlsx") $objExcel.visible = $false # на экране не отображается $WorkSheetOffice = $WorkBookOffice.sheets.item("Office2016Assessment") $WorkSheetApp = $WorkBookOffice.sheets.item("OfficeAppSummary") $NameOfficeSuite = $WorkSheetOffice.Range("G:G").value2 -ne $null $AppName = $WorkSheetApp.Range("A:A").value2 -ne $null $AppNumInstallCopie = $WorkSheetApp.Range("D:D").value2 -ne $null "`n" + "`n" + "`n" + "`n" + "MS Office" + "`n" + "Название" + "`t" + "Количество" >> "C:\Users\Administrator\Desktop\Info.csv" $CountOfficeSuite = $NameOfficeSuite| Group-Object | Select-Object -Property Name, Count for ($i=0; $i -le $CountOfficeSuite.count; $i++) { $CountOfficeSuite[$i].name + "`t" + $CountOfficeSuite[$i].count >> "C:\Users\Administrator\Desktop\Info.csv" } ################# Visio ############################# for ($i = 0; $i -le $AppName.count; $i++) { if (($AppName[$i] -like "*visio*" ) -and ($AppName[$i] -notlike "*viewer*")) { $visio += $AppName[$i] + "`t" + $AppNumInstallCopie[$i-1] } } "`n" + "`n" + "Visio" + "`n" + "Семейство продуктов" + "`t" + "Всего развертываний ПО" >> "C:\Users\Administrator\Desktop\Info.csv" for ($i=0; $i -le $visio.count; $i++) { $visio[$i] >> "C:\Users\Administrator\Desktop\Info.csv" } ###################### Project ###################### for ($i = 0; $i -le $AppName.count; $i++) { if (($AppName[$i] -like "*project*" ) -and ($AppName[$i] -notlike "*viewer*")) { $project += $AppName[$i] + "`t" + $AppNumInstallCopie[$i-1] } } "`n" + "`n" + "Project" + "`n" + "Семейство продуктов" + "`t" + "Всего развертываний ПО" >> "C:\Users\Administrator\Desktop\Info.csv" for ($i=0; $i -le $project.count; $i++) { $project[$i] >> "C:\Users\Administrator\Desktop\Info.csv" }

В таблицах AllDevices_Assessment.HardwareInventoryCore, AllDevices_Assessment.HardwareInventoryEx, Core_Inventory.AdDiscoveredDevices, Core_Inventory.Devices, SqlServer_Assessment.SqlInstances и представлениях MAP_External_Access.InstalledProductsView собрана основная часть необходимого.

Второе место по доступности и функциональности делят SCCM, Altiris, LANDESK, которые мы решили не столько разобрать по косточкам, сколько продемонстрировать разнообразие инструментов, поэтому с нетерпением ждем ваши правки и комментарии:

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

Кадр из сериала Altered Carbon / «Видоизмененный углерод»

Составление соотношения всего используемого ПО с фактически закупленным (лицензионный анализ) — бонус проекта. SAM-проекты с течением времени приобрели совершенно иной размах, по концепции приблизившись к всестороннему консалтингу по части оптимизации и поддержки инфраструктуры, совершенствования ИБ. В конечном итоге, ничто не идет в сравнение с чувством удовлетворения при виде идеально прибранных и управляемых угодий, где минимизированы риски всевозможных угроз и оптимизирована поддержка инфраструктуры заказчика. Основная цель заключается в том, чтобы заказчик по окончании проекта мог сам поддерживать идеальный порядок. Welcome to the Brave New World с кастомизированностью и закрытыми IT-гештальтами.

Всем КАРМЫ, а мы с моим дорогим соавтором dnmnk пока будем ждать ваши комментарии и замечания.

Хотите работать с нами?

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»