Ocs inventory ng agent for windows что это за программа

Всем доброго времени суток! Как видно из заголовка, речь пойдет о двух программах: 1. Open Computers and Software Inventory OCS-Inventory основан на распределяем...

Всем доброго времени суток!

Как видно из заголовка, речь пойдет о двух программах:
1. Open Computers and Software Inventory
OCS-Inventory основан на распределяемых модулях, устанавливаемых на инвентаризируемые машины, которые отсылают подробную информацию о системе, подключенных устройствах и установленном ПО в выделенную базу данных.
Поддерживаются следующие OS: Microsoft Windows, Linux, *BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X

2. GPLI — Guestion Libre de Parc Informatique
Проект предназначен для работы с базой данных IT и телекоммуникационного оборудования, установленного на предприятии. Также имеется возможность ведения учета расходных материалов и организации службы технической поддержки по расписанию и по заявкам пользователей.

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

Итак, начнем!

Установка OCS Inventory.
Версия OCS: Ver. 1.3.2
В качестве серверной ОС для сбора данных у меня будет выступать ОС FreeBSD. Я не буду описывать установку и настройку LAMP(в данном случае FAMP =)). Будем исходить из того, что это у вас уже настроено.
Перед тем как начать установку и настройку OCS Inventory, проверьте установленны ли следующие порты
/usr/ports/www/mod_perl2
/usr/ports/sysutils/logrotate
/usr/ports/lang/perl

В конфиге apache должна быть строка
LoadModule perl_module libexec/apache22/mod_perl.so
Проверьте установленны ли следующие модули perl
Apache::DBI -- 1.08
BSD::Resource -- 1.2904
Bundle::NetSNMP -- ???
Class::Inspector -- 1.24
Compress::Raw::Bzip2 -- 2.030
Compress::Raw::Zlib -- 2.030
DBD::mysql -- 4.017
DBI -- 1.613
Digest::SHA1 -- 2.13
ExtUtils::MakeMaker -- undef
HTML::Parser -- 3.68
HTML::Tagset -- 3.20
IO::Compress -- ???
LWP -- 5.836
Locale::gettext -- 1.05
Net::IP -- 1.25
Perl -- 5.8.9
SOAP::Lite -- 0.712
Storable -- 2.21
Task::Weaken -- 1.03
URI -- 1.55
XML::Entities -- 1.0000
XML::Parser -- 2.36
XML::Simple -- 2.18
mod_perl2 -- 2.000004

для этого достаточно запустить вот такой скрипт
#!/usr/local/bin/perl
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || "???";
print "$module -- $versionn";
}

Если что-то из приведенного списка у вас отсутствует, то установите коммандой
#cpan -e ModulName

1. Качаем пропатченый сервер

OCSNG в UTF8. Спасибо некоему linvinus!
Автор патча сделал для нас все что нужно, нам лишь осталось исправить небольшой недочет. Открываем архив, находим там файл /ocsinventory-server-1.3.2/ocsreports/languages/russian.txt, меняем в первой строке windows-1251 на utf8 и сохраняем в кодировке UTF8. Тарбол с исправленным russian.txt можно взять здесь

2. Распаковывыем архив в папку на сервере(у меня это /usr/local/www/ocs/).

#tar -xf OCSNG_UNIX_SERVER-1.3.2-linvinus-with-utf8_patch.tar.gz

3. Создадим директорию для logrotate

#mkdir /etc/logrotate.d

4. Изменяем владельца папки

# chown -R www:www /usr/local/www/ocs/

5. Далее переходим в папку и запускаем setup.sh

#sh setup.sh

+----------------------------------------------------------+
| |
| Welcome to OCS Inventory NG Management server setup ! |
| |
+----------------------------------------------------------+

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)?
Assuming Communication server 1.0 RC2 or previous is not installed
on this computer.

Starting OCS Inventory NG Management server setup from folder /usr/local/www/ocs
Storing log in file /usr/local/www/ocs/ocs_server_setup.log

+----------------------------------------------------------+
| Checking for database server properties... |
+----------------------------------------------------------+

Your MySQL client seems to be part of MySQL version 5.1.
Your computer seems to be running MySQL 4.1 or higher, good ;-)

Which host is running database server [localhost] ?
OK, database server is running on host localhost ;-)

On which port is running database server [3306] ?
OK, database server is running on port 3306 ;-)

+----------------------------------------------------------+
| Checking for Apache web server daemon... |
+----------------------------------------------------------+

Where is Apache daemon binary [/usr/local/sbin/httpd] ?
OK, using Apache daemon /usr/local/sbin/httpd ;-)

+----------------------------------------------------------+
| Checking for Apache main configuration file... |
+----------------------------------------------------------+

Where is Apache main configuration file [/usr/local/etc/apache22/httpd.conf] ?
OK, using Apache main configuration file /usr/local/etc/apache22/httpd.conf ;-)

+----------------------------------------------------------+
| Checking for Apache user account... |
+----------------------------------------------------------+

Which user account is running Apache web server [User] ?www
OK, Apache is running under user account www ;-)

+----------------------------------------------------------+
| Checking for Apache group... |
+----------------------------------------------------------+

Which user group is running Apache web server [www] ?www
OK, Apache is running under users group www ;-)

+----------------------------------------------------------+
| Checking for Apache Include configuration directory... |
+----------------------------------------------------------+

Setup found Apache Include configuration directory in
.
Setup will put OCS Inventory NG Apache configuration in this directory.
Where is Apache Include configuration directory [] ?/usr/local/etc/apache22/Includes
OK, Apache Include configuration directory /usr/local/etc/apache22/Includes found ;-)

+----------------------------------------------------------+
| Checking for PERL Interpreter... |
+----------------------------------------------------------+

Found PERL Intrepreter at </usr/bin/perl> ;-)
Where is PERL Intrepreter binary [/usr/bin/perl] ?
OK, using PERL Intrepreter /usr/bin/perl ;-)

Do you wish to setup Communication server on this computer ([y]/n)?

+----------------------------------------------------------+
| Checking for Make utility... |
+----------------------------------------------------------+

OK, Make utility found at </usr/bin/make> ;-)

+----------------------------------------------------------+
| Checking for Apache mod_perl version... |
+----------------------------------------------------------+

Checking for Apache mod_perl version 1.99_22 or higher
Found that mod_perl version 1.99_22 or higher is available.
OK, Apache is using mod_perl version 1.99_22 or higher ;-)

+----------------------------------------------------------+
| Checking for Communication server log directory... |
+----------------------------------------------------------+

Communication server can create detailled logs. This logs can be enabled
by setting interger value of LOGLEVEL to 1 in Administration console
menu Configuration.
Where to put Communication server log directory [/var/log/ocsinventory-server] ?
OK, Communication server will put logs into directory /var/log/ocsinventory-server ;-)

+----------------------------------------------------------+
| Checking for required Perl Modules... |
+----------------------------------------------------------+

Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module...
Found that PERL module Apache::DBI is available.
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module...
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.

+----------------------------------------------------------+
| Checking for optional Perl Modules... |
+----------------------------------------------------------+

Checking for SOAP::Lite PERL module...
Found that PERL module SOAP::Lite is available.
Checking for XML::Entities PERL module...
Found that PERL module XML::Entities is available.

+----------------------------------------------------------+
| OK, looks good ;-) |
| |
| Configuring Communication server Perl modules... |
+----------------------------------------------------------+

Writing Makefile for Apache::Ocsinventory

+----------------------------------------------------------+
| OK, looks good ;-) |
| |
| Preparing Communication server Perl modules... |
+----------------------------------------------------------+

+----------------------------------------------------------+
| OK, prepare finshed ;-) |
| |
| Installing Communication server Perl modules... |
+----------------------------------------------------------+

+----------------------------------------------------------+
| OK, Communication server Perl modules install finished;-)|
| |
| Creating Communication server log directory... |
+----------------------------------------------------------+

