Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры

Установка и настройка GLPI и FusionInventory, инвентаризация ИТ инфраструктуры

В этой статье мы рассмотрим пошаговую установку и настройку GLPI. GLPI (Gestionnaire Libre de Parc Informatique — франц.) – это полноценная open-source ITSM система для управления процессами, инвентаризации оборудования и софта, а также для управления заявками и инцидентами. GLPI это большой комбайн, в котором заложено большое количество функционала по управлению ИТ на предприятии. Некоторые из возможностей GLPI:

  • Инвентаризация компьютеров, серверов, оргтехники (принтеры, мониторы, МФУ, картриджи и прочее)
  • Инвентаризация установленных на компьютерах программ и лицензий
  • Управление заявками и инцидентами (регистрация обращений пользоватетелей, HelpDesk)
  • База знаний
  • Ведение проектов
  • Управление бюджетом

Установка и настройка стека LAMP в Linux

GLPI это обычное веб приложение с базой данных, поэтому на сервере нужно развернуть LAMP стек (в данной статье GLPI будет установлен на apache, но возможна также установка на nginx).

Совет. В этом примере мы покажем, как установить GLPI на Ubuntu. Однако инструкция полностью подходит для развертывания GLPI на любом другом дистрибутиве Linux. Например, для CentOS используйте пакетный менеджер yum, вместо apt (или dnf в CentOS 8).

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 была 9.4.5. Чтобы скачать последнюю версию, перейдите на GitHub https://github.com/glpi-project/glpi/releases/ и выберите последний релиз.

Скопируйте GLPI в веб директорию:

