Total network inventory linux

Срочная инвентаризация. Или хочу всё знать

Захотелось поделится с хабросообществом парой способов провести инвентаризацию техники быстро и без особых усилий. Сподвигла меня вот эта статья, но как сторонник UNIX-way я расскажу способы сделать всё то же самое и даже больше без необходимости окружать себя гомогенной сетью из одинаковых рабочих станций или привязки к одной технологии.

Что мы хотим?

Способ первый, без затрат.

Хотим мы получить инфу о начинке системных блоков организации, например для составления плана модернизации. Вы слышали про встроенную в Windows команду SYSTEMINFO? А она очень полезная. Даст вам информацию о всей системе в удобоваримом виде:

Просто и понятно.
Но не бегать же по всей фирме запуская консоль и копируя вывод команды в текстовик на какой-нибудь шаре. У нас в компании такое в принципе невозможно, политиками запрещено пользователям запускать CMD, а при использовании «Запуск от имени» все переменные окружения летят в тартарары. Что делать? ВАШЕМУ ВНИМАНИЮ PS-TOOLS!
А конкретнее входящяя в её состав утилита psexec.exe. Но не PSEXEC-ом единым жив человек, вывода на экран нам мало, нам бы это ещё и сохранить всё это безобразие, да желательно с комфортом.
Всё предельно просто:

  • Создаём шару с правами на запись всем подряд, а то мало ли какие урезанные права у рабочих станций (sic! Именно станций, потому как права пользователей этих станций нам не интересны, всё будем делать от своего имени). Ну например \\share\audit\
  • Рисуем файлик в нашими айпишниками. Дело в том, что psexec по неясным причинам не понимает диапазоны адресов типа 192.168.0.1-192.168.0.254 или 192.168.0.0/24. Его, конечно, можно обмануть и подсунуть подобное, но это не стабильно и вредно, ниже объясню почему. Я пользуюсь OO Calc для создания списка IP-адресов. В итоге получаем текстовик (.txt) с примерно таким содержимым:

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

Далее, открываем cmd и пишем:

Хочу ВСЁ знать

И когда уже недостаточно только отчёта встроенной утилиты на помощ приходит AIDA64 от FinalWire. это тот же EVEREST только уже купленный другой компанией и которому было возвращено историческое название.
В принципе можно обойтись покупкой Business Edition и установкой на все станции. потом разрешить им обмениваться информацией и подключатся друг к другу на коком-нибудь порту, после чего клепать отчёты из приятного интерфейса. Но, во-первых это не тру, а во-вторых с автоматизацией процесса могут возникнуть заминки.
Я обхожусь Extreme Edition, всё то же самое но без сетевых отчётов.
Что бы начать вкушать плоды автоматизации нужно несколько несложных операций.

  1. Повторяем этапы подготовки для Systeminfo
  2. Ставим AIDA64
  3. Копируем папку с установленной AIDA64 из Program Files куда-нибудь на общедоступную шару. Например \\share\audit\aida
  4. В AIDA идём в мастер отчётов

Пункт «По выбору пользователя»
И здесь выбираем нужную нам информацию.

Главное не переусердствуйте. Слишком большое количество выбранных пунктов существенно нагрузит клиентские машины, к тому же получится огромный, чрезмерно избыточный отчёт, около 1Mb текстовой информации.
Жмём далее и выбираем нужный тип отчёта. Я рекомендую TEXT или XML, их проще разбирать.
Затем нажимаем Готово и получаем отчёт по нашей машине. В папке программы появится файлик aida64.rpf. Его мы копируем туда же в шару, где у нас лежит исполняемый файл: \\share\audit\aida.
Мой файл выглядит так:

Параметр /R — означает что аида не будет выводить отчёт на экран, а будет складывать его по указанному пути. %computername% — это переменная окружения cmd и на каждом компьютере где мы будем запускать Aida она будет соответствовать имени компьютера. Можно использовать любую другую переменную, но так удобнее всего.
Параметр /TEXT — предопределит тип создаваемого отчёта и автоматически подставит нужное расширение файла, поэтому после %computername% не нужно ставить .txt (%computername%.txt) иначе получим %computername%.txt.txt
Параметр /CUSTOM — даёт понять AIDA откуда брать список нужных компонентов отчёта.
Вот и всё. Запускаем эту строку в CMD и смотрим как в шару складываются очень подробные отчёты включающие в себя полную информацию по всей периферии.

В домене

