Учет оборудования с OCS Inventory NG и GLPI::Журнал СА 5.2009
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1924
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1957
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1515
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1113
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1686
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 Учет оборудования с OCS Inventory NG и GLPI

Архив номеров / 2009 / Выпуск №5 (78) / Учет оборудования с OCS Inventory NG и GLPI

Рубрика: Администрирование /  Оборудование

Сергей Яремчук

Учет оборудования с OCS Inventory NG и GLPI

Сегодня в любой организации много компьютерной техники и прочего оборудования, учет которого, а также прочих связанных затрат часто входит в обязанности администратора. Применение специализированных систем может значительно упростить эту задачу. В статье рассмотрим решения OCS Inventory NG и GLPI, которые являются хорошей альтернативой проприетарным продуктам.

Возможности OCS Inventory NG и GLPI

Система OCS Inventory NG (OCSNG, Open Computers and Software Inventory New Generation) [1] предназначена для инвентаризации компьютеров в локальной сети, комплектующих и программного обеспечения. Также с ее помощью можно удаленно разворачивать программы на рабочих местах и получать информацию о сетевой конфигурации.

GLPI (Gestion Libre de Parc Informatique) [2] кроме задач по учету компьютеров и входящих в их состав комплектующих, позволяет инвентаризировать прочее оборудование, включая расходные материалы (например, картриджи), а также организовать службу технической поддержки, автоматизируя обработку обращений пользователей. Теперь пользователь, вместо того чтобы бежать или звонить админу, заполняет, зайдя по адресу ресурса, заявку. Обращения обрабатываются с учетом их важности или в порядке очередности. Администратор выигрывает вдвойне – все обращения документируются, и можно спокойно отчитаться перед начальством о проделанной работе и затраченном времени, пользователи по этой же причине перестанут обращаться по мелочам. Не говоря уже о том, что звонки обычно отвлекают от выполнения текущей работы.

Также с его помощью можно сформировать базу знаний, которая будет состоять из заметок, статей и ЧаВО, вести учет поставщиков, договоров. Доступно большое количество отчетов (по договорам, финансовая, за год) и статистик (по заявкам, оборудованию, элементам).

Поддерживается синхронизация календаря по протоколам Ical, Webcal. Функциональность GLPI можно расширить при помощи большого набора плагинов от сторонних разработчиков!

Обе системы русифицированы (с некоторыми оговорками) и распространяются по лицензии GNU GPL.

В GLPI, как и в Kwok Information Server [2], изначально все данные вводятся вручную и сохраняются в базе данных MySQL. Затем администратор при помощи веб-формы может отобрать любую интересующую его информацию. Начиная с версии 0.65 GLPI поддерживает синхронизацию данных с базами OCSNG, причем для этого не требуется никаких дополнительных модулей. Хотя если в сети уже есть сервер Nagios или Cacti, то данные о компьютерах и прочем оборудовании можно импортировать и оттуда.

Основным плюсом OCS Inventory NG является то, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления (management server) в виде XML-потока, сжатого при помощи Zlib, для передачи используется стандартный протокол HTTP/HTTPS.

Сервер OCSNG состоит из 4 компонентов, которые могут быть установлены на одном или нескольких компьютерах:

  •   база данных – используется для хранения информации, поддерживается MySQL от 4.1;
  •  служба связи – обеспечивает связь по протоколу HTTP между сервером базы данных и программами-агентами, требуется Apache Web Server 1.3.X/2.X с интегрированным Perl (в Debian/Ubuntu пакет libapache-dbi-perl);
  •  служба развертывания – предназначена для хранения установочных файлов программ-агентов, подходит любой веб-сервер с поддержкой SSL;
  •  консоль управления – просмотр собранных данных в браузере, требуется веб-сервер с поддержкой PHP (с активированными ZIP и GD).

Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением Windows 2000 Professional/Server, XP Professional Edition и 2003, а также Linux, FreeBSD, OpenBSD, NetBSD, Solaris, IBM AIX и MacOS X.