mkdir /var/www/glpi
cp -R glpi/* /var/www/glpi
chown -R www-data:www-data /var/www/glpi

Совет. Довольно часто при развертывании GLPI встречаются ошибки, связанные со стандартными настройками PHP, поэтому рекомендуем сразу увеличчить лимиты для PHP. Вставьте следующие параметры в конец файла /etc/php/7.2/apache2/php.ini:
max_execution_time = 120
memory_limit = 512M
post_max_size = 80M
 upload_max_filesize = 80M

Создайте файл виртуал хоста:

touch /etc/apache2/sites-available/glpi.conf

И вставляем следующую конфигурацию Virtual Host:


  ServerName glpi.local
  DocumentRoot /var/www/glpi
  
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    AuthType Basic
  
  LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"" combined
  CustomLog ${APACHE_LOG_DIR}/glpi_access.log combined
  ErrorLog ${APACHE_LOG_DIR}/glpi_error.log

Активируйте виртуалхост:

a2ensite glpi
service apache2 reload

Проверьте, что виртуалхост активен.

настройка apache для glpi

Откройте браузер и переходим по URL адресу, который вы указали в виртуал хосте. В моём случае это
glpi.local
.

glpi web installer

Перед вами должно появится окно веб-установщика GLPI.

Установка GLPI

Сначала нужно выбрать язык интерфейса GLPI и принять лицензионное соглашение. На следующем шаге нажмите Install и убедитесь, чтобы все тесты прошли успешно.

glpi prerequisites

Укажите данные для подключения к базе данных.

параметры подключения к базе данных glpi

Выберите ранее созданную базу данных:

выберите базу glpi

Нажмите Continue и дождитесь импорта данных. База данных может наполняться продолжительное время (несколько минут). Это можно проверить командой
show processlist;
в mysql.

наполнение базы данных glpi

После этого установка GLPI практически завершена. Зайдите в панель управления (по-умолчанию, логин и пароль – glpi).

панель управления glpi

Базовая настройка GLPI

Для начала необходимо изменить пароли для встроенных пользователей, это можно сделать на вкладке Administration -> Users.

управление пользователями glpi

сменить пароль glpi

Если вы не хотите использовать встроенных пользователей, можно их разом отключить.

отключить лишних пользователей glpi

Примечание. GLPI рекомендует удалить файл install/install.php в целях безопасности. Сделайте командой: rm /var/www/glpi/install/install.php

Обзор интерфейса GLPI

Пробежимся по интерфейсу GLPI и рассмотрим некоторые из возможностей системы.

Вкладка Assets

GLPI assets

Эта вкладка отвечает за инвентаризацию оборудования и софта. В GLPI есть возможность создавать шаблоны. Вы можете создавать различные шаблоны для разных устройств (компьютеров, роутеров, мониторов и т.д). Удобство в том, что при создании новых объектов вам не нужно заново заполнять статические данные (например, расположение или тип объекта).

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

gppi шаблоны

gppi скопировать шаблон

Вкладка Assistance

Вкладка отвечает за управление задачами, инцидентами и проектами. Если вы знакомы с Jira, то здесь такой же принцип.

glpi Assistance - itsm управление задачами и инцидентами

Есть возможность кастомизировать некоторые поля тикетов и создавать шаблоны для них (в Setup -> Dropdowns).

Вкладка Management

Также относится к инвентаризации – можно вести бюджет, учитывать лицензии, поставщиков и т.д.

glpi Management

Вкладка Tools

Эта вкладка содержит в себе разные инструменты – проекты, напоминания, отчеты и базу знаний (wiki).

tools glpi

Управление базой знаний:

база знаний в glpi

Вкладка Administration

Здесь вы можете управлять пользователями, группами и сущностями GLPI, также есть лог действий пользователей GLPi.

логи действий пользователей в glpi

Вкладка Setup

Также отвечает за управление GLPI – настройка пунктов меню, изменение различных форм и полей.

настройки интерфейса glpi

Плагин FusionInventory — автоматическая инвентаризация серверов и компьютеров

Рассмотрим одно из применений GLPI в реальной жизни – обнаружение устройств в сети и автоматическое заполнение инвентаризационных данных по оборудованию и установленным программам.

В GLPI не предусмотрено автоматическое обнаружение, но с этим может помочь плагин FusionInventory.

Установка Fusion Inventory

  1. Скачайте плагин FusionInventory с GitHub https://github.com/fusioninventory/fusioninventory-for-glpi/releases . В моём случае это последняя версия fusioninventory-9.4+2.4.tar.bz2;
  2. Распакуйте архив (
    tar xvf arch.tar.bz2
    ) в директорию plugins (в моём случае это /var/www/glpi/plugins);
  3. На сайте GLPI перейдите в Setup -> Plugins и нажмите на иконку установки плагина;установка модуля fusioninventory в glpi
  4. Активируйте плагин;

включить плагин fusioninventory

Теперь во вкладке Administration появился пункт FusionInventory.

FusionInventory в glpi

Перед установкой агентов на компьютеры и сервера нужно сразу включить нужные модули агентов.

Перейдите в Administration -> FusionInventory -> General -> General Configuration

настройки сбора данных с агентов в FusionInventory

Включите модули:

  • Computer Inventory
  • Network inventory (SNMP)
  • Network discovery
  • Package deployment
  • Collect data

Установка Fusion Agent в Windows

Установить Fusion Agent можно либо через графический интерфейс (инсталлятор), либо через командную строку. Мы будем рассматривать второй вариант, так как он легко масштабируется для разворачивания через групповые политики или SCCM.

  1. Скачайте агент https://github.com/fusioninventory/fusioninventory-agent/releases. В моём случае я качаю Windows 64-bit OS: fusioninventory-agent_windows-x64_2.5.2.exe (не портейбл);
  2. Скопируйте установочный .ехе файл fusioninventory на компьютер, с которого вы хотите собирать данные;
  3. Откройте командную строку с правами администратора и выполните:

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

Не забудьте отредактировать параметры под свои нужды. Полный список параметров можно найти тут http://fusioninventory.org/documentation/agent/installation/windows/windows-installer-2.3.x-command-line.html

Совет. После установки, в случае возникновения проблем, можно посмотреть лог агента по пути C:Program FilesFusionInventory-Agentlogs. Параметры агента хранятся в реестре, по пути ComputerHKEY_LOCAL_MACHINESOFTWAREFusionInventory-Agent.

Перейдите в Administration -> FusionInventory -> General -> Agent Management, здесь вы можете управлять агентами

управление агентами FusionInventory

Убедитесь, что данные с данного компьютера появились в GLPI. Перейдите в Assets -> Computers.

данные с копьютера в базе данных glpi через агент FusionInventory

Здесь отображаются все компьютеры, на которые вы установили агенты FusionInventory с модулем Collect Data. Откройте один из компьютеров и посмотрите на собранные данные. Как вы видите, в базе данных GLPI появилась информация об версии и билде Windows с сервера с агентом.

получена информацию об ОС через FusionInventory

информация об оборудовании компьютеров и серверов в glpi

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

информация о подключенных мониторах

Также вы видит список установленного на компьютере ПО.

glpi информация об на компьютерах установленных программах

Установка 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

Скачиваем пакет

wget https://github.com/fusioninventory/fusioninventory-agent/releases/download/2.5.2/fusioninventory-agent_2.5.2-1_all.deb

Установите пакет:

dpkg -i fusioninventory-agent_2.5.2-1_all.deb

В конфигурационном файле агента (/etc/fusioninventory/agent.cfg) измените следующие параметры:

delaytime = 5
server = _http://glpi.local/plugins/fusioninventory/

Перезапустите агент:

systemctl restart fusioninventory-agent

Если всё сделано правильно, вы увидите ваш Ubuntu компьютер/сервер в Assets-> Computers.

glpi fusioninventory сбор данных с Linux компьютеров

Статистика и отчеты в GLPI

В GLPI есть встроенные отчеты.

отчеты glpi

Но скорее всего вам потребуются отчеты по собственным параметрам. Для этого в GLPI есть плагины:

Пример встроенного отчета из плагина Reports:

glpi встроенные отчеты

GLPI развивается более 15 лет и содержит в себе огромное количество возможностей для управления ИТ инфраструктуры, а сообщество развивает и поддерживает плагины для различных интеграций и функционала. Система имеет огромные возможности модификации своих элементов, поэтому каждая компания настраивает GLPI под себя.

Чтобы рассмотреть все возможности более подробно, вы можете воспользоваться официальной демо инсталяцией https://demo.glpi-project.org/

Linux
инвентаризация ИТ инфраструктуры, Установка и настройка GLPI и FusionInventory