Creating Communication server log directory /var/log/ocsinventory-server.

Fixing Communication server log directory files permissions.
Configuring logrotate for Communication server.
/usr/local/www/ocs
Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server

+----------------------------------------------------------+
| OK, Communication server log directory created ;-) |
| |
| Now configuring Apache web server... |
+----------------------------------------------------------+

To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,
Setup can name Communication Server Apache configuration file
'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.
Do you allow Setup renaming Communication Server Apache configuration file
to 'z-ocsinventory-server.conf' ([y]/n) ?y
OK, using 'z-ocsinventory-server.conf' as Communication Server Apache configuration file
Removing old communication server configuration to file /usr/local/etc/apache22/Includes/ocsinventory.conf
Writing communication server configuration to file /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf

+----------------------------------------------------------+
| OK, Communication server setup sucessfully finished ;-) |
| |
| Please, review /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
| to ensure all is good. Then restart Apache daemon. |
+----------------------------------------------------------+

Do you wish to setup Administration Server (Web Administration Console)
on this computer ([y]/n)?n

Setup has created a log file /usr/local/www/ocs/ocs_server_setup.log. Please, save this file.
If you encounter error while running OCS Inventory NG Management server,
we can ask you to show us his content !

DON'T FORGET TO RESTART APACHE DAEMON !

Enjoy OCS Inventory NG ;-)

6. Создадим файл виртуалхоста

#ee /usr/local/etc/apache22/Includes/ocs.conf
<VirtualHost *:80>
ServerAdmin webmaster@domen.ru
DocumentRoot /usr/local/www/ocs/ocsreports
ServerName ocs.domen.ru
ServerAlias www.ocs.domen.ru
ErrorLog "|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-error_log.%Y-%m-%d-%H_%M_%S 86400"
CustomLog "|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-access_log.%Y-%m-%d-%H_%M_%S 86400" common

<Directory />
Order deny,allow
Allow from 192.168.0.0/16
Options Indexes FollowSymLinks
DirectoryIndex index.php
AllowOverride Options
php_flag file_uploads on

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

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3495
Server version: 5.1.41 FreeBSD port: mysql-server-5.1.41

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'localhost' IDENTIFIED BY 'ocs';

8. Мы почти у цели, открываем наш любимый фаерфокс браузер и вводим

http: // ip_address/ocsreports
В строке «Nombre del servidor» вводим localhost
image

жмем «Отправить запрос»
image
Кликаем по ссылке
image

Выбираем флаг нашей Родины и вводим admin/admin

image

9. Проверяем работоспособность нашего OCSNG сервера

Для того чтобы к нам на сервер приходили отчеты о хардверной начинке компьютеров и установленном ПО необходимо установить агента на компьютеры нашей сети. Для этого вновь идем на ftp linvinus’а и качаем пропатченный агент.
На сервере выполняем комманду
tail -F /var/log/httpd/http.ocs.domen.ru-error_log.2010-09-14-00_00_00
и переходим к установке агента. В процессе установки нам будет предложенно указать сервер для сбора данных
image
не забудьте поставить галочку как на скриншоте, для того чтобы после установки агент послал информацию серверу
Если в логе мы видим ругань подобную этой
[Tue Sep 14 19:16:34 2010] [error] [client 192.168.254.2] Can't call method "rollback" on an undefined value at /usr/local/lib/perl5/site_perl/5.8.9/Apache/Ocsinventory/Server/System.pm line 265.n
то необходимо проверить правильность установок подключения к mysql в файле
/usr/local/www/ocs/ocsreports/dbconfig.inc.php
и в
/usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
Если все в порядке, то в веб интерфейсе OCS появится новая запись, примерно как на скриншоте =)
image

10. Последним штрихом будет развертка агента в сети средствами Active Directory.

В вики OCS есть скрипт который нуждается лишь в небольшом исправлении в соответствии с реалиями вашей сети.
@echo off

REM *********** Declare variables *********************************************
REM *********** Adjust to your situation **************************************
SET Version=4061.1
REM имя или IP сервера где установлен OCSNG
SET Server=ocs.domen.ru
REM путь к папке на расшареном ресурсе, который доступен всем компьютерам домена
SET SetupPath=\dcshareUstPril

REM *********** Install if agent isn't found **********************************
IF EXIST "%PROGRAMFILES%OCS Inventory agentOCSInventory.exe" GOTO update
:install
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /DEBUG
GOTO version

:update
REM *********** Update agent if %Version%.txt isn't found *********************
IF EXIST "%PROGRAMFILES%OCS Inventory agent%Version%.txt" GOTO end
:upgrade
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /UPGRADE /DEBUG

:version
cd /D "%PROGRAMFILES%OCS Inventory agent"
echo pwouet > %Version%.txt

:end
REM *********** Cleanup variables *********************************************
SET Version=
SET Server=
SET SetupPath=


Сохраняем как install_ocs_agent.bat и настраиваем GPO соответствующим образом.
На этом с OCS закончим. Стоит лишь отметить что данные от агентов приходят с рандомной задержкой, поэтому после окончания настройки пройдет достаточно много времени перед тем как вы получите данные от всех компьютеров.

Установка GLPI.
Версия GLPI: glpi-0.72.4_1

1. Установим GLPI из портов.

make -c /usr/ports/www/glpi install clean
После чего создаем алиас или виртуалхост(кому как нравится) в апаче. У меня это алиас
Alias /glpi "/usr/local/www/glpi"
<Directory "/usr/local/www/glpi">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from 192.168.0.0/16

*Почему-то закрывающая «/Directory» не отобразилась, поэтому если копипастите будьте внимательны =)

2.Создадим пользователя в mysql с необходимыми правами

mysql> grant all privileges on glpi.* to 'glpi'@'localhost' identified by 'password_ololo';

3. Идем на http:// domen.ru/glpi и следуем по шагам мастера установки

image
image
image
image
image
image
image
image
image

3.Немного поправим исходники GLPI

Правим файл
/usr/local/www/glpi/inc/ocsng.class.php
Находим класс
class DBocs extends DBmysql
и меняем строку
$this->dbenc="latin1";
на
$this->dbenc="utf8";

4. Устанавливаем плагин для импорта из OCS

OCS Import

Плагин нужно распаковать в папку
/usr/local/www/glpi/plugins/

После чего перейти в веб интерфейсе GLPI
# Основная панель >
# Установки >
# Дополнения
Жмем «Установить», затем «Включить»

Далее отправляемся в
# Основная панель >
# Установки >
# Общие
# Ограничения
«Активировать режим OCSNG » — Да

теперь
# Основная панель >
# Установки >
# Режим OCSNG
Устанавливаем опции
image

# Основная панель >
# Инструментарий >
# OCSNG
# Импортирование новых компьютеров
Делаем импорт и вуаля =)
image

И в заключение экспорт в pdf на русском

1. Заменяем все вызовы utf8_decode на utf8_decode_cyr
#sed -e 's/utf8_decode/utf8_decode_cyr/g' /usr/local/www/glpi/inc/export.function.php > /usr/local/www/glpi/inc/export.function.php.new
#mv /usr/local/www/glpi/inc/export.function.php.new /usr/local/www/glpi/inc/export.function.php

2. Добавляем в /var/www/glpi/inc/export.function.php функцию
function utf8_decode_cyr($value){
return iconv("UTF-8","Windows-1251",$value);
}

3. Качаем набор шрифтов по cсылке

4. Складываем файлы из архива в /usr/local/www/glpi/lib/ezpdf/fonts/
Теперь pdf экспортируется как надо
image

Фуууухххх… управились!
Все, связка OCS + GLPI установлена и настроена.
Мне лишь осталось поблагодарить за помощь и поддержку камрада Pascal с форума системных администраторов UNIX и перечислить используемые источники информации =)

1. www.tux.in.ua/articles/1500
2. forums.ocsinventory-ng.org/viewtopic.php?id=4104

ps
У GLPI есть еще масса интересных функций, но в рамки данной заметки они ни как не попадают.
Если у кого то будут траблы с установкой — жду в каментах, чем смогу, как говорится.

OCS Inventory система инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Так же позволяет удаленно настраивать программное обеспечение рабочих мест.

OCS Inventory NG расшифровывается как Open Computers and Software Inventory.

Система OCS Inventory NG использует программу агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального центрального сервера. Центральный сервер системы позволяет не только собирать информацию об инвентаризированном оборудовании, но и частично управлять инспектируемыми компьютерами.

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

Системное окружение: Ubuntu Server 9.10 x86_64 GNU/Linux

# aptitude show ocsinventory-server
...
Версия: 1.02.1-1
...
# aptitude install ocsinventory-server ocsinventory-reports

После установки станут доступны ссылки.

На текущий момент в репозитории версия 1.02.1, на сайте доступна 1.3.1. При такой разнице в версиях логично сервер установить из исходных текстов.

Для начала установим зависимости ocsinventory-server. В моем случае доставил такие пакеты:

# apt-cache depends ocsinventory-server
...
  Зависит: libapache2-mod-perl2
  Зависит: libdbi-perl
  Зависит: libapache-dbi-perl
  Зависит: libdbd-mysql-perl
  Зависит: libcompress-zlib-perl
...
# aptitude install libapache-dbi-perl libapache2-mod-perl2 libapache2-reload-perl libbsd-resource-perl libdevel-symdump-perl
libnet-ip-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl nmap libsoap-lite-perl

Скачиваем с сайта последнюю версию.

# wget http://launchpad.net/ocsinventory-server/stable-1.3/server-release-1.3.1/+download/OCSNG_UNIX_SERVER-1.3.1.tar.gz
# tar -xzvf OCSNG_UNIX_SERVER-1.3.1.tar.gz
# cd OCSNG_UNIX_SERVER-1.3.1/
# ./setup.sh

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

Далее производится проверка установленных модулей Perl. И в случае, если нужный не будет найден, выдается соответствующее сообщение. В моем случае не был найден модуль SOAP::Lite — доустановм его.

# aptitude install libsoap-lite-perl

Установим недостающие модули через CPAN установка модулей.

# cpan -i XML::Entities
# tail -F /var/log/apache2/error.log
...
ocsinventory-server: Can't load SOAP::Transport::HTTP* - Web service will be unavailable
# Для устранения этой ошибки установим SOAP::Transport::HTTP2
# perl -MCPAN -e "install SOAP::Transport::HTTP2"

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

# ./setup.sh
+----------------------------------------------------------+
| Installing files for Administration server...            |
+----------------------------------------------------------+

Creating PHP directory /usr/share/ocsinventory-reports/ocsreports.
Copying PHP files to /usr/share/ocsinventory-reports/ocsreports.
Fixing permissions on directory /usr/share/ocsinventory-reports/ocsreports.
Creating database configuration file /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php.
Creating IPDiscover directory /var/lib/ocsinventory-reports/ipd.
Fixing permissions on directory /var/lib/ocsinventory-reports/ipd.
Creating packages directory /var/lib/ocsinventory-reports/download.
Fixing permissions on directory /var/lib/ocsinventory-reports/download.
Configuring IPDISCOVER-UTIL Perl script.
Installing IPDISCOVER-UTIL Perl script.
Fixing permissions on IPDISCOVER-UTIL Perl script.
Writing Administration server configuration to file //etc/apache2/conf.d//ocsinventory-reports.conf

+----------------------------------------------------------+
| OK, Administration server installation finished ;-)      |
|                                                          |
| Please, review //etc/apache2/conf.d//ocsinventory-reports.conf
| to ensure all is good and restart Apache daemon.         |
|                                                          |
| Then, point your browser to http://server//ocsreports
| to configure database server and create/update schema.   |
+----------------------------------------------------------+

В процессе установки в каталоге /etc/apache2/conf.d/ будут созданы конфигурационные файлы для веб-сервера — ocsinventory-server.conf и ocsinventory-reports.conf.
Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы Alias.

Поэтому при необходимости управления доступом все изменения следует производить в упомянутых конфиконфигурационных файлах, иначе назначенные на корень права
не будут наследоваться. Кроме этого создается файл (/etc/logrotate.d/ocsinventory-server), обеспечивающий ротацию журналов раз в неделю.

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

# /etc/init.d/apache2 reload

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

Новое значение пароля следует прописать в двух файлах:

# nano /etc/apache2/conf.d/z-ocsinventory-server.conf
$_SESSION["PSWD_BASE"]="ocspasswd"
# nano /etc/apache2/conf.d/z-ocsinventory-server.conf
PerlSetVar OCS_DB_PWD ocspasswd

После создания БД ocsweb станет доступна ссылка http://Your_IP/ocsreports/index.php Пользователь по умолчанию admin, пароль admin.

OCS Inventory NG — открытое программное обеспечение, предназначенное для инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Позволяет удаленно настраивать ПО рабочих мест. Работает под всеми операционными системами. Платформа OCS может быть использована для визуализации инвентаризации через веб-интерфейс.  Модуль автоматического сканирования позволяет построить карту сетевых компьютеров и устройств. По результатам автоматического обследования генерируется база данных, содержащая актуальные упорядоченные сведения об обследованных устройствах и их настройках. Существует возможность построения различных отчетов. Распространяется система по лицензии GPL v2.

Французская компания OCS Inventory существует на рынке открытого программного обеспечения уже 10 лет. В 2011 году три наиболее активных проекта в составе портала для разработчиков открытого программного обеспечени SourceForge использовали платформу OCS. В этом же году объем скачиваний программы достиг 70 000 в месяц.

Платформа имеет приверженцев по всему миру, обеспечивая функционирование более 100 000 проектов, среди которых:

Компания

Страна

Кол-во инвентаризированных компьютеров

Banco do Brasil

Бразилия

172000

CNAMTS

Франция

120000

Internet Solutions

ЮАР

12000

Desarrollos Empresariales La Rioja SL

Испания

8384

MULTI

Польша

5000

Pacific Golf Management K.K.

Япония

3122

Stericycle

США

1900

Arpa Piemonte

Италия

1770

UPML

Гонконг

1400

M. N. Dastur & Company (P) Ltd.

Индия

1200

Landratsamt Vogtlandkreis

Германия

1100

В своем последнем докладе Cigref — ассоциация крупнейших компаний Франции — заявила, что платформа OCS Inventory является наиболее часто используемым компаниями – членами ассоциации «открытым» ПО. В 2011 OCS Inventory NG заняла 12-е место в ТОП-50 самых известных и крупных французских компаний.

Области применения OCS Inventory NG:

  • Инвентаризация оборудования;
  • Инвентаризация программного обеспечения;
  • Проведение анализа активов;
  • Обеспечение централизованного распространения ПО;
  • Управление обновлениями ПО;
  • Управление конфигурацией рабочих мест.

Архитектура системы

Система OCS Inventory NG использует программу-агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального сервера. Центральный сервер системы позволяет не только собирать информацию об оборудовании, но и частично управлять инспектируемыми компьютерами.Связь между сервером и проверяемым оборудованием происходит через HTTP/HTTPS протоколы. Вся передаваемая информация сжимается для уменьшения сетевого трафика.

Центральный сервер управления содержит следующие компоненты:

  • Сервер базы данных для хранения информации о проверяемом оборудовании;
  • Коммуникационный сервер, осуществляющий связь с сервером базы данных и программами-агентами на проверяемом оборудовании;
  • Сервер развертывания, для установки программ-агентов;
  • Консоль управления, которая позволяет производить просмотр информации о проверяемом оборудовании через Интернет браузер. 

Архитектура системы 

 
Базовый функционал платформы


OCS Inventory NG обеспечивает сбор следующей информации:

BIOS

Серийный номер системы, производитель системы, модель системы, производитель BIOS, версия BIOS, дата BIOS

Процессор

Тип процессора (Pentium with MXX, Penitum II, Penitum III, Pentium IV, Celeron, Athlon, Duron), скорость процессора, количество процессоров

Память

Заголовок и описание, емкость в МБ, назначение (системная память, флэш-память), тип памяти (SDRAM, DDR), скорость в МГц, номер слота

Физическая память

Объем в МБ

Размер файла подкачки или размер свопа

Объем в МБ

Устройство ввода

Тип (клавиатура или манипулятор), производитель, название, описание, используемый интерфейс (PS / 2, USB)

Системные порты

Тип (последовательный или параллельный), имя, подпись и описание

Системные слоты

Название, описание, назначение (AGP1, PCI1, PCI2, ISA1)

Системные контроллеры

Производитель, название, тип (Floppy, IDE, SCSI, USB, PCMCIA, IEEE1394, ИК-порт)

Устройства хранения данных

Производитель, модель, описание, тип (дискета, жесткий диск, CD-Rom, съемный). Объем в Мб

Логические диски / разделы

Логические (буквенные) диски, тип (съемный жесткий диск, CD-ROM, сети, RAM), файловая система (FAT, FAT32, NTFS). Общий объем в МБ, объем свободного места в МБ

Звуковые устройства

Производитель, название, описание

Видеоадаптеры

Имя, чипсет, память в МБ, разрешение экрана

Мониторы

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

Телефонные модемы

Название, модель, описание, тип (внутренние, внешние)

Сетевые адаптеры

Описание, тип (Dialup, Ethernet, Token Ring, ATM), скорость (в Мбит / с или Гбит/с), MAC-адрес, IP-адрес, маска IP-сети, IP-шлюз, DHCP-сервера

Принтеры

Имя, драйверы, порты подключения

Операционная система

Тип ОС (Linux, Windows 95/98/Me/NT Workstation / NT Server/2000 Professional/2000 сервер), версия ОС (4.0.1381 для NT4, 4.10.2222 на 98 SE). Зарегистрированный владелец, зарегистрированный ID продукта

Программное обеспечение

Извлечение из реестра, аналогично тому, как представлено на панели управления «Add / Remove Software». Название, издатель, версия

Значение ветки реестра

Ключ из ветки реестра Windows

Преимущества системы:

  1. Наиболее востребованная и хорошо отлаженная программа инвентаризации компонентов ИТ-сети;
  2. Интерфейс OCS настолько прост для освоения, что нужно потратить всего полчаса, чтобы хорошо ориентироваться в программе;
  3. С технической точки зрения плюсом является тот факт, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления в виде XML-потока. Для передачи используется стандартный протокол HTTP/HTTPS;
  4. Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением практически всех известных ОС. Агент также доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux, MacOS X, FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.

Примеры интерфейсов 

Рисунок 1 


Рисунок 2


Рисунок 3

версия для печати

Содержание

  1. Инвентаризация компьютеров в сети не вставая со стула или OCS Inventory + GLPI
  2. Всем доброго времени суток!
  3. Итак, начнем!
  4. OCS Inventory NG
  5. Учет оборудования с OCS Inventory NG и GLPI

Инвентаризация компьютеров в сети не вставая со стула или OCS Inventory + GLPI

Всем доброго времени суток!

Как видно из заголовка, речь пойдет о двух программах:
1. Open Computers and Software Inventory
OCS-Inventory основан на распределяемых модулях, устанавливаемых на инвентаризируемые машины, которые отсылают подробную информацию о системе, подключенных устройствах и установленном ПО в выделенную базу данных.
Поддерживаются следующие OS: Microsoft Windows, Linux, *BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X

2. GPLI — Guestion Libre de Parc Informatique
Проект предназначен для работы с базой данных IT и телекоммуникационного оборудования, установленного на предприятии. Также имеется возможность ведения учета расходных материалов и организации службы технической поддержки по расписанию и по заявкам пользователей.

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

Итак, начнем!

1. Качаем пропатченый сервер

OCSNG в UTF8. Спасибо некоему linvinus!
Автор патча сделал для нас все что нужно, нам лишь осталось исправить небольшой недочет. Открываем архив, находим там файл /ocsinventory-server-1.3.2/ocsreports/languages/russian.txt, меняем в первой строке windows-1251 на utf8 и сохраняем в кодировке UTF8. Тарбол с исправленным russian.txt можно взять здесь

2. Распаковывыем архив в папку на сервере(у меня это /usr/local/www/ocs/).
3. Создадим директорию для logrotate
4. Изменяем владельца папки
5. Далее переходим в папку и запускаем setup.sh

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)?
Assuming Communication server 1.0 RC2 or previous is not installed
on this computer.

Starting OCS Inventory NG Management server setup from folder /usr/local/www/ocs
Storing log in file /usr/local/www/ocs/ocs_server_setup.log

Your MySQL client seems to be part of MySQL version 5.1.
Your computer seems to be running MySQL 4.1 or higher, good 😉

Do you wish to setup Communication server on this computer ([y]/n)?

OK, Make utility found at 😉

Checking for Apache mod_perl version 1.99_22 or higher
Found that mod_perl version 1.99_22 or higher is available.
OK, Apache is using mod_perl version 1.99_22 or higher 😉

Checking for DBI PERL module.
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module.
Found that PERL module Apache::DBI is available.
Checking for DBD::mysql PERL module.
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module.
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module.
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module.
Found that PERL module Net::IP is available.

Checking for SOAP::Lite PERL module.
Found that PERL module SOAP::Lite is available.
Checking for XML::Entities PERL module.
Found that PERL module XML::Entities is available.

Writing Makefile for Apache::Ocsinventory

Creating Communication server log directory /var/log/ocsinventory-server.

Fixing Communication server log directory files permissions.
Configuring logrotate for Communication server.
/usr/local/www/ocs
Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server

+———————————————————-+
| OK, Communication server setup sucessfully finished 😉 |
| |
| Please, review /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
| to ensure all is good. Then restart Apache daemon. |
+———————————————————-+

Do you wish to setup Administration Server (Web Administration Console)
on this computer ([y]/n)?n

Enjoy OCS Inventory NG 😉

6. Создадим файл виртуалхоста

#ee /usr/local/etc/apache22/Includes/ocs.conf

ServerAdmin webmaster@domen.ru
DocumentRoot /usr/local/www/ocs/ocsreports
ServerName ocs.domen.ru
ServerAlias www.ocs.domen.ru
ErrorLog «|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-error_log.%Y-%m-%d-%H_%M_%S 86400»
CustomLog «|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-access_log.%Y-%m-%d-%H_%M_%S 86400» common

Order deny,allow
Allow from 192.168.0.0/16
Options Indexes FollowSymLinks
DirectoryIndex index.php
AllowOverride Options
php_flag file_uploads on

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

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON ocsweb.* TO ‘ocs’@’localhost’ IDENTIFIED BY ‘ocs’;

8. Мы почти у цели, открываем наш любимый фаерфокс браузер и вводим

http: // ip_address/ocsreports
В строке «Nombre del servidor» вводим localhost

жмем «Отправить запрос»

Выбираем флаг нашей Родины и вводим admin/admin

9. Проверяем работоспособность нашего OCSNG сервера

не забудьте поставить галочку как на скриншоте, для того чтобы после установки агент послал информацию серверу
Если в логе мы видим ругань подобную этой
[Tue Sep 14 19:16:34 2010] [error] [client 192.168.254.2] Can’t call method «rollback» on an undefined value at /usr/local/lib/perl5/site_perl/5.8.9/Apache/Ocsinventory/Server/System.pm line 265.n
то необходимо проверить правильность установок подключения к mysql в файле
/usr/local/www/ocs/ocsreports/dbconfig.inc.php
и в
/usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
Если все в порядке, то в веб интерфейсе OCS появится новая запись, примерно как на скриншоте =)

10. Последним штрихом будет развертка агента в сети средствами Active Directory.

В вики OCS есть скрипт который нуждается лишь в небольшом исправлении в соответствии с реалиями вашей сети.
@echo off

REM *********** Declare variables *********************************************
REM *********** Adjust to your situation **************************************
SET Version=4061.1
REM имя или IP сервера где установлен OCSNG
SET Server=ocs.domen.ru
REM путь к папке на расшареном ресурсе, который доступен всем компьютерам домена
SET SetupPath=\dcshareUstPril

REM *********** Install if agent isn’t found **********************************
IF EXIST «%PROGRAMFILES%OCS Inventory agentOCSInventory.exe» GOTO update
:install
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /DEBUG
GOTO version

:update
REM *********** Update agent if %Version%.txt isn’t found *********************
IF EXIST «%PROGRAMFILES%OCS Inventory agent%Version%.txt» GOTO end
:upgrade
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /UPGRADE /DEBUG

:version
cd /D «%PROGRAMFILES%OCS Inventory agent»
echo pwouet > %Version%.txt

:end
REM *********** Cleanup variables *********************************************
SET Version=
SET Server=
SET SetupPath=

Сохраняем как install_ocs_agent.bat и настраиваем GPO соответствующим образом.
На этом с OCS закончим. Стоит лишь отметить что данные от агентов приходят с рандомной задержкой, поэтому после окончания настройки пройдет достаточно много времени перед тем как вы получите данные от всех компьютеров.

Установка GLPI.
Версия GLPI: glpi-0.72.4_1

1. Установим GLPI из портов.

*Почему-то закрывающая «/Directory» не отобразилась, поэтому если копипастите будьте внимательны =)

2.Создадим пользователя в mysql с необходимыми правами

mysql> grant all privileges on glpi.* to ‘glpi’@’localhost’ identified by ‘password_ololo’;

3. Идем на http:// domen.ru/glpi и следуем по шагам мастера установки
3.Немного поправим исходники GLPI

Правим файл
/usr/local/www/glpi/inc/ocsng.class.php
Находим класс
class DBocs extends DBmysql
и меняем строку
$this->dbenc=»latin1″;
на
$this->dbenc=»utf8″;

4. Устанавливаем плагин для импорта из OCS

Плагин нужно распаковать в папку
/usr/local/www/glpi/plugins/

После чего перейти в веб интерфейсе GLPI
# Основная панель >
# Установки >
# Дополнения
Жмем «Установить», затем «Включить»

Далее отправляемся в
# Основная панель >
# Установки >
# Общие
# Ограничения
«Активировать режим OCSNG » — Да

теперь
# Основная панель >
# Установки >
# Режим OCSNG
Устанавливаем опции

# Основная панель >
# Инструментарий >
# OCSNG
# Импортирование новых компьютеров
Делаем импорт и вуаля =)

И в заключение экспорт в pdf на русском

2. Добавляем в /var/www/glpi/inc/export.function.php функцию
function utf8_decode_cyr($value) <
return iconv(«UTF-8″,»Windows-1251»,$value);
>

3. Качаем набор шрифтов по cсылке

4. Складываем файлы из архива в /usr/local/www/glpi/lib/ezpdf/fonts/
Теперь pdf экспортируется как надо

Фуууухххх… управились!
Все, связка OCS + GLPI установлена и настроена.
Мне лишь осталось поблагодарить за помощь и поддержку камрада Pascal с форума системных администраторов UNIX и перечислить используемые источники информации =)

ps
У GLPI есть еще масса интересных функций, но в рамки данной заметки они ни как не попадают.
Если у кого то будут траблы с установкой — жду в каментах, чем смогу, как говорится.

Источник

pingwin

Внедрение и поддержка свободного программного обеспечения

OCS Inventory NG

OCS Inventory NG — открытое программное обеспечение, предназначенное для инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Позволяет удаленно настраивать ПО рабочих мест. Работает под всеми операционными системами. Платформа OCS может быть использована для визуализации инвентаризации через веб-интерфейс. Модуль автоматического сканирования позволяет построить карту сетевых компьютеров и устройств. По результатам автоматического обследования генерируется база данных, содержащая актуальные упорядоченные сведения об обследованных устройствах и их настройках. Существует возможность построения различных отчетов. Распространяется система по лицензии GPL v2.

Французская компания OCS Inventory существует на рынке открытого программного обеспечения уже 10 лет. В 2011 году три наиболее активных проекта в составе портала для разработчиков открытого программного обеспечени SourceForge использовали платформу OCS. В этом же году объем скачиваний программы достиг 70 000 в месяц.

Платформа имеет приверженцев по всему миру, обеспечивая функционирование более 100 000 проектов, среди которых:

Компания

Страна

Кол-во инвентаризированных компьютеров

Desarrollos Empresariales La Rioja SL

Pacific Golf Management K.K.

M. N. Dastur & Company (P) Ltd.

В своем последнем докладе Cigref — ассоциация крупнейших компаний Франции — заявила, что платформа OCS Inventory является наиболее часто используемым компаниями – членами ассоциации «открытым» ПО. В 2011 OCS Inventory NG заняла 12-е место в ТОП-50 самых известных и крупных французских компаний.

Области применения OCS Inventory NG:

Архитектура системы

Система OCS Inventory NG использует программу-агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального сервера. Центральный сервер системы позволяет не только собирать информацию об оборудовании, но и частично управлять инспектируемыми компьютерами.Связь между сервером и проверяемым оборудованием происходит через HTTP/HTTPS протоколы. Вся передаваемая информация сжимается для уменьшения сетевого трафика.

Центральный сервер управления содержит следующие компоненты:

Архитектура системы

%D0%9A%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D1%83
Базовый функционал платформы

OCS Inventory NG обеспечивает сбор следующей информации:

BIOS

Серийный номер системы, производитель системы, модель системы, производитель BIOS, версия BIOS, дата BIOS

Процессор

Тип процессора (Pentium with MXX, Penitum II, Penitum III, Pentium IV, Celeron, Athlon, Duron), скорость процессора, количество процессоров

Память

Заголовок и описание, емкость в МБ, назначение (системная память, флэш-память), тип памяти (SDRAM, DDR), скорость в МГц, номер слота

Физическая память

Размер файла подкачки или размер свопа

Устройство ввода

Тип (клавиатура или манипулятор), производитель, название, описание, используемый интерфейс (PS / 2, USB)

Системные порты

Тип (последовательный или параллельный), имя, подпись и описание

Системные слоты

Название, описание, назначение (AGP1, PCI1, PCI2, ISA1)

Системные контроллеры

Производитель, название, тип (Floppy, IDE, SCSI, USB, PCMCIA, IEEE1394, ИК-порт)

Устройства хранения данных

Производитель, модель, описание, тип (дискета, жесткий диск, CD-Rom, съемный). Объем в Мб

Логические диски / разделы

Логические (буквенные) диски, тип (съемный жесткий диск, CD-ROM, сети, RAM), файловая система (FAT, FAT32, NTFS). Общий объем в МБ, объем свободного места в МБ

Звуковые устройства

Производитель, название, описание

Видеоадаптеры

Имя, чипсет, память в МБ, разрешение экрана

Мониторы

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

Телефонные модемы

Название, модель, описание, тип (внутренние, внешние)

Сетевые адаптеры

Описание, тип (Dialup, Ethernet, Token Ring, ATM), скорость (в Мбит / с или Гбит/с), MAC-адрес, IP-адрес, маска IP-сети, IP-шлюз, DHCP-сервера

Принтеры

Имя, драйверы, порты подключения

Операционная система

Тип ОС (Linux, Windows 95/98/Me/NT Workstation / NT Server/2000 Professional/2000 сервер), версия ОС (4.0.1381 для NT4, 4.10.2222 на 98 SE). Зарегистрированный владелец, зарегистрированный ID продукта

Программное обеспечение

Извлечение из реестра, аналогично тому, как представлено на панели управления «Add / Remove Software». Название, издатель, версия

Значение ветки реестра

Ключ из ветки реестра Windows

Источник

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

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

$td3″.htmlentities(textDecode($item->NAME)).»

$td3″.textDecode($item->VERSION).»

echo «$td3″.textDecode($item->PUBLISHER).»

$td3″.textDecode($item->NAME).»

$td3″.textDecode($item->VERSION).»

$td3″.(htmlentities(textDecode($item->COMMENTS))? textDecode($item->COMMENTS):»N/A»).»

«;

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

image002

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

Агент для 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

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

No foto man Сергей Яремчук

Учет оборудования с 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 компонентов, которые могут быть установлены на одном или нескольких компьютерах:

Серверная часть 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-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

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

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

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

Сhecking for XML::Entities PERL module.

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

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

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

Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы 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

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

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

# Rotate OCS Inventory NG Communication server logs daily

# Save 7 days old logs in compressed mode

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

$ 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> UPDATE mysql.user SET Password = PASSWORD(‘ocspasswd’) WHERE User = ‘ocs’;

mysql> FLUSH PRIVILEGES;

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

И в ocsinventory-server.conf:

PerlSetVar OCS_DB_PWD ocspasswd

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

image001

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

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

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

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

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

russian.txt: UTF-8 Unicode English text

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

english.txt: ASCII English text

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

Из этого делаем вывод – что-то не то с самим файлом, поэтому берем аналогичный с 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

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

echo «$td3″.htmlentities(textDecode($item->PUBLISHER)).»

Do you want to configure the agent

Please enter ‘y’ or ‘n’?> [y]

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

Where do you want to write the configuration file?

Далее указываем адрес или имя сервера, создаем тег (с его помощью можно собрать системы в целевую группу, например, по принципу размещения) для агента, активируем задачу для 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.

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

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

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

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

[ 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 Мгц, но при необходимости данные можно скорректировать вручную. По разным причинам в базу компьютер может быть занесен несколько раз, для удаления дубликатов существует одноименная вкладка, в которой одинаковые системы можно отобрать по нескольким характеристикам (имя, МАС-адрес, серийный номер).

image003

После установки агентов данные автоматически появляются в консоли управления 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 FilesOCS Inventory AgentOCSInventory.exe» /SERVER:ocsng_server /PNUM:80 /NOW

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

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

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

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

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

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

Package activated, it can now be deployed.

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

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

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

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

$ sudo apt-cache search glpi

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

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

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

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

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

image004

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

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

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

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

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

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

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

image005

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

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

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

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

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

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

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

image006

Информация об оборудовании, импортированная с 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:

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

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

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

$ sudo apt-get install ttf2pt1

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

image007

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

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

Источник

Содержание

  1. Инструменты пользователя
  2. Инструменты сайта
  3. Содержание
  4. Инсталляция из репозитория
  5. Инсталляция из исходных текстов
  6. Содержание статьи
  7. Поздравляем участника конкурса
  8. Ссылки на исходники
  9. Подготовка
  10. Установка и настройка
  11. Включаем конфиги
  12. Установка агента в Windows 10
  13. Установка плагинов
  14. Конкурс продолжается

Инструменты пользователя

Инструменты сайта

Содержание

OCS Inventory система инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Так же позволяет удаленно настраивать программное обеспечение рабочих мест.

OCS Inventory NG расшифровывается как Open Computers and Software Inventory.

Система OCS Inventory NG использует программу агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального центрального сервера. Центральный сервер системы позволяет не только собирать информацию об инвентаризированном оборудовании, но и частично управлять инспектируемыми компьютерами.

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

Инсталляция из репозитория

Системное окружение: Ubuntu Server 9.10 x86_64 GNU/Linux

После установки станут доступны ссылки.

Инсталляция из исходных текстов

На текущий момент в репозитории версия 1.02.1, на сайте доступна 1.3.1. При такой разнице в версиях логично сервер установить из исходных текстов.

Для начала установим зависимости ocsinventory-server. В моем случае доставил такие пакеты:

Скачиваем с сайта последнюю версию.

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

Далее производится проверка установленных модулей Perl. И в случае, если нужный не будет найден, выдается соответствующее сообщение. В моем случае не был найден модуль SOAP::Lite — доустановм его.

Установим недостающие модули через CPAN установка модулей.

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

В процессе установки в каталоге /etc/apache2/conf.d/ будут созданы конфигурационные файлы для веб-сервера — ocsinventory-server.conf и ocsinventory-reports.conf. Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы Alias.

Поэтому при необходимости управления доступом все изменения следует производить в упомянутых конфиконфигурационных файлах, иначе назначенные на корень права не будут наследоваться. Кроме этого создается файл (/etc/logrotate.d/ocsinventory-server), обеспечивающий ротацию журналов раз в неделю.

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

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

Новое значение пароля следует прописать в двух файлах:

Внедрение и поддержка свободного программного обеспечения

«ПингВин Софтвер» — единственная компания в России, оказывающая поддержку СПО в режиме 24х7
Узнайте, почему компании выбирают переход на СПО.

OCS Inventory NG — открытое программное обеспечение, предназначенное для инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Позволяет удаленно настраивать ПО рабочих мест. Работает под всеми операционными системами. Платформа OCS может быть использована для визуализации инвентаризации через веб-интерфейс. Модуль автоматического сканирования позволяет построить карту сетевых компьютеров и устройств. По результатам автоматического обследования генерируется база данных, содержащая актуальные упорядоченные сведения об обследованных устройствах и их настройках. Существует возможность построения различных отчетов. Распространяется система по лицензии GPL v2.

Французская компания OCS Inventory существует на рынке открытого программного обеспечения уже 10 лет. В 2011 году три наиболее активных проекта в составе портала для разработчиков открытого программного обеспечени SourceForge использовали платформу OCS. В этом же году объем скачиваний программы достиг 70 000 в месяц.

Платформа имеет приверженцев по всему миру, обеспечивая функционирование более 100 000 проектов, среди которых:

Компания

Страна

Кол-во инвентаризированных компьютеров

Banco do Brasil

Desarrollos Empresariales La Rioja SL

Pacific Golf Management K.K.

M. N. Dastur & Company (P) Ltd.

В своем последнем докладе Cigref — ассоциация крупнейших компаний Франции — заявила, что платформа OCS Inventory является наиболее часто используемым компаниями – членами ассоциации «открытым» ПО. В 2011 OCS Inventory NG заняла 12-е место в ТОП-50 самых известных и крупных французских компаний.

Области применения OCS Inventory NG:

  • Инвентаризация оборудования;
  • Инвентаризация программного обеспечения;
  • Проведение анализа активов;
  • Обеспечение централизованного распространения ПО;
  • Управление обновлениями ПО;
  • Управление конфигурацией рабочих мест.

Архитектура системы

Система OCS Inventory NG использует программу-агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального сервера. Центральный сервер системы позволяет не только собирать информацию об оборудовании, но и частично управлять инспектируемыми компьютерами.Связь между сервером и проверяемым оборудованием происходит через HTTP/HTTPS протоколы. Вся передаваемая информация сжимается для уменьшения сетевого трафика.

Центральный сервер управления содержит следующие компоненты:

  • Сервер базы данных для хранения информации о проверяемом оборудовании;
  • Коммуникационный сервер, осуществляющий связь с сервером базы данных и программами-агентами на проверяемом оборудовании;
  • Сервер развертывания, для установки программ-агентов;
  • Консоль управления, которая позволяет производить просмотр информации о проверяемом оборудовании через Интернет браузер.

Архитектура системы


Базовый функционал платформы

OCS Inventory NG обеспечивает сбор следующей информации:

BIOS

Серийный номер системы, производитель системы, модель системы, производитель BIOS, версия BIOS, дата BIOS

Процессор

Тип процессора (Pentium with MXX, Penitum II, Penitum III, Pentium IV, Celeron, Athlon, Duron), скорость процессора, количество процессоров

Память

Заголовок и описание, емкость в МБ, назначение (системная память, флэш-память), тип памяти (SDRAM, DDR), скорость в МГц, номер слота

Физическая память

Размер файла подкачки или размер свопа

Устройство ввода

Тип (клавиатура или манипулятор), производитель, название, описание, используемый интерфейс (PS / 2, USB)

Системные порты

Тип (последовательный или параллельный), имя, подпись и описание

Системные слоты

Название, описание, назначение (AGP1, PCI1, PCI2, ISA1)

Системные контроллеры

Производитель, название, тип (Floppy, IDE, SCSI, USB, PCMCIA, IEEE1394, ИК-порт)

Устройства хранения данных

Производитель, модель, описание, тип (дискета, жесткий диск, CD-Rom, съемный). Объем в Мб

Логические диски / разделы

Логические (буквенные) диски, тип (съемный жесткий диск, CD-ROM, сети, RAM), файловая система (FAT, FAT32, NTFS). Общий объем в МБ, объем свободного места в МБ

Звуковые устройства

Производитель, название, описание

Видеоадаптеры

Имя, чипсет, память в МБ, разрешение экрана

Мониторы

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

Телефонные модемы

Название, модель, описание, тип (внутренние, внешние)

Сетевые адаптеры

Описание, тип (Dialup, Ethernet, Token Ring, ATM), скорость (в Мбит / с или Гбит/с), MAC-адрес, IP-адрес, маска IP-сети, IP-шлюз, DHCP-сервера

Принтеры

Имя, драйверы, порты подключения

Операционная система

Тип ОС (Linux, Windows 95/98/Me/NT Workstation / NT Server/2000 Professional/2000 сервер), версия ОС (4.0.1381 для NT4, 4.10.2222 на 98 SE). Зарегистрированный владелец, зарегистрированный ID продукта

Программное обеспечение

Извлечение из реестра, аналогично тому, как представлено на панели управления «Add / Remove Software». Название, издатель, версия

Значение ветки реестра

Ключ из ветки реестра Windows

  1. Наиболее востребованная и хорошо отлаженная программа инвентаризации компонентов ИТ-сети;
  2. Интерфейс OCS настолько прост для освоения, что нужно потратить всего полчаса, чтобы хорошо ориентироваться в программе;
  3. С технической точки зрения плюсом является тот факт, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления в виде XML-потока. Для передачи используется стандартный протокол HTTP/HTTPS;
  4. Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением практически всех известных ОС. Агент также доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux, MacOS X, FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.

Содержание статьи

Поздравляем участника конкурса

Этот текст был прислан на конкурс авторов, который мы запустили весной. Мы разобрались с большим количеством пришедших материалов, подвели итоги и наградили победителей. Автор этой заметки получил приз — трехмесячную подписку на «Хакер». Поздравляем!

  • удобный веб-интерфейс;
  • расширение возможностей плагинами;
  • поддержка IpDiscover и SNMP;
  • продвинутый поиск;
  • сбор ключей Windows и Office;
  • удаленное развертывание пакетов.

Этот продукт поддерживает все популярные ОС: Windows, Linux, BSD, Sun Solaris, IBM AIX, HP-UX, macOS, Android.

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

На такой конфигурации железа сервер спокойно может собирать информацию со 150 агентов с интервалом обновления четыре часа.

  • Софт: Debian Jessie (8.7.1) x64, OCSNG_UNIX_SERVER-2.3.1, OCSNG-Windows-Agent-2.3.0.0
  • VPS: OpenVZ, 2 vCPU, 512 Мбайт, 15 Гбайт SSD

Ссылки на исходники

Устанавливать OCS Inventory NG будем в связке с Apache 2 и MariaDB.

Подготовка

Проверим дату и время, чтобы соответствовали нашему часовому поясу. На некоторых виртуальных серверах они бывают неправильно установлены, из-за чего в базе данных отображаются некорректно.

Подключаем репозиторий. Открываем список зеркал и добавляем репозиторий DotDeb.

Импортируем ключ DotDeb’а:

Обновляем список зеркал и пакеты:

Установим необходимые пакеты:

Во время установки задаем пароль для пользователя root MySQL.

Ставим модули Perl:

После этого устанавливаем MariaDB и создаем пользователя ocs и БД ocsweb.

Установка и настройка

Скачиваем OCS-NG Server:

Запускаем скрипт установки (все настройки оставляем по умолчанию):

  1. Мы уверены и хотим продолжить. [ENTER]
  2. Наш MySQL-сервер запущен на локальном хосте. [ENTER]
  3. И работает он на порте 3306. [ENTER]
  4. Бинарник демона apache2 находится в /usr/sbin/apache2ctl . [ENTER]
  5. Конфигурационный файл лежит тут: /etc/apache2/apache2.conf . [ENTER]
  6. Apache2 работает от пользователя www-data . [ENTER]
  7. Который входит в группу www-data. [ENTER]
  8. Программа установки поместит конфигурационный файл OCS Inventory NG в директорию /etc/apache2/conf-available . [ENTER]
  9. Бинарник PERL расположен тут: /usr/bin/perl . [ENTER]
  10. Да, мы хотим настроить конфигурационный сервер на этом компьютере. [ENTER]
  11. Размещаем логи сервера OCS в /var/log/ocsinventory-server . [ENTER]
  12. Конфигурационные файлы плагинов будут лежать тут: /etc/ocsinventory-server/plugins. [ENTER]
  13. Задаем расположение модулей Perl: /etc/ocsinventory-server/perl . [ENTER]
  14. Модуль PERL Apache2::SOAP не установлен, хотите продолжить? [ENTER] (Это опциональная функция OCS, без нее все будет корректно работать.)
  15. Чтобы Apache 2 загружал модули Perl до старта OCS, программа установки переименует ocsinventory-server.conf в z-ocsinventory-server.conf . [ENTER]
  16. Да, мы хотим настроить Web Administration Console. [ENTER]
  17. Наша версия OCS устанавливается впервые, поэтому продолжаем. [ENTER]
  18. Куда копировать статические файлы PHP Web Console /usr/share/ocsinventory-reports . [ENTER]
  19. Каталоги с возможностью записи/кеширования для пакетов развертывания, а также журналы консоли администрирования, IpDiscover и SNMP будут находиться в /var/lib/ocsinventory-reports . [ENTER]
  20. Готово! Рестарт веб-сервера пока не делаем. Журнал установки лежит в /tmp/OCSNG_UNIX_SERVER-2.3.1/ocs_server_setup.log .

Задаем в z-ocsinventory-server.conf директиву PerlSetVar OCS_DB_PWD , то есть пароль пользователя ocs.

Включаем конфиги

Отключим дефолтные и включим новые. Далее сделаем рестарт демона apache2.

Предоставляем пользователю www-data права на директории:

Теперь подключаемся по адресу http://domen_or_ip/ocsreports . Нас уведомят о том, что следовало бы избавиться от install.php . Удаляем его:

Дополнительно можно отключить AccessLog в Apache 2:

Комментируем эту строчку:

Убрать версию Apache 2:

Убрать версию PHP 7.0:

И снова рестартуем Apache.

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

Скачиваем последний установщик и запускаем. От типа установки зависит, как будет производиться инвентаризация. Есть два варианта:

  • Network inventory — работает через сеть;
  • Local inventory может потребоваться для локального импорта, когда у хоста нет сети.

Настройку параметров прокси оставляем как есть.

Пишем адрес сервера — домен или IP-адрес. Безопасность обмена между агентом и сервером будет обеспечиваться сертификатом cacert.pem .

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

Установка плагинов

Ссылки на скачивание лучше брать с GitHub, так как на официальном сайте встречаются старые версии. Устанавливать будем на примере Office Pack. Этот плагин позволяет получать ключи от Microsoft Office.

Для установки нам понадобится положить скачанный плагин в /usr/share/ocsinventory-reports/ocsreports/download . Приступим.

Далее в веб-интерфейсе нашего сервера открываем Plugins —> Plugins Manager, выбираем скачанный плагин и жмем Install. После успешной установки рестартуем демон Apache.

Осталось скачать плагин на компьютере с установленным агентом и распаковать файлик msofficekey.vbs (он лежит в officepack.zipagent ) в C:Program Files (x86)OCS Inventory AgentPlugins .

В трее ищем наш агент, нажимаем правой кнопкой мыши и выбираем Run OCS Inventory NG Agent now.

Конкурс продолжается

Мы решили продлить конкурс и превратить его в постоянную акцию. Прислав нам описание хака, полезный совет или описание клевой неизвестной проги, ты по-прежнему можешь получить подписку на месяц, три месяца или, если постараешься, на год. Следуй рекомендациям и присылай свой текст!

Рубрика:

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

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

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

Учет оборудования с 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

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

Поэтому будем устанавливать, используя исходные тексты. В зависимостях пакета 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

Из этого делаем вывод – что-то не то с самим файлом, поэтому берем аналогичный с 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 FilesOCS Inventory AgentOCSInventory.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/

$ ls 1241722723

Файл 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 FilesOCS Inventory AgentdownloadTIMESTAMP. А все связанные сообщения можно найти в файле 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

Актуальной на момент написания статьи является версия 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.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

From Wikipedia, the free encyclopedia

OCS Inventory

Stable release

2.11.1[1] Edit this on Wikidata
/ 25 October 2022; 3 months ago

Repository
  • github.com/OCSInventory-NG/OCSInventory-Server Edit this at Wikidata
Written in Perl, PHP
Platform multi-platform (Unices, Windows, others)
Type hardware inventory
License GNU General Public License[2]
Website ocsinventory-ng.org

Open Computer and Software Inventory Next Generation (OCS inventory NG) is free software that enables users to inventory IT assets. OCS-NG collects information about the hardware and software of networked machines running the OCS client program («OCS Inventory Agent»). OCS can visualize the inventory through a web interface. Furthermore, OCS includes the capability of deploying applications on computers according to search criteria. Agent-side IpDiscover makes it possible to discover the entirety of networked computers and devices.

History[edit]

The open-source OCS Inventory NG project started in late 2005 and produced its first release version of OCS Inventory in early 2007.[3] Since version 1.0rc3, most of OCS Inventory functionality can be adapted or extended via a module system.

Operation[edit]

The dialogue between OCS client machines and the server depends on the Hypertext Transfer Protocol (HTTP). The software formats data in XML. The management server uses Apache, MySQL and Perl. OCS runs on multiple platforms: under Unixes and under Microsoft Windows (95 or later). A web-interface written in PHP offers consultation of the inventory, user-rights management, and technical support features.

Agents[edit]

In order to collect detailed information, one can install agents on the client machines in the inventory. Developers have made client agents available for:

  • Microsoft Windows
  • Linux
  • Mac OS X
  • Sun Solaris
  • IBM AIX
  • FreeBSD, NetBSD, OpenBSD
  • HP-UX
  • Android

Relation to other software[edit]

  • OCS Inventory can be used to feed the manager of GLPI and thus offers part of an ITAM solution.
  • Samanage is a cloud-based, commercial ITAM, that has used modified OCS-NG agent as a data source.

License[edit]

OCS Inventory consists of free software published under GNU GPL v2. The developers own the copyright.

References[edit]

  1. ^ https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/tag/2.11.1; retrieved: 28 November 2022.
  2. ^ «OCS Inventory NG — License guidelines». Archived from the original on 2010-07-27. Retrieved 2009-11-16.
  3. ^
    Antal, Barzan (13 May 2010). IT Inventory and Resource Management with OCS Inventory NG 1.02. Packt Publishing Ltd (published 2010). ISBN 9781849511117. Retrieved 2015-02-16. OCS Inventory NG […] is the name of an open source project that was started back in late 2005. The project matured into the first final release in the beginning of the year 2007.

External links[edit]

  • The official site of OCS Inventory
  • GLPI Project
  • OCS and BPM

From Wikipedia, the free encyclopedia

OCS Inventory

Stable release

2.11.1[1] Edit this on Wikidata
/ 25 October 2022; 3 months ago

Repository
  • github.com/OCSInventory-NG/OCSInventory-Server Edit this at Wikidata
Written in Perl, PHP
Platform multi-platform (Unices, Windows, others)
Type hardware inventory
License GNU General Public License[2]
Website ocsinventory-ng.org

Open Computer and Software Inventory Next Generation (OCS inventory NG) is free software that enables users to inventory IT assets. OCS-NG collects information about the hardware and software of networked machines running the OCS client program («OCS Inventory Agent»). OCS can visualize the inventory through a web interface. Furthermore, OCS includes the capability of deploying applications on computers according to search criteria. Agent-side IpDiscover makes it possible to discover the entirety of networked computers and devices.

History[edit]

The open-source OCS Inventory NG project started in late 2005 and produced its first release version of OCS Inventory in early 2007.[3] Since version 1.0rc3, most of OCS Inventory functionality can be adapted or extended via a module system.

Operation[edit]

The dialogue between OCS client machines and the server depends on the Hypertext Transfer Protocol (HTTP). The software formats data in XML. The management server uses Apache, MySQL and Perl. OCS runs on multiple platforms: under Unixes and under Microsoft Windows (95 or later). A web-interface written in PHP offers consultation of the inventory, user-rights management, and technical support features.

Agents[edit]

In order to collect detailed information, one can install agents on the client machines in the inventory. Developers have made client agents available for:

  • Microsoft Windows
  • Linux
  • Mac OS X
  • Sun Solaris
  • IBM AIX
  • FreeBSD, NetBSD, OpenBSD
  • HP-UX
  • Android

Relation to other software[edit]

  • OCS Inventory can be used to feed the manager of GLPI and thus offers part of an ITAM solution.
  • Samanage is a cloud-based, commercial ITAM, that has used modified OCS-NG agent as a data source.

License[edit]

OCS Inventory consists of free software published under GNU GPL v2. The developers own the copyright.

References[edit]

  1. ^ https://github.com/OCSInventory-NG/OCSInventory-ocsreports/releases/tag/2.11.1; retrieved: 28 November 2022.
  2. ^ «OCS Inventory NG — License guidelines». Archived from the original on 2010-07-27. Retrieved 2009-11-16.
  3. ^
    Antal, Barzan (13 May 2010). IT Inventory and Resource Management with OCS Inventory NG 1.02. Packt Publishing Ltd (published 2010). ISBN 9781849511117. Retrieved 2015-02-16. OCS Inventory NG […] is the name of an open source project that was started back in late 2005. The project matured into the first final release in the beginning of the year 2007.

External links[edit]

  • The official site of OCS Inventory
  • GLPI Project
  • OCS and BPM

Понравилась статья? Поделить с друзьями:
  • Ocs inventory ng agent for windows для чего
  • Ocr cuneiform скачать бесплатно ocr cuneiform для windows скачать
  • Ocr cuneiform для windows официальный сайт
  • Oceanis change background windows 7 oceanis change background windows 7
  • Nvscpapisvr exe что это за процесс windows 7