Агент доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux (2.4/2.6, x86, x86_64/AMD64, Sparc64, ARM, PowerPC), MacOS X (10.3-10,5), FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.

Следует отметить, что одним из недостатков как данного проекта, так и проекта GLPI является малое количество документации. Хотя, понимая суть процесса, разобраться со всеми нюансами довольно просто.

Установка OCS Inventory в Ubuntu

В середине апреля, после более чем года разработки, вышла новая версия 1.02 OCSNG, о которой и пойдет речь далее. Пакет с OCSNG имеется в репозиториях многих дистрибутивов. Для примера в качестве сервера и клиента выберем Ubuntu 8.04 LTS.

Проверяем, что есть в репозитории Ubuntu.

$ sudo apt-cache search ocsinventory

 

ocsinventory-reports - Hardware and software inventory tool (Administration Console)

ocsinventory-server - Hardware and software inventory tool (Communication Server)

ocsinventory-agent - Hardware and software inventory tool (client)

 

Хотя это не самая актуальная версия на данный момент:

$ sudo apt-cache show ocsinventory-server | grep -i version

Version: 1.01-3

$ sudo apt-cache show ocsinventory-agent | grep -i version

Version: 1:0.0.8-1

Поэтому будем устанавливать, используя исходные тексты. В зависимостях пакета ocsinventory-server, полученных при помощи команды:

$ sudo apt-cache depends ocsinventory-server

указаны Apache2 и некоторые модули Perl, утилита для изменения файлов настроек ucf и dbconfig-common. Пакет MySQL указан в качестве необязательных зависимостей, поэтому его устанавливаем отдельно:

$ sudo apt-get install mysql-server

Команда:

$ sudo apt-get build-dep ocsinventory-server

в данном случае бесполезна, поэтому устанавливаем все, что необходимо, вручную:

$ sudo apt-get install libapache2-mod-perl2 libdbi-perl libapache-dbi-perl libdbd-mysql-perl libsoap-lite-perl libxml-simple-perl libnet-ip-perl libcompress-zlib-perl php5-gd

Скачиваем с сайта проекта OCSNG архив OCSNG_UNIX_SERVER-1.02.tar.gz и устанавливаем:

$ tar xzfv OCSNG_UNIX_SERVER-1.02.tar.gz

$ cd ./OCSNG_UNIX_SERVER-1.02/

$ sudo ./setup.sh

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

В большинстве случаев скрипт сам находит все необходимое и достаточно просто подтвердить параметр. Единственное, с чем он не разобрался, это с пользователем и группой, от имени которых запускается Apache. Поэтому вместо предложенного [${APACHE_RUN_USER}] указываем www-data.

Далее производится проверка установленных модулей Perl. И в случае, если нужный не будет найден, выдается соответствующее сообщение. Так в зависимостях Ubuntu не указан модуль XML::Entities.

Сhecking for XML::Entities PERL module...

*** Warning: PERL module XML::Entities is not installed !

 

В репозитории пакета, обеспечивающего функции XML::Entities, нет, поэтому его следует установить самостоятельно из CPAN:

$ sudo cpan -i XML::Entities

И повторяем установку. По окончании скрипт предложит инсталлировать консоль администрирования.

В процессе установки в каталоге /etc/apache2/conf.d/ будут созданы конфигурационные файлы для веб-сервера – ocsinventory-server.conf и ocsinventory-reports.conf.

Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы Alias:

$ cat ocsinventory-reports.conf | grep -i alias

# Alias used to put Administration Server static page (typically PHP) outside

Alias /ocsreports /usr/share/ocsinventory-reports/ocsreports

# Alias to put Deployement package files outside Apache document root directory

Alias /download /var/lib/ocsinventory-reports/download

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

Кроме этого создается файл, обеспечивающий ротацию журналов раз в неделю.

$ cat /etc/logrotate.d/ocsinventory-server

 

# Rotate OCS Inventory NG Communication server logs daily

# Save 7 days old logs in compressed mode

