Ocs inventory agent linux запустить

Обновлено: 06.07.2024

Устанавливаем на Ubuntu 14.04.6 LTS + Apache/2.4.7 + PHP 5 + Perl 5.18.2

Установить придётся не мало пакетов.

Устанавливаем модули Perl

Далее скачиваем архив с инсталлятором и распаковываем:

Помещаем директорию OCSNG_UNIX_SERVER-2.2.1 в /var/www/

Правим в setup.sh только слудующие строки:

***
DB_SERVER_HOST="localhost"
DB_SERVER_PORT="3306"
DB_SERVER_USER="ocs_user"
DB_SERVER_PWD="OCS-password"
***

Далее создаём БД c привилегиями:

Переходим в директорию и запускаем:

Во время установки на все вопросы отвечаем положительно, изменение путей на своё усмотрение.

Если всё установка прошла корректно, то должны увидеть "Enjoy OCS Inventory NG ;-)"

Правим конфигу в:

nano /etc/apache2/conf-available/z-ocsinventory-server.conf ***
PerlSetEnv OCS_DB_PORT 3306
PerlSetEnv OCS_DB_NAME ocs
PerlSetEnv OCS_DB_LOCAL ocs
PerlSetEnv OCS_DB_USER ocs_user
PerlSetVar OCS_DB_PWD OCS-password
***

В файле zz-ocsinventory-restapi.conf будет примерно тоже самое. Теперь включаем конфигурацию апача:

Можно попробовать перейти на страницу настройки если апач запустился. Если возникли проблемы анализируем логи /var/log/apache2/error.log.

Имя БД и логин с паролем используем те, которые писали в /etc/apache2/conf-available/z-ocsinventory-server.conf

После успешной установки удаляем:

Установка клиентской части

На linux.

В конфигурационном файле пишется только одна строчка:

Запуск создания отчёта:

На windows.

Есть несколько способов - через GPO и через утилиту рапространения:

Создаём политику в конфигурации компьютера

ocs gpo

В скрипте можно написать что-то вроде:

В опциях OCS-NG-Agent-Deployment-Tool-Setup задаём пути до PSexec и Putty.

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

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

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

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

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

Поэтому будем устанавливать, используя исходные тексты. В зависимостях пакета “ocsinventory-server” полученных при помощи “sudo apt-cache depends ocsinventory-server”, указан Apache2 и некоторые модули Perl, утилита для изменения файлов настроек ucf и dbconfig-common. Пакет MySQL указан в качестве необязательных зависимостей, поэтому его устанавливаем отдельно.

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

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

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

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

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

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

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

И в ocsinventory-server.conf:

Локализация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кроме функций сетевой инвентаризации OCSNG имеет возможность развертывания пакетов и запуска команд записанных в файле (например bat/vbs) на клиентских компьютерах (крое Vista), информация о которых находится в инвентаризационной системе. При необходимости установки одного приложения на большое количество систем такая функциональность очень выручает.
Для начала пакет нужно создать. Переходим в Deployment — Build и заполняем поля New package building. Название пакета должно быть уникальным и желательно отражать его назначение. Параметр Priority определяет порядок размещения пакетов. Что собственно делать с пакетом определяет поле Action. Здесь три возможных значения:

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

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

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

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

Установка GLPI

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

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

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

Выполняем все требования, проверяем повторно и если все нормально нажимаем Continue.

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

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

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

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

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

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

