- Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры
- Установка и настройка стека LAMP в Linux
- Установка GLPI
- Базовая настройка GLPI
- Обзор интерфейса GLPI
- Плагин FusionInventory — автоматическая инвентаризация серверов и компьютеров
- Установка Fusion Inventory
- Установка Fusion Agent в Windows
- Установка Fusion Agent на Linux
- Статистика и отчеты в GLPI
- Автоматизация установки агента fusioninventory на Windows системы
Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры
В этой статье мы рассмотрим пошаговую установку и настройку GLPI. GLPI (Gestionnaire Libre de Parc Informatique — франц.) – это полноценная open-source ITSM система для управления процессами, инвентаризации оборудования и софта, а также для управления заявками и инцидентами. GLPI это большой комбайн, в котором заложено большое количество функционала по управлению ИТ на предприятии. Некоторые из возможностей GLPI:
- Инвентаризация компьютеров, серверов, оргтехники (принтеры, мониторы, МФУ, картриджи и прочее)
- Инвентаризация установленных на компьютерах программ и лицензий
- Управление заявками и инцидентами (регистрация обращений пользоватетелей, HelpDesk)
- База знаний
- Ведение проектов
- Управление бюджетом
Установка и настройка стека LAMP в Linux
GLPI это обычное веб приложение с базой данных, поэтому на сервере нужно развернуть LAMP стек (в данной статье GLPI будет установлен на apache, но возможна также установка на nginx).
apt update
apt install mysql-server mysql-client apache2 php php-mysql libapache2-mod-php php-json php-gd php-curl php-mbstring php-cas php-xml php-cli php-imap php-ldap php-xmlrpc php-apcu
Создайте новую mysql базу данных (можно использовать и mariadb) и пользователя для GLPI:
mysql -u root -p
CREATE DATABASE glpi;
CREATE USER ‘glpi’@’localhost’ IDENTIFIED BY ‘password’;
GRANT ALL PRIVILEGES ON glpi.* TO ‘glpi’@’localhost’;
FLUSH PRIVILEGES;
exit;
Скачайте и распакуйте дистрибутив GLPI:
wget https://github.com/glpi-project/glpi/releases/download/9.4.5/glpi-9.4.5.tgz
tar xvf glpi-9.4.5.tgz
Скопируйте GLPI в веб директорию:
mkdir /var/www/glpi
cp -R glpi/* /var/www/glpi
chown -R www-data:www-data /var/www/glpi
Создайте файл виртуал хоста:
И вставляем следующую конфигурацию Virtual Host:
a2ensite glpi
service apache2 reload
Проверьте, что виртуалхост активен.
Откройте браузер и переходим по URL адресу, который вы указали в виртуал хосте. В моём случае это glpi.local .
Перед вами должно появится окно веб-установщика GLPI.
Установка GLPI
Сначала нужно выбрать язык интерфейса GLPI и принять лицензионное соглашение. На следующем шаге нажмите Install и убедитесь, чтобы все тесты прошли успешно.
Укажите данные для подключения к базе данных.
Выберите ранее созданную базу данных:
Нажмите Continue и дождитесь импорта данных. База данных может наполняться продолжительное время (несколько минут). Это можно проверить командой show processlist; в mysql.
После этого установка GLPI практически завершена. Зайдите в панель управления (по-умолчанию, логин и пароль – glpi).
Базовая настройка GLPI
Для начала необходимо изменить пароли для встроенных пользователей, это можно сделать на вкладке Administration -> Users.
Если вы не хотите использовать встроенных пользователей, можно их разом отключить.
Обзор интерфейса GLPI
Пробежимся по интерфейсу GLPI и рассмотрим некоторые из возможностей системы.
Вкладка Assets
Эта вкладка отвечает за инвентаризацию оборудования и софта. В GLPI есть возможность создавать шаблоны. Вы можете создавать различные шаблоны для разных устройств (компьютеров, роутеров, мониторов и т.д). Удобство в том, что при создании новых объектов вам не нужно заново заполнять статические данные (например, расположение или тип объекта).
Механизм шаблонов поддерживается и другими функциями, не только инвентаризацией.
Вкладка Assistance
Вкладка отвечает за управление задачами, инцидентами и проектами. Если вы знакомы с Jira, то здесь такой же принцип.
Есть возможность кастомизировать некоторые поля тикетов и создавать шаблоны для них (в Setup -> Dropdowns).
Вкладка Management
Также относится к инвентаризации – можно вести бюджет, учитывать лицензии, поставщиков и т.д.
Вкладка Tools
Эта вкладка содержит в себе разные инструменты – проекты, напоминания, отчеты и базу знаний (wiki).
Управление базой знаний:
Вкладка Administration
Здесь вы можете управлять пользователями, группами и сущностями GLPI, также есть лог действий пользователей GLPi.
Вкладка Setup
Также отвечает за управление GLPI – настройка пунктов меню, изменение различных форм и полей.
Плагин FusionInventory — автоматическая инвентаризация серверов и компьютеров
Рассмотрим одно из применений GLPI в реальной жизни – обнаружение устройств в сети и автоматическое заполнение инвентаризационных данных по оборудованию и установленным программам.
В GLPI не предусмотрено автоматическое обнаружение, но с этим может помочь плагин FusionInventory.
Установка Fusion Inventory
- Скачайте плагин FusionInventory с GitHub https://github.com/fusioninventory/fusioninventory-for-glpi/releases . В моём случае это последняя версия fusioninventory-9.4+2.4.tar.bz2;
- Распакуйте архив ( tar xvf arch.tar.bz2 ) в директорию plugins (в моём случае это /var/www/glpi/plugins);
- На сайте GLPI перейдите в Setup -> Plugins и нажмите на иконку установки плагина;
- Активируйте плагин;
Теперь во вкладке Administration появился пункт FusionInventory.
Перед установкой агентов на компьютеры и сервера нужно сразу включить нужные модули агентов.
Перейдите в Administration -> FusionInventory -> General -> General Configuration
- Computer Inventory
- Network inventory (SNMP)
- Network discovery
- Package deployment
- Collect data
Установка Fusion Agent в Windows
Установить Fusion Agent можно либо через графический интерфейс (инсталлятор), либо через командную строку. Мы будем рассматривать второй вариант, так как он легко масштабируется для разворачивания через групповые политики или SCCM.
- Скачайте агент https://github.com/fusioninventory/fusioninventory-agent/releases. В моём случае я качаю Windows 64-bit OS: fusioninventory-agent_windows-x64_2.5.2.exe (не портейбл);
- Скопируйте установочный .ехе файл fusioninventory на компьютер, с которого вы хотите собирать данные;
- Откройте командную строку с правами администратора и выполните:
fusioninventory-agent_windows-x64_2.5.2.exe /S /acceptlicense /add-firewall-exception /debug=2 /execmode=Service /installtasks=Full /timeout=30 /delaytime=5 /server=»_http://glpi.local/plugins/fusioninventory/» /runnow
Рассмотрим основные параметры уставки
- /S – Silent установка, без графического интерфейса
- /debug=2 – для подробных логов. При боевых развертываниях убирайте этот ключ
- /execmode=Service – ставим агент как службу Windows
- /installtasks=Full – устанавливаем все возможные сборщики
- /delaytime=5 – Задержка перед первым обращения к серверу. Если разворачиваете на большое число компьютеров, ставьте число повыше
- /server – адрес сервера GLPI
Перейдите в Administration -> FusionInventory -> General -> Agent Management, здесь вы можете управлять агентами
Убедитесь, что данные с данного компьютера появились в GLPI. Перейдите в Assets -> Computers.
Здесь отображаются все компьютеры, на которые вы установили агенты FusionInventory с модулем Collect Data. Откройте один из компьютеров и посмотрите на собранные данные. Как вы видите, в базе данных GLPI появилась информация об версии и билде Windows с сервера с агентом.
Вся информация заполняется автоматически из данных, которые приходят с агента. Также эта информация сортируется по категориям. Например, при установке агента на обычный ПК, можно получить информацию о периферийных устройствах. На скриншоте ниже информация о мониторах, подключенных к компьютеру где установлен агент.
Также вы видит список установленного на компьютере ПО.
Установка Fusion Agent на Linux
Рассмотрим установку из пакета на Ubuntu Server 18.04. Установите необходимые зависимости
apt install dmidecode hwdata ucf hdparm perl libuniversal-require-perl libwww-perl libparse-edid-perl libproc-daemon-perl libfile-which-perl libhttp-daemon-perl libxml-treepp-perl libyaml-perl libnet-cups-perl libnet-ip-perl libdigest-sha-perl libsocket-getaddrinfo-perl libtext-template-perl libxml-xpath-perl libyaml-tiny-perl libnet-snmp-perl libcrypt-des-perl libnet-nbname-perl libdigest-hmac-perl libfile-copy-recursive-perl libparallel-forkmanager-perl
dpkg -i fusioninventory-agent_2.5.2-1_all.deb
В конфигурационном файле агента (/etc/fusioninventory/agent.cfg) измените следующие параметры:
systemctl restart fusioninventory-agent
Если всё сделано правильно, вы увидите ваш Ubuntu компьютер/сервер в Assets-> Computers.
Статистика и отчеты в GLPI
В GLPI есть встроенные отчеты.
Но скорее всего вам потребуются отчеты по собственным параметрам. Для этого в GLPI есть плагины:
Пример встроенного отчета из плагина Reports:
GLPI развивается более 15 лет и содержит в себе огромное количество возможностей для управления ИТ инфраструктуры, а сообщество развивает и поддерживает плагины для различных интеграций и функционала. Система имеет огромные возможности модификации своих элементов, поэтому каждая компания настраивает GLPI под себя.
Автоматизация установки агента fusioninventory на Windows системы
В рамках данной заметки, я покажу и предоставлю небольшой скрипт для ручной установки агента fusioninvetory на Windows системы используемые у меня на рабочем месте. Заметка опирается на ту где я рассмотрел в виде пошаговой заметки как развернуть сервис GLPI.
Скрипт представляет из себя обычный bat-файл и ресурс в сети на котором расшарен специализированный каталог (Может быть развернут как на Windows системах так и с использованием сервиса SAMBA на Ubuntu системах, как сделано у меня) с исполняемыми файлами агента (где взять файлы агента смотрите основную заметку на которую опирается эта, там приводятся ссылки, здесь у меня исполняемые файлы уже переименованы для моего удобства) и подготовленным под мой сервер glpi файлом реестра для импортирования настроек в систему.
На заметку: скрипт нужно запускать с правами локального Администратора или Администратора Домена на рабочих станциях где нужно установить агент.
И так содержимое reg файла:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\FusionInventory-Agent]
«backend-collect-timeout»=»180»
«ca-cert-dir»=»»
«ca-cert-file»=»»
«debug»=»2»
«delaytime»=»300»
«html»=»0»
«httpd-ip»=»»
«httpd-port»=»62354»
«httpd-trust»=»»
«local»=»»
«logfile»=»C:\\Program Files\\FusionInventory-Agent\\fusioninventory-agent.log»
«logfile-maxsize»=»16»
«logger»=»File»
«no-category»=»»
«no-httpd»=»1»
«no-p2p»=»0»
«no-ssl-check»=»0»
«no-task»=»»
«password»=»glpi»
«proxy»=»»
«server»=»http://10.7.8.154/glpi/plugins/fusioninventory/»
«scan-homedirs»=»0»
«scan-profiles»=»0»
«tag»=»»
«timeout»=»180»
«user»=»glpi»
и собственно содержимое скрипта:
@echo off
ver | find «6.1» > nul
if %ERRORLEVEL% == 0 goto W7
ver | find «5.1» > nul
if %ERRORLEVEL% == 0 goto XP
:XP
rem help po install C:\666>agentx86.exe ?
rem uninstall «C:\Program Files\FusionInventory-Agent\Uninstall.exe» /S
sc query | findstr /i «FusionInventory-Agent»
rem если вывод не равен 0 тогда устанавливаем агент
if %ERRORLEVEL% == 0 goto (wxp) else (goto END)
:wxp
mkdir c:\666
xcopy /Y /Z /R \\10.9.9.1\file\glpi\agentx86.exe c:\666
xcopy /Y /Z /R \\10.9.9.1\file\glpi\winxpagent.reg c:\666
c:\666\agentx86.exe /acceptlicense /add-firewall-exception /execmode=Service /installtasks=Full /runnow /no-start-menu /S
regedit /S c:\666\winxpagent.reg
net stop FusionInventory-Agent
net start FusionInventory-Agent
rmdir /S /Q c:\666
:END
rmdir /S /Q c:\666
exit
:W7
IF EXIST «%PROGRAMFILES(X86)%» (GOTO 64BIT) ELSE (GOTO 32BIT)
:64BIT
rem help po install C:\666>agentx86.exe ?
rem uninstall «C:\Program Files\FusionInventory-Agent\Uninstall.exe» /S
sc query | findstr /i «FusionInventory-Agent»
rem если вывод не равен 0 тогда устанавливаем агент
if %ERRORLEVEL% == 0 goto (W7X64) else (goto END)
:W7X64
mkdir c:\666
xcopy /Y /Z /R \\10.9.9.1\file\glpi\agentx64.exe c:\666
xcopy /Y /Z /R \\10.9.9.1\file\glpi\winxpagent.reg c:\666
c:\666\agentx64.exe /acceptlicense /add-firewall-exception /execmode=Service /installtasks=Full /runnow /no-start-menu /S
regedit /S c:\666\winxpagent.reg
net stop FusionInventory-Agent
net start FusionInventory-Agent
rmdir /S /Q c:\666
:END
rmdir /S /Q c:\666
exit
:32BIT
rem help po install C:\666>agentx86.exe ?
rem uninstall «C:\Program Files\FusionInventory-Agent\Uninstall.exe» /S
sc query | findstr /i «FusionInventory-Agent»
rem если вывод не равен 0 тогда устанавливаем агент
if %ERRORLEVEL% == 0 goto (w7x86) else (goto END)
:w7x86
mkdir c:\666
xcopy /Y /Z /R \\10.9.9.1\file\glpi\agentx86.exe c:\666
xcopy /Y /Z /R \\10.9.9.1\file\glpi\winxpagent.reg c:\666
c:\666\agentx86.exe /acceptlicense /add-firewall-exception /execmode=Service /installtasks=Full /runnow /no-start-menu /S
regedit /S c:\666\winxpagent.reg
net stop FusionInventory-Agent
net start FusionInventory-Agent
rmdir /S /Q c:\666
:END
rmdir /S /Q c:\666
exit
Я специально не выкладываю скрипт как уже подготовленный в режиме просто взял и скачал, это уже на ваше усмотрение Вы сами под себя сделаете и конечно же дополните.
Вот собственно и все, чем я хотел поделиться с читателями моего блога. До встречи, с уважением автор блога — ekzorchik. Автоматизация установки агента fusioninventory на Windows системы