/var/log/ocsinventory-server/*.log {

daily

rotate 7

compress

missingok

}

По окончании следует перезапустить веб-сервер:

$ sudo /etc/init.d/apache2 force-reload

Некоторые пакеты, распространяемые при помощи OCSNG, могут иметь размер больше 8 Мб, поэтому, чтобы не было проблем с их загрузкой, следует установить большее значение переменных post_max_size и upload_max_filesize в файле /etc/php5/apache2/php.ini, например в 10 Мб (по умолчанию – 8 и 2 Мб):

php_value post_max_size 10m

php_value upload_max_filesize 10m

Эти же установки надо изменить в файле ocsinventory-reports.conf.

Набираем в браузере http://localhost/ocsreports/install.php и в появившемся окне вводим логин и пароль для доступа к MySQL. По умолчанию в процессе установки для доступа к базе ocsweb будет создана учетная запись ocs с паролем ocs. Если только доступ к базе не ограничен локальной системой, то в целях безопасности пароль следует изменить:

$ mysql -uroot -prootsecret

mysql> UPDATE mysql.user SET Password = PASSWORD('ocspasswd') WHERE User = 'ocs';

mysql> FLUSH PRIVILEGES;

mysql> exit

Новое значение пароля следует прописать в файле /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php:

$_SESSION["PSWD_BASE"]="ocspasswd"

И в ocsinventory-server.conf:

PerlSetVar OCS_DB_PWD ocspasswd

Локализация

Переходим на страницу http://localhost/ocsreports, для регистрации используем логин admin с паролем admin. Щелкнув здесь же по флагу, можно активировать русский язык интерфейса, но сразу после установки это привело к появлению нечитаемых символов.

Файл локализации OCSNG требует замены

Файл локализации OCSNG требует замены

Единственным материалом по локализации интерфейса OCS Inventory является статья Евгения Бражко [5], но она относится к версии 1.02RC1, вышедшей в марте 2008 года, и многие вопросы, которые в ней описаны, в текущей версии уже решены. Так, анализ HTML-кода страницы показал, что она выдается в нужной кодировке:

 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251;">

Интерфейс локализуется при помощи языкового файла russian.txt, расположенного в /usr/share/ocsinventory-reports/ocsreports/languages. В меню Configurations есть отдельный пункт Language file, позволяющий его редактировать. Но открыв файл russian.txt в текстовом редакторе, поддерживающем СР1251, обнаруживаем только набор нечитаемых символов.

Вывод команды file:

$ file russian.txt

russian.txt: UTF-8 Unicode English text

задает еще больше вопросов. При этом:

$ file english.txt

english.txt: ASCII English text

А первая строка файла явно указывает на нужную кодировку.

$ head -n 1 russian.txt

0 windows-1251

Из этого делаем вывод – что-то не то с самим файлом, поэтому берем аналогичный с RC1 или другого источника (например, на сайте журнала www.samag.ru в разделе «Исходный код») и подменяем его, не забыв установить нужные права доступа.

$ sudo chown root:www-data russian.txt

После этого все надписи выводятся на русском.

Чтобы корректно выводились названия программ, установленных на Windows-системах, следует в файле /usr/share/ocsinventory-reports/ocsreports/preferences.php установить в «1» значение UTF8_DEGREE:

// 0 For non utf8 database, 1 for utf8

define("UTF8_DEGREE", 1 );

Далее в файле machine.php, который находится в этом же каталоге, правим функцию print_softwares. После установки она будет иметь такой вид:

echo "$td3".htmlentities(textDecode($item->PUBLISHER))."</td>

$td3".htmlentities(textDecode($item->NAME))." </td>

$td3".textDecode($item->VERSION)." </td>

$td3".(htmlentities(textDecode($item->COMMENTS))? ?htmlentities(textDecode($item->COMMENTS)): "N/A")." </td>";

Меняем на:

echo "$td3".textDecode($item->PUBLISHER)."</td>

$td3".textDecode($item->NAME)." </td>

$td3".textDecode($item->VERSION)." </td>

 $td3".(htmlentities(textDecode($item->COMMENTS))? textDecode($item->COMMENTS):"N/A")." </td>";

После этого список программ, установленных на конкретном компьютере, будет выводиться корректно. Страница в PDF, создаваемая при помощи кнопки «Напечатать эту страницу», которая расположена в самом низу, также выглядела корректно. Хотя в общем списке ПО по-прежнему будет нечитаемый текст.

После всех правок информация об установленном ПО на кириллице выводится корректно

После всех правок информация об установленном ПО на кириллице выводится корректно

Установка агента

Агент для Windows написан на C++, его можно установить вручную, при помощи logon скрипта или правил GPO. Агент для Linux написан на Perl и С. Для его установки потребуется наличие некоторых модулей Perl (XML и Zlib) и dmidecode [4] (обеспечивает сбор данных из BIOS об оборудовании в соответствии со стандартами SMBIOS/DMI). В Linux агент устанавливается вручную. Сначала рассмотрим этот вариант.

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

$ sudo apt-get install libcompress-zlib-perl libnet-ip-perl libnet-ssleay-perl libwww-perl libxml-simple-perl po-debconf ucf dmidecode pciutils

Далее скачиваем и ставим агента:

$ tar xzvf OCSNG_UNIX_AGENT-1.02.tar.gz

$ cd Ocsinventory-Agent-1.0.1

$ perl Makefile.PL

$ make

$ sudo make install

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

 

Do you want to configure the agent

Please enter 'y' or 'n'?> [y]

Отмечаем «y» и при помощи цифровых клавиш отвечаем на вопросы, где должен располагаться конфигурационный файл:

 

Where do you want to write the configuration file?

0 -> /etc/ocsinventory

1 -> /usr/local/etc/ocsinventory

2 -> /etc/ocsinventory-agent

Далее указываем адрес или имя сервера, создаем тег (с его помощью можно собрать системы в целевую группу, например, по принципу размещения) для агента, активируем задачу для cron, каталог для хранения файлов и так далее. По окончании выдается запрос на отсылку собранных данных о компьютере на сервер:

 

Do you want to send an inventory of this machine?

Please enter 'y' or 'n'?> [y]

[info] Accountinfo file doesn't exist. I create an empty one.

-> Success!

В итоге в /var/lib/ocsinventory-agent будет создан подкаталог с файлами, содержащими текущую конфигурацию компьютера. Например, в ocsinv.adm содержатся тег и название системы, под которым она будет видна в консоли управления.

$ cat /var/lib/ocsinventory-agent/http\:__localhost_ocsinventory/ocsinv.adm

<ADM>

<ACCOUNTINFO>

<KEYNAME>TAG</KEYNAME>

<KEYVALUE>Ubuntu</KEYVALUE>

</ACCOUNTINFO>

</ADM>

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

При возникновении проблем можно запустить агента в режиме отладки:

$ ocsinventory-agent -l /tmp –debug --server http://localhost/ocsinventory

По умолчанию во вкладке «Все компьютеры» выводятся 7 характеристик клиентских машин, но при помощи раскрывающегося списка Add column можно добавить еще 23 поля. Хотя в некоторых случаях замечены ошибки в определении параметров. Так, на системе с такими характеристиками:

$ dmesg | grep -i processor

 

[ 97.725563] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ processors (2 cpu cores) (version 2.20.00)

[ 0.000000] Detected 2010.408 MHz processor.

В консоли OCS Inventory было выведено – 1000 Мгц, но при необходимости данные можно скорректировать вручную. По разным причинам в базу компьютер может быть занесен несколько раз, для удаления дубликатов существует одноименная вкладка, в которой одинаковые системы можно отобрать по нескольким характеристикам (имя, МАС-адрес, серийный номер).

После установки агентов данные автоматически появляются в консоли управления OCSNG

После установки агентов данные автоматически появляются в консоли управления OCSNG

Текущая версия агента для Windows 4.0.5.4, архив OCSNG_WINDOWS_AGENT_1.02.zip с установочными файлами можно скачать с сайта проекта. Судя по всему, в нем уже исправлена ошибка, которая приводила к тому, что русские буквы, начиная с 'х'(0xF4) заменялись английским иксом. Во всяком случае, на тестовых системах все работало правильно. Как вариант можно использовать специальную сборку OCSNG_WINDOWS_AGENT_1.02_RC2_OTEA.zip (версия агента 4.0.4.9) [5].

Самым простым вариантом установки является запуск исполняемого файла OcsAgentSetup.exe, в этом случае будет произведена стандартная установка, по окончании которой агент будет прописан в качестве сервиса. На последнем этапе указываем имя или IP-адрес OCSNG сервера и устанавливаем флажок Immediatly launch inventory, чтобы сразу же отправить отчет.

Все настройки будут сохранены в файле service.ini каталога, в который установлен агент.

В Vista следует открыть его и добавить параметр /DEBUG в строку запуска:

Miscellaneous=/SERVER:192.168.0.10 /PNUM:80 /DEBUG

При изменении оборудования или ПО агента вызвать принудительно, набрав в командной строке:

> "C:\Program Files\OCS Inventory Agent\OCSInventory.exe" /SERVER:ocsng_server /PNUM:80 /NOW

Также агента (файл ocsagent.exe, являющийся zip-архивом) можно импортировать в базу OCSNG, выбрав во вкладке «Агент» и указав место расположения файла. В этом случае он будет доступен с любого компьютера сети.

Кроме функций сетевой инвентаризации, OCSNG имеет возможность развертывания пакетов и запуска команд, записанных в файле (например, bat/vbs) на клиентских компьютерах (кроме Vista), информация о которых находится в инвентаризационной системе. При необходимости установки одного приложения на большое количество систем такая функциональность очень выручает.

Для начала пакет нужно создать. Переходим в меню Deployment -> Build и заполняем поля New package building. Название пакета должно быть уникальным, и желательно отражать его назначение. Параметр Priority определяет порядок размещения пакетов. Что, собственно, делать с пакетом, определяет поле Action.

Здесь три возможных значения:

  •  Store – копировать на целевую систему;
  •  Execute – копировать и выполнить с командой;
  •  Launch – копировать и запустить.

Параметры в User notifications позволяют вывести соответствующее предупреждение пользователю, разрешить ему отмену выполнения задачи. Созданный пакет загружается в каталог /var/lib/ocsinventory-reports/download/timestamp.

При этом timestamp получается уникальным.

$ ls /var/lib/ocsinventory-reports/download/

1241705351 1241722723

$ ls 1241722723

1241722723-1 info

Файл info содержит настройки пакета, а 1241722723-1 является собственно программой.

Переходим в меню Deployment -> Activate, выбираем нужный пакет и нажимаем ссылку Activate. Вводим в появившемся окне адрес вида https://server/download/, при этом timestamp к URL будет добавлен автоматически, нажимаем «Отправить». В ответ должны получить сообщение:

Package activated, it can now be deployed.

Теперь выбираем компьютер, на котором хотим установить пакет, переходим в меню Customization, в самом низу выбираем ссылку add package, указываем на пакет и нажимаем в поле Affect. Подтверждаем свой выбор. В Customization появится информация о состоянии задачи, а в таблице в Activate будет выводиться статистика.

По умолчанию агент подключается к серверу раз в сутки, тогда и будет произведена установка. Можно ускорить этот процесс, вызвав подключение принудительно, как это показано выше. После подключения агента к серверу состояние пакета должно измениться с WAITING_NOTIFICATIONS на NOTIFIED, а затем Success. Пакет будет сохранен в каталоге C:\Program Files\OCS Inventory Agent\download\TIMESTAMP. А все связанные сообщения можно найти в файле download.log.

Кроме выдачи информации о «своем» компьютере, агенты в разных подсетях сканируют сеть в поисках MAC-адресов, принадлежащих других системам. Такая функция называется IP discovery и позволяет находить другие устройства, на которые нельзя установить агент (например, свитчи, принтеры и так далее).

Установка GLPI

Установка GLPI достаточно проста. В репозиториях дистрибутивов нужный пакет есть, но его версия обычно сильно отстает.

$ sudo apt-cache search glpi

glpi - IT and Asset management software

$ sudo apt-cache show glpi | grep -i version

Version: 0.68.3.2-1

Актуальной на момент написания статьи является версия 0.71.5, вышедшая в январе 2009 года. Кроме этого, на странице загрузки доступен предрелиз 0.72-RC2 и срез CVS-архива.

Для установки просто распаковываем скачанный архив в корневой каталог веб-сервера:

$ sudo tar xzvf glpi-0.71.5.tar.gz -C /var/www

$ cd /var/www/glpi

Устанавливаем для некоторых каталогов владельца и группу-владельца:

$ sudo chown www-data:www-data config files files/* inc

Далее набираем в браузере http://localhost/glpi выбираем язык (в списке есть русский), принимаем условия GPL и следуем указаниям мастера установки. Самый главный этап – «Проверка окружения на совместимость с GLPI», где следует внимательно прочитать и выполнить все рекомендации.

При установке GLPI следует выполнить все рекомендации программы

При установке GLPI следует выполнить все рекомендации программы

Например, по указанию мастера параметр memory_limit в php.ini следует установить в значение, большее чем 32 Мб:

$ grep -i memory_limit /etc/php5/apache2/php.ini

memory_limit = 128M

Выполняем все требования, проверяем повторно и, если все нормально, нажимаем Continue. Теперь собственно установка – вводим данные для доступа к MySQL, название базы данных, и все.

Чтобы GLPI автоматически проверял почту, отправлял уведомления, следует создать задание для пользователя, от имени которого работает веб-сервер (нужен пакет php5-cli):

$ sudo crontab -u www-data -e

*/5 * * * * /usr/bin/php5 /var/www/glpi/front/cron.php &>/dev/null