По умолчанию синхронизируется только часть параметров, чтобы в базу данных GLPI были перенесены и компоненты компьютеров, следует разрешить их синхронизацию, установив флажок напротив нужного в положение “Глобальный импорт”.
Кроме этого во вкладке “Инструменты” появится пункт “OCSNG” при помощи имеющихся здесь ссылок можно производить синхронизацию и импортирование компьютеров между OCSNG и GLPI.
Полученные данные появляются во вкладке Оборудование. Здесь несколько подпунктов переход в некоторые из них позволяет получить список некоторых компонентов входящих в компьютер (Мониторы, Принтеры), отдельного оборудования (Картриджи, Телефоны), а также ПО. Импортированные компьютеры доступны в одноименном подпункте. Выбрав компьютер или устройство мы получаем доступ к 12 вкладкам, в которых можно просмотреть и скорректировать данные об оборудовании, сопоставить ответственного, просмотреть заявки, добавить заметки, сделать отметку о выдаче во временное использование, просмотреть историю и так далее. К сожалению на данный момент список импортированных с OCSNG компонентов компьютера написанный на русском выводится нечитаемым текстом.
Пользователей GLPI можно объединить в группы, кроме этого существует более глобальное понятие — Организация. Сразу после установки создается «Основная организация» в которую и будут включены все компоненты. Предусмотрено создание других организаций с установлением подчиненности между ними (структуры). Но работа с организациями реализована неудобно, так перенос техники в другую организацию усложнен и неудобен. Предусмотрен экспорт данных в PDF, CVS и SLK (Symbolic Link).
По умолчанию при экспорте в PDF вместо русских букв выводятся знаки вопросов, это происходит по двум причинам: стандартная функция экспортирует данные в кодировке ISO-8859-1, которую и поддерживает используемый по умолчаннию шрифт. Подсказка была найдена на форуме OPENNET . Заменяем в скрипте /var/www/glpi/inc/export.function.php вызов функции utf8_decode на utf8_decode_cyr.

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

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

Теперь шрифт. Для конвертирования TTF шрифта в Postscript type 1 потребуется утилита ttf2pt1.

Исправленный вариант шрифтов.
После этого PDF будет выводится корректно.

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

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

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

42 комментария

2Piavlo
А почему и нет. Только с двойниками как то придется разбираться.

Интересно есть ли у кого отыт разбурания с такими двойниками? Я думаю если в системе зарание не предусмотренна такая возможность то работать работать с dualboot будет геморой.

В OCSNG есть функция удаления дубликатов, но там же разные ОС со своими приложениями.

Интересная статья. Главное, что полезная инфа. Спасибо большое за оригинальную статью!

Не ставить просто агента на ту ось, что реже используется.

наверное правильно будет так:

Хотелось бы: сменить шрифт с Helvetica на что-нить удобоваримее.

Конвертирую (ttf2pt1 -l cyrillic -A Tahoma.ttf Tahoma), подкидываю (Tahoma.afm, Tahoma.t1a, Tahoma.ttf) в каталог /usr/share/glpi/lib/ezpdf/fonts В файлах /usr/share/glpi/lib/ezpdf/class.pdf.php и /usr/share/glpi/inc/export.function.php меняю Helvetica на Tahoma

Я поэтому и отказался от экспериментов. Единственное обозвать Tahoma как Helmetica может выйдет.

У некоторых не получается. Делают по мануалу и не выходит. Почему так не знаю. У меня заработало тогда, когда случайно скопировал в каталог все три файла Helvetica.afm, Helvetica.t1a и Helvetica.ttf. Вместо одного, который там лежал.
Не один бубен порвал пока все заработало 🙂

А выше ведь все скрины есть.

Да и браузер может портить.

з.ы.ы.:
> А выше ведь все скрины есть.
не вижу ни одного открытого отчёта в pdf О_о

Привет всем, а кто-нибудь смог подружить русский язык с экспортом и сохранением из ПЛАГИНА(ОВ) к примеру Print to PDF?

Приветствую!
Господа, подскажите пожалуйста:
1. Возможно-ли каким-либо образом авторизовать агентов OCS в системе. Т.е. для того чтобы агент мог посылать информацию требовалось-бы одобрение со стороны сервера
2. Возможна-ли связь между агентом и сервером c шифрованием трафика посредством ssl

По поводу второго вопроса на оф. форуме вроде говорили что думают над этим, но будет-ли это реализовано пока неясно

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

У меня получилось модифицировать новый PDF-плагин, пришлось поковыряться в php и пере(со)брать уйму кириллических шрифтов. Если есть еще необходимость, могу выложить модифицированный плагин где-нибудь в общем доступе