Благодаря этому, при загрузке, каждый компьютер в сети проверяет, посылал ли он отчёт и если нет, то делает его, а если да, то не делает ничего.
А для того что бы обнавить данные по одной или нескольким машинам, я просто удаляю или переношу соответствующие очёты и через некоторое время у меня свежая инфа.
Внимание: на некоторых экзотических аппаратных платформах (которые AIDA не распознаёт) отработка программы вызывает сбои и даже падения, редкость, но имеет место. По этому на критически важных рабочих станциях и серверах отчёты лучше делать вручную. Полноценно запуская AIDA64 в графическом режиме, тогда компьютер не выдаёт ошибок, а AIDA просто не запускается.

Разбор полученных логов

Я сохраняю отчёты в простом текстовом виде так как пользуюсь для их разбора и анализа bash скрипты, а шара для хранения отчётов хранится на linux машине. По этому если я хочу узнать обо всех машинах: их имя,ip и mac, количество установленной памяти, то делается примерно следующее:

Это простейшая обработка, но когда освою парсинг XML на каком-нибудь языке, конечно перейду на отчёты в этом формате.

Лирика

Можно обсудить ещё и возможность удалённого включения рабочих станция, да и управление компьютерами по сети не последний вопрос. Но ничего универсальнее Wake On Lan ещё не изобрели, а многообразие средств удалённого управление столь велико, что не уместится в рамки этой статьи. Тем более это дело вкуса.

UDP: Neuronix подсказал про OCS NG + GLPI. Красивый и удобный сервер под *nix c поддержкой графиков и отчётов + клиентские части под все возможные ОС. У меня, правда, возникли проблемы с клиентами под Windows 7, но возможно от неестественной кривизны рук. Решение стационарное, нужен какой-нибудь сервер.

UDP2: Да AIDA64 платная, но нам вполне хватит триала, по части консольного использования ничем не ограниченного.

UDP3: Решение с AIDA64 полностью portable. Скинуть всё необходимое на флешку, использовать относительные пути в скриптах и по приходу в любую фирму понадобится только компьютер и права админа.

Источник

TNIDOC

Total Network Inventory Documentation

Linux

Here you can see an overview of data collected from Linux OS assets.

This list is far from complete. If you are looking for particular information that you can’t find here, please contact our tech support.

Some data can only be collected when certain utilities are installed on the target system. If these utilities are not found, an entry describing which data could not be collected and ways to fix the problem will be included into the report in the Common reports mode.

Hardware

  • System
    • Computer p arameters , motherboard and BIOS, memory slots, ports.
  • CPU
    • Name and manufacturer, clock speed, number of cores, socket designation, cache memory, etc.
  • System memory
    • Physical memory size and swap partition.
    • RAM units: capacity, manufacturer, type, form-factor, speed, bank label, locator, etc.
  • Video system
    • Video adapters: name and manufacturer, video memory.
    • Monitors: name and manufacturer, image size and diagonal, picture aspect ratio, video input, etc.
  • Storage details
    • Hard disk drives and removable media: model, interface, number of partitions, size, serial number.
    • CD drives: model and manufacturer, location, availability, media support, features.
    • Logical partitions: label, file system, size, free/used, mount point.
  • Network
    • Network adapters: name and manufacturer, MAC address, IP address/subnet/gateway, BSD device name, type.
    • List of DNS-servers.
  • Peripheral devices
    • Printers: name and manufacturer, driver, status, fax, URI, print-server, PostScript parameters, etc.
    • USB devices: name and manufacturer, speed.
  • Devices
    • Devices divided into types; their names and flags.

Software

  • Operating system
    • Name, architecture, code name, description, kernel, run time.
  • Software
    • Software divided into groups.
    • Name, package name, version, source, URL.
  • Security
    • Firewall rules presented as a h ierarchy .
  • Virtual machines
    • For discovered VMware Workstation s for Linux, VMware ESX, and KVM (only partial KVM information is collected): ID, guest OS type, total size, storage size, state, config file, hardware compatibility, memory, processors, HDD details, CD/DVD details, network adapter details.

Other

  • Environment variables
  • Processes
    • Name, command line, process ID and parent process ID, user account.
  • User accounts
    • Name, full name, ID, group, home directory, shell.

Total Network Inventory

Network inventory management system for use in offices, companies, small and large corporate networks.

Источник

TNIDOCRUS

Документация Total Network Inventory

Linux

Здесь представлен обзор данных, извлекаемых из устройств на базе ОС семейства Linux.

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

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

Оборудование

  • Система
    • Параметры компьютера, материнской платы и BIOS, разъемы памяти, порты.
  • Процессор
    • Имя и производитель, тактовая частота, количество ядер, обозначение разъема, кеш-память и т.д.
  • Системная память
    • Общий объем физической памяти и swap-раздела.
    • Установленные модули памяти: объем, производитель, тип, форм-фактор, частота, метка банка, локатор и т.д.
  • Видеосистема
    • Видеоадаптеры: имя и производитель, видеопамять.
    • Мониторы: имя и производитель, размеры и диагональ, отношение сторон, тип видеосигнала и т.д.
  • Хранение информации
    • Жесткие диски и съемные носители: модель, интерфейс, количество разделов, объем, серийный номер.
    • CD-приводы: модель и производитель, расположение, режим доступа, поддерживаемые носители, возможности.
    • Логические разделы: метка, файловая система, объем, свободно/занято, точка монтирования.
  • Сеть
    • Сетевые адаптеры: имя и производитель, MAC-адрес, IP-адрес/подсеть/шлюз, BSD имя устройства, тип.
    • Список DNS-серверов.
  • Периферия
    • Принтеры: имя и производитель, драйвер, статус, факс, URI, принт-сервер, параметры PostScript и т.д.
    • USB-устройства: имя и производитель, скорость.
  • Устройства
    • Устройства, разбитые по типам; их названия и флаги.

Программы

  • Операционная система
    • Имя, архитектура, кодовое имя, описание, ядро, время работы.
  • Установленные программы
    • Программы, разбитые по группам.
    • Название, имя пакета, версия, источник, URL.
  • Безопасность
    • Древовидное представление правил брандмауэра.
  • Виртуальные машины
    • Для найденных виртуальных машин VMware Workstation для Linux, VMware ESX, а также KVM (по KVM собирается не вся информация): ID, тип гостевой ОС, общий размер, размер хранилища, состояние, конфигурационный файл, совместимость оборудования, память, процессоры, данные HDD, данные CD/DVD, данные сетевого адаптера.

Другое

  • Переменные среды
  • Запущенные процессы
    • Имя, командная строка, ID процесса и родительского процесса, учетная запись.
  • Учетные записи
    • Имя, полное имя, ID, группа, домашняя директория, оболочка.

Total Network Inventory

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

Источник

TNIDOC

Total Network Inventory Documentation

Scanning Unix-based assets

Technology

Computers based on macOS, Linux, FreeBSD, and ESX/ESXi operating systems are scanned using agents. An agent is an executable uploaded via the SSH and SCP/SFTP protocols to a remote computer and gathers information about its hardware and software using the operating system utilities.

The program supports scanning of 64-bit macOS systems.

The SSH protocol enables exchanging data between two hosts using a secure channel. Currently, there are 2 versions of this protocol : SSH-1 and SSH-2. TNI uses SSH-2 for scanning. Most modern UNIX systems allow use of this protocol.

The SCP and SFTP protocols are used for file transfers through a secure channel between two hosts. They are components of most modern SSH servers. TNI supports both of these protocols.

Scanning of the ESX/ESXi systems can also be performed via the HTTP protocol (by accessing their web interface). To use this scanning method you need to specify the credentials in the VMware column on the Scanner tab.

Remote scanning via the SSH protocol

How it works:

  1. TNI connects to the remote computer via the SSH protocol.
  2. A temporary folder is created in the remote user’s home folder. The agent is then uploaded there using either the SFTP or the SCP protocol.
  3. The scanning agent is run and creates a file with gathered information upon completion of its work.
  4. A file containing computer information is then transferred via the SFTP or SCP protocol back to TNI and added to the opened storage.
  5. The temporary folder containing the agent and the created file is deleted.

Before starting a scan one should make sure that:

  • the remote computer runs an SSH-2 server (on TCP port 22, or you can specify a «Custom port» in Options) that supports SFTP or SCP, and firewall allows access to it;
  • the remote user is allowed to access the SSH-server (the AllowUsers option). If scanning is done under the root user, the PermitRootLogin option should be set to yes;
  • the remote user must have administrative privileges (for Linux: be in the sudoers list if the user is other than root).

The operating system should provide the agent with a number of utilities so it can collect all needed data from the computer. The list of utilities depends on the operating system configuration . If one of the utilities is not installed on the scanned computer, a message will be displayed in the appropriate category of the Common reports view.

Furthermore, the operating system should be able to provide standard C++ library libstdc++.so.6.

An approximate list of utilities needed to collect the data on a Linux-based computer: arch, cd-info, df, dmidecode, dpkg-query / emerge / pacman / pkgtool / rpm, get-edid, hdparm, head, ifconfig, iptables, iptables-save, ls, lspci (pciconf for FreeBSD), lsusb, ps, pvdisplay, pvscan, route, rpm, swapon, uname .

Manual scanning

How it works:

  1. The agent executable that is appropriate for the target system is manually copied to the target computer and launched. When the scanning is complete, the agent creates a file containing the collected information .
  2. The resulting file must be moved to the TNI storage.

See the Manual scan section for details.

Total Network Inventory

Network inventory management system for use in offices, companies, small and large corporate networks.

Источник

Читайте также:  Windows games with achievements
Оцените статью