По умолчанию в GLPI создаются четыре учетные записи с разными правами и возможностями (через дробь указан пароль):

  •  glpi/glpi – администратор;
  •  tech/tech – технический специалист;
  •  normal/normal – обычная учетная запись (возможность просмотра данных);
  •  post-only/post-only – только обращение в службу поддержки.

GLPI поддерживает импорт учетных данных из AD или другой LDAP.

Регистрируемся в системе как glpi. Для локализации интерфейса в меню Setting -> Select Language выбираем русский язык, после этого все новые учетные записи будут использовать по умолчанию выбранный язык. Новые пользователи добавляются в одноименной вкладке, там несколько некорректный перевод. Так, логину соответствует поле «Имя пользователя», это иногда сбивает с толку. Чтобы не было путаницы, можно изменить значение в файле /var/www/glpi/locales/ru_RU.php:

$LANG["setup"][18]="Имя пользователя";

Далее переходим в меню «Установки (Setup) -> Общие (General setup)» и устанавливаем «Активировать режим OCSNG (Activate OCSNG mode)» в «Да». После этого появится новая вкладка «Режим OCSNG» (OCSNG Mode).

Окно активации режима OCSNG

Окно активации режима OCSNG

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

По умолчанию синхронизируется только часть параметров, чтобы в базу данных GLPI были перенесены и компоненты компьютеров, следует разрешить их синхронизацию, установив флажок напротив нужного в положение «Глобальный импорт».

Кроме этого, во вкладке «Инструменты» появится пункт OCSNG, при помощи имеющихся здесь ссылок можно производить синхронизацию и импортирование компьютеров между OCSNG и GLPI.

Полученные данные появляются во вкладке «Оборудование». Здесь несколько подпунктов, переход в некоторые из них позволяет получить список некоторых компонентов, входящих в компьютер («Мониторы», «Принтеры»), отдельного оборудования («Картриджи», «Телефоны»), а также ПО. Импортированные компьютеры доступны в одноименном подпункте.

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

К сожалению, на данный момент список импортированных с OCSNG компонентов компьютера, написанный на русском языке, выводится нечитаемым текстом.

Информация об оборудовании, импортированная с OCSNG в GLPI, отображается некорректно

Информация об оборудовании, импортированная с OCSNG в GLPI, отображается некорректно

Пользователей GLPI можно объединить в группы, кроме этого существует более глобальное понятие – «Организация». Сразу после установки создается «Основная организация», в которую и будут включены все компоненты. Предусмотрено создание других организаций с установлением подчиненности между ними (структуры). Но работа с организациями реализована неудобно, так перенос техники в другую организацию усложнен и неудобен. Предусмотрен экспорт данных в PDF, CVS и SLK (Symbolic Link).

По умолчанию при экспорте в PDF вместо русских букв выводятся знаки вопросов, это происходит по двум причинам: стандартная функция экспортирует данные в кодировке ISO-8859-1, которую и поддерживает используемый по умолчанию шрифт. Подсказка была найдена на форуме OPENNET [6]. Заменяем в скрипте /var/www/glpi/inc/export.function.php вызов функции utf8_decode на utf8_decode_cyr:

$ sudo perl -p -i -e 's/utf8_decode/utf8_decode_cyr/g' export.function.php

inc/export.function.php:

И добавляем в export.function.php описание самой функции utf8_decode_cyr:

function utf8_decode_cyr($value){

return iconv("UTF-8","Windows-1251",$value);

}

По умолчанию для экспорта используется шрифт Helvetica, его бы я и рекомендовал оставить. Если заменить шрифт другим, его имя придется править не только в двух местах файла export.function.php:

$ cat export.function.php | grep -i selectFont

$pdf->selectFont(GLPI_ROOT."/lib/ezpdf/fonts/Helvetica.afm");

Но и в двух файлах, находящихся в lib/ezpdf.

$ sudo apt-get install ttf2pt1

Запускаем:

$ ttf2pt1 -l cyrillic -A Helvetica.ttf Helvetica

Теперь копируем файлы вместо старых, не забыв подправить права:

$ sudo cp -v Helvetica* /var/www/glpi/lib/ezpdf/fonts/

 

`Helvetica.afm' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.afm'

`Helvetica.t1a' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.t1a'

`Helvetica.ttf' -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.ttf'

 

Исправленный вариант шрифтов, можно найти в разделе «Исходный код» сайта журнала www.samag.ru . После этого PDF будет выводиться корректно.

Файл PDF, сгенерированный в OCSNG, с информацией о системе

Файл PDF, сгенерированный в OCSNG, с информацией о системе

Установка плагинов для GLPI производится простой распаковкой в подкаталог glpi/plugins, после чего плагин будет доступен для настройки в меню «Установки -> Плагины». С сайта проекта можно скачать приблизительно 50 самых разнообразных плагинов.

Заключение

Интерфейсы, как OCSNG, так и GLPI, достаточно просты для освоения, нужно потратить полчаса, и вы будете хорошо ориентироваться. К сожалению, до конца вопрос локализации так и не решен. Так, для Windows в OCSNG неправильно отображаются кириллические наименования установленных программ и компонентов оборудования. Обсуждение всех вопросов по локализации можно найти на форумах проекта OCSNG и OPENNET [6], некоторым они помогают, у некоторых не получается все решить.

  1. Сайт проекта OCS Inventory NG – http://www.ocsinventory-ng.org.
  2. Сайт проекта GLPI – http://glpi-project.org.
  3. Яремчук С. Учет оборудования с Kwok Information Server. //Системный администратор, №10, 2008 г. – С. 40-43.
  4. Страница проекта dmidecode – http://www.nongnu.org/dmidecode.
  5. Инвентаризация компьютерной и оргтехники. OCS Inventory – http://eugene-online.blogspot.com/2008/04/ocs-inventory.html.
  6. Архив с исправлениями для агента Windows – http://switch.dl.sourceforge.net/sourceforge/ocsinventory/OCSNG_WINDOWS_AGENT_1.02_RC2_OTEA.zip.
  7. Обсуждение проблем локализации OCSNG – http://www.opennet.ru/openforum/vsluhforumID3/14092.html и http://forums.ocsinventory-ng.org/viewtopic.php?id=603.
  8. Страница Wiki проекта GLPI на русском – http://glpi-project.org/wiki/doku.php?id=ru:welcome.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru