- Инвентаризация железа в Linux
- Ссылки
- ALD Pro
- Другие продукты разработчика:
- BILLManager
- Astra Linux Special Edition — операционная система специального назначения
- RuBackup
- Система виртуализации Брест
- Termidesk
- WorksPad
- RuPost
- DCImanager
- VMmanager
- Tantor
- Срочная инвентаризация. Или хочу всё знать
- Что мы хотим?
- Способ первый, без затрат.
- Хочу ВСЁ знать
- В домене
- Разбор полученных логов
- Лирика
Инвентаризация железа в Linux
Ниже приведен список команд для инвентаризации оборудования в Linux. Обратите внимание: не все команды доступны для всех дистрибутивов. Лучше запускать от имени root (или через sudo), чтобы получить всю информацию.
Команда: lscpu
- Список всех доступных процессоров и их характеристики
- Не доступна в старых версиях linux дистрибутивов
Команда: lshal
- Требует установленного HAL (Hardware Abstraction Layer)
- Список всего что видно через HAL
Команда: lshw
- Доступно для дистрибутивов на основе Ubuntu по умолчанию, а Debian в основном репозитории
- Доступно в репозиториях Fedora
- Использует разные инструменты для обнаружения всего аппаратного обеспечения: Kernel, HAL, DMI и т.д.
- С опцией ‘-html’ генерирует читабельные отчеты
Команда: lspci
- Стандартная команда
- Список всех аппаратных средств, подключенных к шине PCI, обнаруженных ядром
Команда: lsusb
- Стандартная команда
- Список всех аппаратных средств, подключенные к шинам USB, обнаруженных ядром
Команда: dmidecode
- Стандартная команда
- Получает исходную информацию из DMI (своего рода интерфейс BIOS)
- Список всех аппаратных средств, о которых сообщает интерфейс DMI.
Остановился на последней — dmidecode
Скрипт на python для сбора и отправки информации в БД об аппаратном обеспечении в Linux (в разработке): check_hard_inventory.py:
Ссылки
ALD Pro
ALD Pro – программный комплекс для автоматизации и централизованного управления компьютерами и пользователями, иерархией подразделений и групповыми политиками, а также прикладными сервисами для ИТ-инфраструктур организаций различного масштаба.
Программный комплекс ALD Pro на базе ОС Astra Linux предназначен для централизованного управления объектами организаций различного масштаба.
Ключевые приемущества ALD Pro:
- Простое внедрение отечественного ПО с последующей миграцией
- Возможность работы с уже существующими системами
- Удобство развертывания, отказоустойчивость и возможность масштабирования
- Все управление – через единый интерфейс и без командной строки
Функциональные возможности ALD Pro
- Простая установка и настройка контроллера домена
- Миграция данных из MS Active Directory
- Создание иерархии подразделений
- Удаленная установка ОС
- Автоматизированная установка ПО на клиенты
- Управление подразделениями, компьютерами и пользователями
- Управление групповыми политиками
- Инвентаризация, отчетность и мониторинг
- Сбор и хранение событий безопасности
Другие продукты разработчика:
BILLManager
BILLManager – платформа для автоматизации продажи хостинга и облачных проектов. Универсальный биллинговый инструмент провайдера: ведёт тарификацию по различным схемам, интегрируется с эквайрингом, принимает и контролирует платежи, готовит отчётные документы, уведомляет клиентов и т. д.
Astra Linux Special Edition — операционная система специального назначения
Astra Linux Special Edition — сертифицированная операционная система специального назначения со встроенными средствами защиты информации для работы с данными ограниченного доступа. Единственная в стране имеет полный набор сертификатов Минобороны России, ФСТЭК России и ФСБ России, входит в реес.
RuBackup
Профессиональное программное решение резервного копирования
Система виртуализации Брест
Система виртуализации Брест — современный инструментарий для управления виртуальными структурами любой сложности с применением средств защиты Astra Linux Special Edition. Предназначена для работы в различных информационных системах, в т.ч. обрабатывающих конфиденциальные данные, включая госуда.
Termidesk
Termidesk — мультиплатформенный продукт для организации безопасной и удалённой работы сотрудников. Виртуализация рабочих мест и приложений на различных платформах виртуализации. Основное предназначение — автоматизация жизненного цикла виртуальных рабочих мест и организация их безопасной.
WorksPad
WorksPad – клиент-серверное корпоративное решение класса Enterprise Mobility Management (EMM) для организации защищенной мобильной работы сотрудников на смартфонах и планшетах на базе iOS и Android. Обеспечивает высокий уровень защиты данных и предотвращает их утечку за счёт установки на мобил.
RuPost
RuPost – система управления корпоративной почтой. Включает в себя библиотеку специально разработанных и протестированных шаблонов конфигураций, кластерный сервер для построения масштабируемой отказоустойчивой корпоративной почтовой системы, единую панель управления — от развёртывания до.
DCImanager
DCImanager – платформа для управления мультивендорным оборудованием в ЦОД: стойками, серверами, ИБП и PDU, а также физическими и виртуальными сетями. Подходит для дата-центров любого масштаба, в том числе географически распределённых.
VMmanager
VMmanager – платформа управления виртуализацией. Позволяет администрировать и объединять в общую сеть как физическое оборудование, так и виртуальные серверы, и рабочие места на базе QUEMU/KVM и контейнеризации LXD/LXC.
Tantor
Tantor – СУБД и полнофункциональная модульная платформа администрирования и мониторинга кластеров PostgreSQL с единым и удобным графическим интерфейсом.
Срочная инвентаризация. Или хочу всё знать
Захотелось поделится с хабросообществом парой способов провести инвентаризацию техники быстро и без особых усилий. Сподвигла меня вот эта статья, но как сторонник UNIX-way я расскажу способы сделать всё то же самое и даже больше без необходимости окружать себя гомогенной сетью из одинаковых рабочих станций или привязки к одной технологии.
Что мы хотим?
Мы хотим сделать перепись имеющегося оборудования в зависимости от требований руководства или наших собственных порывов обладать исчерпывающей информацией о своих владениях.
Я не буду претендовать на исчерпывающее руководство, но пару быстрых способов я подскажу.
Способ первый, без затрат.
Хотим мы получить инфу о начинке системных блоков организации, например для составления плана модернизации. Вы слышали про встроенную в Windows команду SYSTEMINFO? А она очень полезная. Даст вам информацию о всей системе в удобоваримом виде:
- Создаём шару с правами на запись всем подряд, а то мало ли какие урезанные права у рабочих станций (sic! Именно станций, потому как права пользователей этих станций нам не интересны, всё будем делать от своего имени). Ну например \\share\audit\
- Рисуем файлик в нашими айпишниками. Дело в том, что psexec по неясным причинам не понимает диапазоны адресов типа 192.168.0.1-192.168.0.254 или 192.168.0.0/24. Его, конечно, можно обмануть и подсунуть подобное, но это не стабильно и вредно, ниже объясню почему. Я пользуюсь OO Calc для создания списка IP-адресов. В итоге получаем текстовик (.txt) с примерно таким содержимым:
192.168.0.1 192.168.0.2 . 192.168.0.254
psexec.exe @c:\ip-list.txt -d -n 12 systeminfo > \\share\audit\%COMPUTERNAME%.txt
- Тут информация только по содержимому коробки системного блока и чуть-чуть по Windows.
- Хотя установленные программы хранятся внутри системного блока про них тоже ничего не выводится
- Даже по внутренностям мало информации, например нет ничего про тип оперативной памяти, только объём. Да и процессор освещён весьма скудно.
Хочу ВСЁ знать
И когда уже недостаточно только отчёта встроенной утилиты на помощ приходит AIDA64 от FinalWire. это тот же EVEREST только уже купленный другой компанией и которому было возвращено историческое название.
В принципе можно обойтись покупкой Business Edition и установкой на все станции. потом разрешить им обмениваться информацией и подключатся друг к другу на коком-нибудь порту, после чего клепать отчёты из приятного интерфейса. Но, во-первых это не тру, а во-вторых с автоматизацией процесса могут возникнуть заминки.
Я обхожусь Extreme Edition, всё то же самое но без сетевых отчётов.
Что бы начать вкушать плоды автоматизации нужно несколько несложных операций.
- Повторяем этапы подготовки для Systeminfo
- Ставим AIDA64
- Копируем папку с установленной AIDA64 из Program Files куда-нибудь на общедоступную шару. Например \\share\audit\aida
- В AIDA идём в мастер отчётов
Пункт «По выбору пользователя»
И здесь выбираем нужную нам информацию.
ReportProfile="Custom" ProfileFile="\\share\audit\aida\aida64.rpf" ReportFormat="txt" (не важный параметр, мы будем его подменять в консоли) RemoteReportFolder="C:\Users\***\Documents\AIDA64 Reports" (не важный параметр, мы будем его подменять в консоли) RemoteReportFileName="$HOSTNAME" (не важный параметр, мы будем его подменять в консоли) InfoPage="Computer;Summary" InfoPage="Computer;Computer Name" InfoPage="Computer;DMI" InfoPage="Computer;Sensor" InfoPage="Motherboard;CPU" InfoPage="Motherboard;CPUID" InfoPage="Motherboard;Motherboard" InfoPage="Motherboard;Memory" InfoPage="Motherboard;Chipset" InfoPage="Motherboard;BIOS" InfoPage="Operating System;Operating System" InfoPage="Server;Share" InfoPage="Server;Opened Files" InfoPage="Display;Windows Video" InfoPage="Display;GPU" InfoPage="Display;Monitor" InfoPage="Storage;Logical Drives" InfoPage="Storage;Physical Drives" InfoPage="Network;Windows Network" InfoPage="Software;Installed Programs"
psexec.exe @c:\ip-list.txt -d -n 12 \\share\audit\aida\aida64.exe /R \\share\audit\%COMPUTERNAME% /TEXT /CUSTOM \\share\audit\aida\aida64.rpf
Параметр /R — означает что аида не будет выводить отчёт на экран, а будет складывать его по указанному пути. %computername% — это переменная окружения cmd и на каждом компьютере где мы будем запускать Aida она будет соответствовать имени компьютера. Можно использовать любую другую переменную, но так удобнее всего.
Параметр /TEXT — предопределит тип создаваемого отчёта и автоматически подставит нужное расширение файла, поэтому после %computername% не нужно ставить .txt (%computername%.txt) иначе получим %computername%.txt.txt
Параметр /CUSTOM — даёт понять AIDA откуда брать список нужных компонентов отчёта.
Вот и всё. Запускаем эту строку в CMD и смотрим как в шару складываются очень подробные отчёты включающие в себя полную информацию по всей периферии.
В домене
Я добавил исполнение этого скрипта (без части с psexec) в Startup Scripts в политиках домена.
Это было бы не правильно без некоторой доработки, в итоге скрипт в политиках выглядит так:
if not exist \\share\audit\%COMPUTERNAME%.txt ( \\share\audit\aida\aida64.exe /R \\share\audit\%COMPUTERNAME% /TEXT /CUSTOM \\share\audit\aida\aida64.rpf ) else exit
Благодаря этому, при загрузке, каждый компьютер в сети проверяет, посылал ли он отчёт и если нет, то делает его, а если да, то не делает ничего.
А для того что бы обнавить данные по одной или нескольким машинам, я просто удаляю или переношу соответствующие очёты и через некоторое время у меня свежая инфа.
Внимание: на некоторых экзотических аппаратных платформах (которые AIDA не распознаёт) отработка программы вызывает сбои и даже падения, редкость, но имеет место. По этому на критически важных рабочих станциях и серверах отчёты лучше делать вручную. Полноценно запуская AIDA64 в графическом режиме, тогда компьютер не выдаёт ошибок, а AIDA просто не запускается.
Разбор полученных логов
Я сохраняю отчёты в простом текстовом виде так как пользуюсь для их разбора и анализа bash скрипты, а шара для хранения отчётов хранится на linux машине. По этому если я хочу узнать обо всех машинах: их имя,ip и mac, количество установленной памяти, то делается примерно следующее:
iconv -f cp1251 ./*.txt | egrep -i "Имя компьютера|с ip|с mac|Тип ЦП|Системная память"
Это простейшая обработка, но когда освою парсинг XML на каком-нибудь языке, конечно перейду на отчёты в этом формате.
Лирика
Можно обсудить ещё и возможность удалённого включения рабочих станция, да и управление компьютерами по сети не последний вопрос. Но ничего универсальнее Wake On Lan ещё не изобрели, а многообразие средств удалённого управление столь велико, что не уместится в рамки этой статьи. Тем более это дело вкуса.
UDP: Neuronix подсказал про OCS NG + GLPI. Красивый и удобный сервер под *nix c поддержкой графиков и отчётов + клиентские части под все возможные ОС. У меня, правда, возникли проблемы с клиентами под Windows 7, но возможно от неестественной кривизны рук. Решение стационарное, нужен какой-нибудь сервер.
UDP2: Да AIDA64 платная, но нам вполне хватит триала, по части консольного использования ничем не ограниченного.
UDP3: Решение с AIDA64 полностью portable. Скинуть всё необходимое на флешку, использовать относительные пути в скриптах и по приходу в любую фирму понадобится только компьютер и права админа.