Pull to refresh

GLPI + Fusion Inventory

Reading time 3 min
Views 95K
Понадобилось мне собрать инфу о конфигурации компьютеров в рабочей сети. В качестве базы была выбрана GLPI. Т.к. OCS Inventory уже описывали на хабре и в коментариях к той статье упоминалось про Fusion Inventroy, то его и будем устанавливать.
Основные задачи:
  1. прикрутить Fusion Inventory к GLPI, без использования OCS Inventory;
  2. скрипт сбора инфы запускать вручную, при необходимости (чтобы в памяти ничего лишнего не висело);
  3. собрать конфигурацию компьютеров, управляющих промышенным оборудованием (они не подключены к сети);


На сервере уже должен быть установлен и настроен LAMP( в моем случае — это FAMP).

Устанавливаем GLPI


# cd /usr/ports/www/glpi; make install clean

Создаём базу и пользователя (USER и PASSWORD заменить на свои):

# mysqladmin -uroot -p create glpi 
# mysql -uroot -p -e"GRANT ALL ON glpi.* TO USERNAME@localhost IDENTIFIED BY 'PASSWORD'" glpi

Добавляем в настройки апача (httpd.conf или httpd-vhosts.conf):

Alias /glpi "/usr/local/www/glpi"
<Directory /usr/local/www/glpi>
	 AllowOverride Options FileInfo
</Directory>

Перезагружаем апач:
# apachectl restart

Идем на созданный сайт(http://{host.domain}/glpi/) и выбираем язык установки Russian, а дальше там всё понятно.

Устанавливаем FusionInventory (сервер)


Скачиваем FusionInventory плагин и распаковываем в папку плагинов GLPI:

# cd ~
# fetch http://forge.fusioninventory.org/attachments/download/120/fusioninventory-for-glpi-2.2.2-release.tar.gz
# cd /usr/local/www/glpi/plugins/
# rm remove.txt
# tar -xzvf /root/fusioninventory-for-glpi-2.2.2-release.tar.gz

Проверяем структуру папок, она должна выглядеть так:

        |--- glpi
              |--- plugins
                    |--- fusioninventory
                          |--- fusioninventory
                          |     |--- index.php
                          |     |--- hook.php
                          |     |--- front
                          |     |--- inc
                          |
                          |--- fusininventory
                          |     |--- ...
                          |
                          |--- fusinvsnmp
                          |--- ...
	etc...

Заходим в GLPI под админским аккаунтом, меню «настройки» -> «дополнения» -> в поле «FusionInventory» -> «обновить/установить» -> «включить». «Устанавливаем», а затем включаем все части плагина в таком порядке:
  1. FusionInventory
  2. FusionInventory INVENTORY
  3. FusionInventory SNMP


Устанавливаем FusionInventory (клиент)


Скачиваем и устанавливаем клиент:
forge.fusioninventory.org/projects/fusioninventory-agent/wiki/Agent_supportedplateforms
При установке указываем путь к серверу(у Win версии настройки задаются во время установки):

http://server_ip/glpi/plugins/fusioninventory/front/plugin_fusioninventory.communication.php

Если используется DNS, то:

http://glpi.mydomain/plugins/fusioninventory/front/plugin_fusioninventory.communication.php

Для Active Directory:

http://AD_DOMAIN\user:password@serverip/glpi/plugins/fusioninventory/front/plugin_fusioninventory.communication.php

Возможно придётся указать дополнительные настройки (proxy, etc) — чекбокс «Advanced» при установке.
После установки клиента, заходим в веб интерфейс GLPI -> «Дополнения» -> «FusionInventory» -> «Управление агентами» и смотрим появился ли компьютер в списке.
Чтобы агент не висел постоянно в памяти, то после установки:

Windows

  1. Скопировать папку установленного Fusion-Inventory
  2. В ней создать файл save_net.cmd с таким содержанием:


set PATH=%CD%\perl\;%CD%\perl\bin;%PATH%
perl.exe %CD%\perl\bin\fusioninventory-agent --debug -f --no-wakeonlan --scan-homedirs --logfile=%CD%agent-log.txt --share-dir=%CD%share —server=http://glpi.mydomain/plugins/fusioninventory/front/plugin_fusioninventory.communication.php

Не забываем изменить «glpi.mydomain» на свое имя/ip.
Для инвентаризации/обновления запускать созданный скрипт, а для сохранения конфигурации компьютера(на котором нет сети)в файл, создаём в папке с Fusion-Inventory каталог «xml» и файл save_local.cmd с таким содержанием:

set PATH=%CD%\perl\;%CD%\perl\bin;%PATH%
perl.exe %CD%\perl\bin\fusioninventory-agent --debug -f --no-wakeonlan --scan-homedirs --local=%CD%\xml --logfile=%CD%\agent-log.txt --share-dir=%CD%\share

После запуска этого скрипта конфигурация сохранится в каталог «xml». Для импорта конфигурации в базу — заходим в glpi -> «Дополнения» -> «FusionInventory» -> «Import agent XML file» и выбираем нужный файл из папки xml.
В итоге получим portable версию Fusion Inventory, которую можно запускать с флешки. Главное быть уверенным, что ни у кого нет какой либо живности на компьютере.

FreeBSD / Linux



P.S. Если удалить оборудование/компьютер/etc из списка, а потом прислать агентом на сервер информацию о нём, то онa не появиться в соответствующем списке — нужно отменить удаление («Показать удалённые объекты» -> «Восстановить»)
Tags:
Hubs:
+4
Comments 3
Comments Comments 3

Articles