to lenz: а поделитесь разработкой;) поставил 0.78 RC3 и пока не нашел ни одного способа чтобы экспорт в PDF с русским дружил.
Спасибо!

фактически изменения только в папках fonts и inc

Скажите можно ли как нибуть в конфиге клиента OCS Inventory Agent прописать что бы информация шла не на один сервер учёта, а на два?

Мне кажется проще сделать так, чтобы один сервер собирал все, а второй отбирает то что ему нужно.

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

to lenz: Спасибо большое за glpi-pdf. Очень выручил!

Проблеммы с кодировкой решаются проще:
iconv -f WINDOWS-1251 -t UTF-8 -o russian.txt russian.txt

Хай, подскажите пожалуйста, я сейчас нахожусь в Америке , а родители в Донецке, как можно сделать, чтобы они мне звонили дешевле ?

Потомкам на память. Чтобы в версии GLPI 0.78 не было проблем с кириллицей при экспорте в PDF

Yuri, я сделал следующее и у меня все заработало (версия аналогичная) .

Первым делам идем: /var/www/glpi/inc/search.class.php и делаем там следующее:

Обновил до новой версии, все отлично, но письма как слать так и не разобрался

Потребовалось на работе реализовать систему учета техники и т.п.

На момент написания статьи использовались следующие версии ПО и ОС:

OCS Inventory (Server): OCSNG_UNIX_SERVER-2.2.1

Ubuntu Server: Ubuntu 14.04.5 LTS x86_64

OCS Inventory (Agent Windows\Linux): OCS Inventory NG Agent 2.1.1.3
Клиентскую и серверную часть скачал с офф. сайта. Потребовалось ввести Имя, Фамилию и адрес электронной почты.

В конце есть ссылка на скачивание, если не хочется качать с офф.сайта.

1) обновление кэша пакетов и обновление самой ОС (здесь сразу с подтверждением обновления)

еще обычно сразу ставлю sudo apt-get install mc htop aptitude

По желанию потом:

2) установка apache2, mysql, php, make, git:

sudo aptitude install apache2 mysql - server php php - soap php - xml libapache2 - mod - php make git

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

make нужен для OCS-Inventory. Он в процессе установки будет его искать.

3) установка доп. ПО:

sudo aptitude install libapache2 - mod - perl2 libxml - simple - perl libcompress - zlib - perl libapache - dbi - perl libnet - ip - perl libsoap - lite - perl libdbd - mysql - perl

Далее, выполнить команды:

При установке XML на оба вопроса ответить yes.

Примечание :

Что бы не ставить apache, mysql и php вручную, можно воспользоваться такой командой:

в списке выбрать LAMP-сервер. В таком случае apache, mysql и php поставятся сами.

4) далее, через winscp скопировал серверную и клиентскую часть в Ubuntu. Можно получить сразу с GitHub (ссылка на момент написания этой статьи)

5) установка серверной части

5.1) если используются архивы, то сначала надо распаковать

переходим в папку.

Перед установкой желательно убедиться, что скрипт setup.sh имеет атрибут выполнения . Для этого надо запустить ls -l и убедиться, что у setup.sh есть -x

Далее, запускаем установку так

5.2) если пакет получен через git clone, то

и запускаем установщик как показано выше.

В процессе установки будут заданы вопросы относительно установленных apache, mysql и perl. Так же будет проверено наличие модуля mod_perl для apache.

osc_check_mod_perl

Как видно на скриншоте, тут написано как посмотреть есть ли такой модуль в системе. У меня он не был установлен, т.ч. я запустил новую консоль и установил:

После этого я проверил его наличие:

и вот что получилось (под спойлером)

Имя Версия Архитектура Описание
libapache2-mod-perl2 2.0.9-4ubuntu1 amd64 Integration of perl with the Apache2 web server

osc_check_mod_perl-ok

После этого пойдут проверки путей хранения лог-файлов и всего необходимого для установки.

Следующая заковыка, которая возникла у меня, это отсутствие модулей для perl

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. В моем случае доставил такие пакеты:

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

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

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

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

Читайте также: