Debian программа для инвентаризации компьютеров
Система OCS Inventory NG использует программу агента, которая выполняется на инспектеруемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального центрального сервера. Централый сервер системы позволяет не только собирать информаци об инвинтаризируемом обоурдовании, но и частично управлять инспектируемыми компьютерами.
Распространяется система по лицензии GPL v2 и является Open Source проектом.
Следующие пакеты отсутствуют в Gutsy, но уже есть в Hardy. Несмотря на это их можно скачать и установить в Ubuntu 7.10.
Предварительно следует установить следующие пакеты:
и модуль XML::Entities , которого в репозитории нет
Как видите, в репозитории находится стабильная версия системы годичной давности. Я же буду рассматривать установку и настройку последней на текущий момент версии 1.02 RC1. При этом установка дополнительных пакетов и модуля XML::Entities не отменяется - они нужны.
Скачиваем файл OCSNG_LINUX_SERVER_1.02_RC1.tar.gz и распаковываем его. Проблемы начинаются уже на этапе работы инсталятора. Поэтому, перед тем как запустить setup.sh , открываем его и вносим следующие изменения:
Далее, необходимо для таблиц files и tags принудительно прописать в sql скрипте создания базы ( OCSNG_UNIX_SERVER_1.02_RC1/ocsreports/files/ocsbase.sql ) кодировку latin1 ( строка 143 и 468 ):
Теперь можно запускать setup.sh .
На все вопросы просто жмём клавишу ввода вплоть до окончания установки.
После успешной установки перезапускаем веб-сервер:
Создание базы ocsweb с таблицами должно пройти без проблем.
Затем создаём любым удобным способом пользователя ocs и даем ему права на базу ocsweb .
Меняем в файле /usr/share/ocsinventory-server/ocsreports/dbconfig.inc.php пароль для доступа к базе.
На этом установку можно считать оконченной.
Теперь решаем проблемы с отображением русских символов.
В файле /usr/share/ocsinventory-server/ocsreports/preferences.php в строке 21 :
); // 0 For non utf8 database, 1 for utf8
В файлах /usr/share/ocsinventory-server/ocsreports/group_show.php, header.php и machine.php меняем charset=ISO-8859-1 на charset=windows-1251 ( строки 116, 49 и 90 соответственно).
При просмотре через www неправильно отображаются русские названия программ. Открываем для редактирования
/usr/share/ocsinventory-server/ocsreports/machine.php и правим function print_softwares($systemid) начиная со строки 606 :
Для отображения на главной странице имен пользователей на русском языке в файле preferences.php следует внести изменения в строку 763 :
С серверной частью вроде бы всё. Переходим к клиентской.
Установка агента в Ubuntu:
- Инвентаризация компьютеров, серверов, оргтехники (принтеры, мониторы, МФУ, картриджи и прочее)
- Инвентаризация установленных на компьютерах программ и лицензий
- Управление заявками и инцидентами (регистрация обращений пользоватетелей, 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:
Скопируйте 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 – настройка пунктов меню, изменение различных форм и полей.
Рассмотрим одно из применений GLPI в реальной жизни – обнаружение устройств в сети и автоматическое заполнение инвентаризационных данных по оборудованию и установленным программам.
В GLPI не предусмотрено автоматическое обнаружение, но с этим может помочь плагин FusionInventory.
Установка Fusion Inventory
Теперь во вкладке Administration появился пункт FusionInventory.
Перед установкой агентов на компьютеры и сервера нужно сразу включить нужные модули агентов.
Перейдите в Administration -> FusionInventory -> General -> General Configuration
- Computer Inventory
- Network inventory (SNMP)
- Network discovery
- Package deployment
- Collect data
Установка Fusion Agent в Windows
Установить Fusion Agent можно либо через графический интерфейс (инсталлятор), либо через командную строку. Мы будем рассматривать второй вариант, так как он легко масштабируется для разворачивания через групповые политики или SCCM.
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. Установите необходимые зависимости
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 под себя.
IT-парк любой организации часто насчитывает не один десяток систем самой разной конфигурации. И всегда найдется парочка вольнодумцев, которые захотят развести начальство на внеочередной апгрейд или установить ПО для личных целей. Без системы учета и контроля админ рискует, как минимум, своей премией. Рассмотрим решения, позволяющие упростить эту задачу.
WMI и Powershell
В WinNT 4.0SP4 администраторы получили новый инструмент для централизованного управления и слежения за работой различных частей операционной системы — WMI (Windows Management Instrumentation, Инструментарий для Управления Windows). Правда, в первых версиях заложенных компонентов было немного (всего 15). Но в последующих Win2k+ их количество увеличивалось вместе с возможностями. Сегодня WMI доступен для всех версий ОС Windows, включая Se7en. Опрашивая различные WMIклассы локальной и удаленных систем, мы можем получить всю необходимую информацию по имеющемуся в компании программному обеспечению и оборудованию.
В примерах предлагаю не использовать VBScript, JScript или другие скриптовые языки, уж слишком они громоздки и неудобны, тем более у нас уже есть роскошный PowerShell, способный выполнить за нас львиную долю работы (подробнее о PS читай в ][ 09.2009 и 05.2010).
Для начала получим список BIOS на подчиненных компьютерах:
Как ты понимаешь, после '-computerName' указывается имя хоста. Хотя при опросе локальной системы этот параметр можно опускать, что мы и будем делать в дальнейшем для краткости. Написав простенький скрипт, легко передать Get-WMIObject список систем, с которых будет собираться информация. Результат при необходимости сохраняем в текстовый файл для дальнейшего анализа.
Аналогично проводим опрос остальных параметров. Например, запрашиваем информацию о CPU:
PS> Get-WMIObject Win32_Processor
Полный список данных, как правило, не нужен, поэтому отбираем только необходимые параметры:
PS> Get-WmiObject Win32_ComputerSystem | Select Manufacturer, Model
Посмотрим, какая у нас материнская плата:
PS> Win32_Baseboard | Select Manufacturer, Name, Product | ft -a
Классы Win32_ComputerSystem, Win32_ComputerSystemProduct и Win32_ OperatingSystem позволят собрать общие данные по компьютеру и системе:
Запрашиваем версию ОС:
PS> Get-WmiObject Win32_OperatingSystem | Select CSName,Buil
dNumber,ServicePackMajorVersion
При желании результат можно сохранить в файл, например «Export-CliXML C:\check.xml», а затем отфильтровать или обработать:
PS> Import-CliXML C:\check.xml |
Out-GridView
К примеру, просмотрим список объектов, в именах которых присутствует слово disk:
PS> Get-WmiObject -List | where name -match "disk">
Готовые утилиты и приложения
Если хорошо поискать в интернете, можно найти не один десяток готовых WMI-скриптов на самых разных языках программирования, которые легко адаптируются под твои нужды.
Чтобы затем не запускать созданный скрипт самостоятельно, поручим это SchTasks. Например:
> SchTasks /CREATE /TN CheckScript /TR "powershell.exe `
-noprofile -executionpolicy Unrestricted `
-file check.ps1" /IT /RL HIGHEST /SC DAILY
Теперь попробуем собрать информацию об установленных программах:
Всего в поставку входит 20 командлетов. Доступна бесплатная версия NetPoint Express Edition, которая работает в 32/64-битных WinXP/2k3/2k8/Vista/Se7en, ее можно применять в сетях любого размера. Для установки NetPoint понадобится наличие PS 2.0, IIS и SQL-сервера (достаточно Express Edition).
Кстати, список установленных программ можно получить, просто прочитав нужную ветку реестра:
PS> Get-ItemProperty HKLM:\SOFTWARE\Microsoft\
Windows\CurrentVersion\Uninstall\* | Format-Table
DisplayName,Publisher | Out-GridView
Командлет Out-GridView выводит данные в отдельном окне с возможностью поиска и сортировки.
Минусы использования скриптов
Если сбор данных при помощи WMI/PowerShell довольно прост, то все отчеты и изменения в конфигурациях приходится контролировать вручную. Конечно, можно усложнять свои скрипты, пытаясь автоматизировать процесс, но не каждый захочет тратить на это время. Здесь стоит напомнить, что Microsoft предлагает необходимую функциональность в SCCM (System Center Configuration Manager), о котором мы уже писали в номерах 08.2009, 09.2009 и 01-02.2010. Но в тех случаях, когда в распоряжении админа находятся также *nix системы, всевозможные роутеры и прочее оборудование, которое необходимо учитывать, WMI — уже не помощник. Кроме того, остается проблема визуального представления данных и отчетов. Здесь придется прибегнуть к сторонним программам (в том числе распространяемым под свободными лицензиями), благо, есть из чего выбирать.
Система инвентаризации Myzci
Для работы MyZCI потребуется любой вебсервер с поддержкой PHP (с PECL, PHP Extension Community Library) и MySQL.
Распаковываем архив myzci-1.2.1.zip в корневой каталог веб-сервера и в файле zciconfig.php указываем параметры доступа к MySQL:
$ sudo nano zciconfig.php
return dbx_connect(DBX_MYSQL,"local
host","zci","zci","passwd");
Чтобы создать таблицы в БД, используем скрипт mysqlscript.sql, находящийся в каталоге engine. Записи внутри нужно привести в соответствие с данными:
Локализация интерфейса производится установкой переменной “$Lang” в значение “ru” в файле langconfig.php.
Для сбора информации в Windows-системе используется Windows Script Host, в Linux — lshwclient на Java. Все компоненты находятся в подкаталоге add-ons и engine. Здесь же лежат MS Windows Scripting Host 5.6 и MS WMI Core 1.5, которые необходимы для работы клиентской части в Win95/98/NT4. Перед развертыванием в файлах takedata.js и lshwclient.java следует изменить значение переменной MyZCIpath и MyZCIserver, чтобы она указывала URL сервера.
После чего скрипты начнут отсылать данные на сервер. Интерфейс предельно прост и позволяет выводить детальную информацию о железе, вносить и редактировать данные о компьютерах, группировать, искать системы по определенному критерию (например, тип видеокарты и монитор), отслеживать изменения.
Меню администратора позволяет определять статус (закреплен, аренда) и местонахождение системы.
Система OCS Inventory NG
Версия для Windows написана на C++, *nix вариант — на Perl и С.
Серверная часть OCSNG включает в себя четыре компонента, которые необязательно должны быть установлены на одном сервере. Это СУБД (MySQL) для сбора данных, а также вебсервер, который может играть одну из трех ролей:
Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением Win2k/XP/2k3, Linux, *BSD, Solaris, IBM AIX и MacOS X.
Установка Ocsng
Нужный пакет имеется в репозиториях большинства дистрибутивов, хотя обычно это не самая актуальная версия. Самостоятельная сборка из исходных текстов при внимательном подходе не должна вызвать трудностей. Установочный скрипт setup.sh, находящийся внутри архива, проверит наличие требуемых компонентов и выдаст рекомендации по устранению проблем, если в этом будет необходимость.
В Debian/Ubuntu для ручной сборки нужно накатить пакеты:
$ sudo apt-get install libapache2-mod-perl2
libdbi-perl libapache-dbi-perl libdbd-mysqlperl
libsoap-lite-perl libxml-simple-perl
libnet-ip-perl libcompress-zlib-perl php5-gd
И XML::Entities из хранилища CPAN:
$ sudo cpan -i XML::Entities
$ sudo apt-get install libcompress-zlib-perl libnet-ipperl
libnet-ssleay-perl libwww-perl libxml-simple-perl
po-debconf ucf dmidecode pciutils
После чего агент устанавливается стандартным для Perl'овых приложений способом:
$ tar xzvf Ocsinventory-Agent-1.1.2.tar.gz
$ cd Ocsinventory-Agent-1.1.2
$ perl Makefile.PL
$ make
$ sudo make install
Далее скрипт начнет задавать ряд вопросов по размещению конфигурационных файлов. Вводим данные сервера, создаем тэг (для группировки систем), активируем задачу для cron. По окончании настройки собранные данные о конфигурации компьютера отправляются на сервер. Если связь установлена и получаем ответ «Success!», установку агента можно считать законченной. Его данные появятся в веб-консоли, в разделе «Все компьютеры ». В каталоге /var/lib/ocsinventory-agent будет создан XML-файл, содержащий текущую конфигурацию компьютера. Если же соединения не произошло, запусти агент в режиме отладки:
Обычно полученной информации хватает для диагностики ошибок. Агент для Windows может быть установлен несколькими способами. Самый простой — вручную или с помощью прилагающегося logon скрипта.
Работа с интерфейсом OCSNG
Интерфейс локализован, поэтому, чтобы разобраться с его использованием, много времени не понадобится. По умолчанию на вкладке «Все компьютеры » показаны семь основных характеристик клиентских машин.
Список «Add column» позволяет легко добавить еще до 23 полей. Очень удобно, что данные поддаются ручному редактированию. Также следует отметить легкий поиск и удаление дубликатов систем.
Как уже говорилось ранее, в OCSNG заложена возможность установки приложений и запуска скриптов (bat, vbs и т.п.) Такая функциональность сильно выручает. Создаем пакет в Deployment — Build и заполняем поля New package building: название, Priority (порядок установки) и действие в Action. Предусмотрено три варианта:
- Store — копировать на целевую систему;
- Execute — копировать и выполнить с командой;
- Launch — копировать и запустить.
Параметры в User notifications позволяют вывести предупреждение пользователю и разрешить ему отменять задачу.
В OCSNG инициатором соединения выступает агент, который подключается к серверу раз в сутки, отправляет информацию о состоянии и получает задания. Если созданный пакет необходимо установить раньше, на клиенте следует принудительно запустить команду ocsinventory-agent.
Заключение
После настройки и заполнения базы данных в системе инвентаризации ты будешь постоянно иметь под рукой актуальную информацию о текущем состоянии компов и сможешь отслеживать изменения. Отчеты, которые она генерирует, дают возможность быстро определить конфигурацию типового компьютера, используемого в организации, что сослужит хорошую службу при планируемом апгрейде или смене ОС.
Локализация OCSNG/GLPI
Интерфейс OCSNG локализован, но все же есть небольшие проблемы, приводящие к тому, что русскоязычные названия программ, установленных в Windows, отображаются некорректно.
Дело в том, что в OCSNG изначально используется кодировка ISO-8859-1 (для отображения CP1251), в GLPI — UTF8. При импорте данных OCSNG -> GLPI также возникают проблемы с кодировками.
Известно два пути решения:
Кроме того, в файле inc/ocsng.class.php следует изменить строку «$this->dbenc="latin1";» на «$this->dbenc="utf8";» и в /etc/php5/apache2/ php.ini проверить установку «default_charset = "utf-8"».
Links
Проект GLPI
На основе GLPI легко организовать службу технической поддержки пользователей, что очень удобно, ведь вместо звонка юзер оставляет заявку, которая регистрируется системой. Затем IT-подразделение ее обрабатывает. Это дисциплинирует пользователей — они перестают звонить по мелочам, а у админов появляется база обращений для отчета о проделанной работе. Но возможности GLPI этим не ограничиваются. Он позволяет создать базу знаний, состоящую из статей, вести учет поставщиков, договоров. Система снабжена большим количеством самых разных отчетов с возможностью экспорта результата в файл формата PDF, CSV или SLK. Поддерживается синхронизация календаря по протоколам iCal, Webcal.
Пакет GLPI имеется в репозитариях основных *nix дистрибутивов. Установка при помощи исходных текстов стандартна для приложений, написанных на PHP и требующих наличия веб-сервера и MySQL.
Распаковываем и помещаем в директорию /plugins, у меня это /var/www/support.it-school.pw/plugins:
ls /var/www/support.it-school.pw/pluginsfusioninventory remove.txt
И выполняем установку дополнения:
И включаем плагин:
Для Ubuntu / Debian:
После установки редактируем конфигурационный файл:
Для Windows:
Соглашаемся с лицензионным соглашением:
Выбираем настройки по умолчанию:
Указываем директорию для установки приложения:
Наблюдаем процедуру копирования файлов:
Завершаем процесс установки:
Переходим в Главное меню и запускаем агента на исполнение:
Цель которую я преследую — это провести инвентаризацию подконтрольной сети.
Зачем я это делаю — многие сотрудники жалуются, что их компьютеры тормозят, все что можно улучшено и отключено, но система от этого лучше не становится.
Поэтому нужно знать что сейчас имеется в сети на рабочих местах и нужно это все контролировать желательно через Web- интерфейс потому как я работаю с системами Ubuntu 12.04.5 Server amd64 в своей сети в которой поддерживаю порядок и функционирование. А также в один прекрасный момент может все это понадобиться руководству с целью анализа текущего и что можно сделать для увеличения профессионального выполнения задач сотрудников компании, а Вы уже имеете представление об некоторой части этого и можете сориентировать, ведь вся информацию у Вас уже в оформленной базе данных . Раньше как многие из Вас все статические данные велись с использованием Excel документов где на каждый сервер, сервис, ПО создавался специальный документ под Ваши задачи, вели его может быть Вы сами а может быть и всех группой администраторов (если у Вас было несколько сотрудников IT- отдела). К примеру где я сейчас работаю, в первую и наверное последнюю очередь мне и только мне это интересно и я этим занимаюсь, вот только когда нужно вспомнить что и где установлено и какая телефонная база обслуживается требуемые номера никто и не знает. Но я так не могу, я люблю порядок в вверенной мне инфраструктуре и месте где я работаю в текущий момент. В текущей заметке я буду рассматривать разбор всех шагов установки, исправления выявленных у меня как мне показалось недочетов в программе. Ну что ж инвентаризацию локальной сети я буду производить с использование приложения — GLPI.
GPLI – единая система организации с базой данных по имеющимуся оборудованию а также возможность создания общей базы заметок, организация helpdesk и многих других интересных вещей, но в рамках этой заметки я буду рассматировать только момент настройки инвентаризации.
FusionInventory – агенты и центр сбора данных и активация задач
Первым делом как всегда обновляю систему до актуального состояния по пакетам текущего релиза который я использую на рабочем месте:
$ sudo apt-get update && sudo apt-get upgrade -y
Далее поднимаю связку Web- сервера: Apache 2 + MySQL + PHP
$ sudo tasksel install lamp-server
Теперь устанавливаю приложение glpi из репозитариев системы:
$ apt-cache show glpi | grep Version
$ sudo apt-get install glpi -y
Configure database for glpi with dbconfig-common? Yes
MySQL application password for glpi:712mbddr@
Password confirmation: 712mbddr@
На заметку: изменить ответы на вопросы можно посредством редактирования файла:
$ sudo nano /etc/glpi/config/config_db.php
class DB extends DBmysql
хотя следует проверить права пользователя glpi на базу glpi:
Сохранить внесенные измнения и перезапустить Web-сервер apache:
$ sudo service apache2 restart
либо пройти все шаги настройки с использованием мастера:
$ sudo dpkg-reconfigure glpi
Web server to reconfigure automatically: выбираю все
Reinstall database for glpi? Yes
Connection method for MySQL database of glpi: unix socket (т. к. база развернута на текущей системе, но если на другой то стоит выбирать tcp/ip)
MySQL username for glpi :glpi
MySQL database name for glpi: glpi
Если же после этого при заходе на Web-интерфейс у Вас все равно красуется надпись вида:
, то можно удалить базу glpi и заново запустить:
$ mysql -u root -p712mbddr@;
mysql> drop database glpi;
Query OK, 184 rows affected (0.06 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
$ sudo dpkg-reconfigure glpi
а если же и это не помогло, то можно просто удалить все установленное относящееся к glpi и попробовать заново, порой это помогает — т. к. действия выполняются на свежую голову:
$ sudo apt-get remove glpi -y
$ sudo rm -Rf /etc/glpi/
$ sudo rm /etc/apache2/conf.d/glpi
$ sudo rm /etc/dbconfig-common/glpi.conf
Теперь авторизовываемся на Web- интерфейс по управлению системой инвентаризации GLPI:
GLPI установилась и создала 4 учетные записи: логин/пароль
- glpi/glpi — администратор
- tech/tech — технический специалист
- normal/normal — обычная учетная запись (возможность просмотра данных)
- post-only/post-only — только обращение в службу поддержки
После чего перехожду в настройки (Settings) – Select Language (выбираю русский язык) и нажимаю кнопку Update, через мгновение Web-ориентированный интерфейс станет полностью рускоязычным.
Походивши по менюшкам наткнулся на недоустановку следующих компонентов:
Настройки – Аутентификация
А щелкнув на “Другие способы аутентификации” выдало, что в системе отсутствует:
Расширение CURL или DOMXML Вашего PHP-парсера не установлено
Невозможно использовать CAS как источник внешней аутентификации
Исправляю/Дополняю недостающее а в последствии которое буду использовать, хотя я думаю мне сперва нужно было ознакомится с документом на официальном сайте, где подробно рассказывается какие компоненты потребуются для функционирования glpi
$ sudo apt-get install php5-ldap php5-imap -y
а после перезапускаю Web- сервер apache и обновляю клавишей F5 открытую страницу интерфейса glpi для обновления отображаемой информации:
$ sudo service apache2 restart
Пробежавшись вскользь по интерфейсу столкнулся с одной маленькой недоработкой сохранения пользователей в формат pdf
Поэтому поправляю это дело: (заменой текущих шрифтов на исправленные)
$ tar xzf fonts.tgz
удаляю бракованные шрифты:
$ sudo rm /usr/share/glpi/lib/ezpdf/fonts/*
Копирую обновленные шрифты с распакованного архива:
$ sudo cp fonts/* /usr/share/glpi/lib/ezpdf/fonts/
$ sudo cp /usr/share/glpi/inc/search.class.php /usr/share/glpi/inc/search.class.php.backup
Открываем текстовым редактором файл search.class.php и находим все встречающиеся надписи: windows-1252 и заменяем эту надпись на windows-1251
$ sudo nano /usr/share/glpi/inc/search.class.php
Replaced 6 occurrences
Не забываем сохранить внесенные изменения.
Смотрим что получилось когда производим экспорт в pdf формат:
но этого я пока делать не буду, сперва разбираю и опубликовываю на блоге то что предоставляют текущие дефолтные репозитарии.
Далее я разберу как установить плагин fusioninventory в систему:
$ apt-cache search fusioninventory
$ sudo apt-get install fusioninventory-agent fusioninventory-for-glpi libfusioninventory-agent-task-esx-perl libfusioninventory-agent-task-netdiscovery-perl libfusioninventory-agent-task-snmpquery-perl -y
После чего в Web-ориентированном окружение glpi переходим:
Теперь настал тот момент когда нужно установить клиент посредством которого будет осуществляться сбор информации с компьютеров и последующей передачей ее на сервер.
По данной ссылке скачиваются различный клиены для различных операционных систем.
Ниже я разберу как установить агента на текущую систему: Ubuntu 12.04.5 Server amd64, агент может устанавливаться как с помощью пакетов (я за такой вариант), так с помощью исходников с последующей его компиляцией (так можно получить самую последнюю версию, чаще более новее чем есть в репозитариях)
Сейчас установленная версия агента из дефолтных репозитариев системы значится под версией:
$ apt-cache show fusioninventory-agent | grep Version
Добавляем публичный ключ в систему:
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
Length: 47869 (47K) [application/octet-stream]
Теперь обновляем информацию по добавленному репозитарию:
Теперь смотрим какие версии агента сейчас можно установить/обновить:
$ apt-cache show fusioninventory-agent | grep Version
Сейчас у меня установлена версия агента:
FusionInventory Agent (2.1.10)
$ sudo apt-get install fusioninventory-agent=1:2.3.15-1 -y
И вот теперь текущая версия агента на текущей системе:
FusionInventory Agent (2.3.15)
[info] sending prolog request to server server0
Вообще-то так не правильно запускать нужно следующим образом:
$ sudo service fusioninventory-agent start
Daemon mode disabled in /etc/default/fusioninventory-agent
$ sudo nano /etc/default/fusioninventory-agent
изменяю старт агента в режиме демона а не по заданию как устанавливается по дефолту:
и также в файле вижу что настройки могут задаваться в файле конфигурации агента:
$ sudo nano /etc/fusioninventory/agent.cfg (ниже настройки на мой сервер GPLI )
Запускаю агент в системе:
$ sudo service fusioninventory-agent start
Starting fusioninventory-agent: fusioninventory-agent.
Проверяю, что порт агента работает:
$ sudo netstat -tulpn | grep 62354
tcp 0 0 0.0.0.0:62354 0.0.0.0:* LISTEN 8238/perl
Далее заходим в GLPI:
Организация — содержит и нажимаем Поиск
и можем манипулировать сведениям с агентов, активировать или деактивировать плагины, смотреть версию агента на системе.
сперва нужно активировать модули посредством которых будет собираться информация с контролируемых устройств:
и напротив каждого модуля обязательно нажимаем «Обновить»
Замечю также что порт посредством агенты общаются с сервером можно изменить или оставить по умолчанию (порт 62354, следует разрешить в правилах брандмауэра система)
- Интервал инвентаризации ( в часах): 1
- Порт агента: 62354 ( меня устраивает дефолтный)
Выставляю диапазон адресов с который сервер будет принимать информацию:
- Наименование: lan
- Start of IP range: 192.168.1.1
- End of IP range: 192.168.1.255
и нажимаю Добавить
После снова открываю:
- Активен: Да
- Версия: Автоматическое управление динамическими агентами (так же подсети)
- Частота: 1 час
- Communication mode: Agent contacts the server (pull)
Далее показываю, как установить агент fusioninventory на рабочую станцию под управлением Windows XP/7/8/8.1 – (по этой ссылке скачиваю агента
на следующем шаги я ничего не указываю, т.к. я пока не разобрался как использовать SSL опции (это в будущем я разберу), Next – Настройки прокси также опускаю, Next – устанавливаемый агент на системе будет работать в режиме Windows Service (отмечаю пункт As a Windows Service), но может также:
Запускаться через планировщик задач (нужно будет указать переодичность:
- Frequency: Minute (минуты)
- Minute Interlal: к пример 15,20 или 30 минут
- Frequency: Hourly (часы)
- Hour Interval: 1-23 (т.е. каждый час)
- Frequency: Daily (дни)
- Day Interval: 1-30 (т.к. каждый день)
, Next – Оставляю все по умолчанию (я не буду разрешать поднятие web-сервера на клиенткой станции, также снима ю галочки с пунктов:
, Next – отмечаю пункт:
Launch an inventory immediately after installation и нажимаю Next – Расширенные опции не трогаю (после их можно будет изменить через правку конфигурационного файла агента), Next – Install – Next – снимаем галочку с Show Readme и нажимаем Finish
Теперь переключаюсь на интерфейс glpi и проверяю какую информацию удалось собрать с агента.
Щелкаю по наименованию – winxp с целью посмотреть, а что еще удалось собрать, а собранная информация хороша, передвигаясь по вкладкам:
- Компоненты
- Диски
- Программное обеспечение (можно удалять лишнее)
Если же вы не увидели информацию по системе, значит агент не смог достучаться до центрального сервера GPLI, проверяю почему такое могло произойти:
вижу что конфигурационный файл не создался, представлен только шаблон (agent.cfg.SAMPLE)
, открываю через редактор notepad++ и создаю свой ( agent.cfg) следующего вида:
Сохраняю внесенные изменения и перезапускаю сервис:
Win + R → cmd.exe →
C:\Users\ekzorchik>net stop fusioninventory-agent
C:\Users\ekzorchik>net start fusioninventory-agent
HKLM\SOFTWARE\FusionInventory-Agent
а после нужно перезапустить службу агента на системе:
Win + R → cmd.exe →
C:\Users\ekzorchik>net stop fusioninventory-agent
C:\Users\ekzorchik>net start fusioninventory-agent
После этого агент успешно производит состыковку с сервером GLPI и начинает передавать данные.
Развернув и поняв полученные возможности по предоставляемым данным приложением GLPI я получил единый центр понимания локальной сети, теперь у меня на второй план уходят всеми не навистные Excel документы потому как не знавши ранее такого продукта. Спасибо большое авторам данного программного обеспечения.
На заметку: удалив информацию о компьютере выводимом в Оборудование – Компьютеры, а после заново поставив агента обнаружил, что в “Управление агентами” компьютер появляется, а вот в GLPI на основе плагина FusionInventory почему-то не похватывается.
Нужно после просто нажать “Восстановить”
и все стало как раньше. Проблема решена, хотя не проблема, а не понимание как что работает.
Отлично то что мне и требовалось. В последствии я выложу заметку как я собирал информацию посредством агента fusioninventory обо всех принтерах в локальной сети.
Также внимательный читатель обратит внимание что URL панели администрирования glpi во многих частях заметки отличается с представленными скриншотам, писалось и на работе и дома, но различия есть только в именовании URL адреса.
До встречи, с уважением, автор блога — ekzorchik.
3 комментария
Поставьте Kaspersky Security Center хотя бы с базовой лицензией и не мучайтесь с изобретением велосипедов )))
P.S. блог интересный. Спасибо за статьи.
Во первых это не велосипед, а вполне рабочее решение, тем более что на рабочих местах (доменных/не доменных) стоит маленький агент который собирает всю информацию.
Comments are closed.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще :)
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Читайте также: