snow inventory agent что это
Инвентаризация компьютеров в сети не вставая со стула или 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=\\dc\shareUstPril
REM *********** Install if agent isn’t found **********************************
IF EXIST «%PROGRAMFILES%\OCS Inventory agent\OCSInventory.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 есть еще масса интересных функций, но в рамки данной заметки они ни как не попадают.
Если у кого то будут траблы с установкой — жду в каментах, чем смогу, как говорится.
Конкурс хаков: как поставить и настроить Inventory NG
Содержание статьи
Поздравляем участника конкурса
Этот текст был прислан на конкурс авторов, который мы запустили весной. Мы разобрались с большим количеством пришедших материалов, подвели итоги и наградили победителей. Автор этой заметки получил приз — трехмесячную подписку на «Хакер». Поздравляем!
Этот продукт поддерживает все популярные ОС: Windows, Linux, BSD, Sun Solaris, IBM AIX, HP-UX, macOS, Android.
Устанавливать будем с официального сайта, так как в репозиториях Debian старые версии.
На такой конфигурации железа сервер спокойно может собирать информацию со 150 агентов с интервалом обновления четыре часа.
Ссылки на исходники
Устанавливать OCS Inventory NG будем в связке с Apache 2 и MariaDB.
Подготовка
Проверим дату и время, чтобы соответствовали нашему часовому поясу. На некоторых виртуальных серверах они бывают неправильно установлены, из-за чего в базе данных отображаются некорректно.
Подключаем репозиторий. Открываем список зеркал и добавляем репозиторий DotDeb.
Импортируем ключ DotDeb’а:
Обновляем список зеркал и пакеты:
Установим необходимые пакеты:
Во время установки задаем пароль для пользователя root MySQL.
Ставим модули Perl:
После этого устанавливаем MariaDB и создаем пользователя ocs и БД ocsweb.
Установка и настройка
Скачиваем OCS-NG Server:
Запускаем скрипт установки (все настройки оставляем по умолчанию):
Включаем конфиги
Отключим дефолтные и включим новые. Далее сделаем рестарт демона apache2.
Предоставляем пользователю www-data права на директории:
Дополнительно можно отключить AccessLog в Apache 2:
Комментируем эту строчку:
Убрать версию Apache 2:
Убрать версию PHP 7.0:
И снова рестартуем Apache.
Установка агента в Windows 10
Скачиваем последний установщик и запускаем. От типа установки зависит, как будет производиться инвентаризация. Есть два варианта:
Настройку параметров прокси оставляем как есть.
Придумываем тег, который будет служить для объединения компьютеров в группы. В опциях указываем, что хотим сразу после установки начать инвентаризацию.
Установка плагинов
Ссылки на скачивание лучше брать с GitHub, так как на официальном сайте встречаются старые версии. Устанавливать будем на примере Office Pack. Этот плагин позволяет получать ключи от Microsoft Office.
Далее в веб-интерфейсе нашего сервера открываем Plugins —> Plugins Manager, выбираем скачанный плагин и жмем Install. После успешной установки рестартуем демон Apache.
В трее ищем наш агент, нажимаем правой кнопкой мыши и выбираем Run OCS Inventory NG Agent now.
Конкурс продолжается
Мы решили продлить конкурс и превратить его в постоянную акцию. Прислав нам описание хака, полезный совет или описание клевой неизвестной проги, ты по-прежнему можешь получить подписку на месяц, три месяца или, если постараешься, на год. Следуй рекомендациям и присылай свой текст!
#Автоматизация #Технологии #Процессы #ИТ #Записки #Журнал #Блог #Форум
Форум для различных тем в большей части ИТ
Развертывание OCS Inventory Удаленная установка через OCS Агентов
Развертывание OCS Inventory Удаленная установка через OCS Агентов
Сообщение Артём Мамзиков » Пт янв 10, 2020 09:16 #1
Развертывание пакетов или выполнение команд на клиентских хостах. Установка программ утилит Запускается через Сервер OCS и выполняется через OCS Агента на удаленных хостах, может быть как тихая установка так и запросами.
В документации написано Развертывание и сбор данных snmp работает только на https SSL но у меня развертывание на агента работает и по http (кроме клиента там просит по логам серт)
Установка или Выполнение будет выполнятся через установленных Агентов или Клиентов на удаленных ПК Хостах
OCS Inventory NG включает функцию развертывания пакетов для клиентских компьютеров. С центрального сервера управления вы можете загружать пакеты, которые будут загружаться через HTTP / HTTPS и выполняться агентом на клиентском компьютере.
Пример Выполняем Вход в OCS Inventory Далее Развертывание Собрать
Открывается форма Изготовление пакетов
Имя autoinstall-windows-ocsagent
Описание autoinstall-windows-ocsagent
Операционная система Windows
Протокол HTTP
Приоритет 1
Файл (помещаемый на клиентский компьютер) auto-install-windows-ocsagent.zip
Скачать autoinstall-windows-ocsagent
Более подробно об скриптах писал тут OCS NG Windows Agent
::Запрос Инвентарного номера
::set /P inventar=Введите Инвентарный Номер вашего ПК и нажмите Enter!:
::set tag=%inventar%
:: Определение версию Windows
::For /f «tokens=4» %%a in (‘reg query «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion» /v ProductName^|FIND /I «Windows»‘) do (
For /f «tokens=4,5» %%a in (‘reg query «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion» /v ProductName^|FIND /I «ProductName»‘) do (
if /i %%b==XP (goto :WindowsXP) else (if /i %%a==Vista (goto :WindowsVista) else if /i %%a==7 (goto :Windows7) else if /i %%a==8 (goto :Windows8) else if /i %%a==8.1 (goto :Windows8.1) else if /i %%a==10 (goto :Windows10) else (goto :end)))
:WindowsXP
::Определяем разрядность и откуда запущен батник путь %
dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If «%PROCESSOR_ARCHITECTURE%»==»x86» If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start «» «%
dp0OCSNG-Windows-Agent-2.1.1.1-xp-2003r2\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1) Else (start «» «%
dp0OCSNG-Windows-Agent-2.1.1.1-xp-2003r2\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1)
goto :end
:WindowsVista
::Определяем разрядность и откуда запущен батник путь %
dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If «%PROCESSOR_ARCHITECTURE%»==»x86» If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start «» «%
dp0OCSNG-Windows-Agent-2.4.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1) Else (start «» «%
dp0OCS-Windows-Agent-2.6.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1)
goto :end
:Windows7
::Определяем разрядность и откуда запущен батник путь %
dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If «%PROCESSOR_ARCHITECTURE%»==»x86» If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start «» «%
dp0OCSNG-Windows-Agent-2.4.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1) Else (start «» «%
dp0OCS-Windows-Agent-2.6.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1)
goto :end
:Windows8
::Определяем разрядность и откуда запущен батник путь %
dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If «%PROCESSOR_ARCHITECTURE%»==»x86» If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start «» «%
dp0OCSNG-Windows-Agent-2.4.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1) Else (start «» «%
dp0OCS-Windows-Agent-2.6.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1)
goto :end
:Windows8.1
::Определяем разрядность и откуда запущен батник путь %
dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If «%PROCESSOR_ARCHITECTURE%»==»x86» If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start «» «%
dp0OCSNG-Windows-Agent-2.4.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1) Else (start «» «%
dp0OCS-Windows-Agent-2.6.0.0O\CS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1)
goto :end
:Windows10
::Определяем разрядность и откуда запущен батник путь %
dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If «%PROCESSOR_ARCHITECTURE%»==»x86» If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start «» «%
dp0OCSNG-Windows-Agent-2.4.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1) Else (start «» «%
dp0OCS-Windows-Agent-2.6.0.0\OCS-NG-Windows-Agent-Setup.exe» /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1)
goto :end
Что делает батник определяет версию Windows определяет разрядность исходя из этого ставить нужную версию агента
из реестра берет адрес DNS в моем случае прокси так же прописан порт для ocs сервера
Прописаны параметры тихой установки
Сервера развертывания
Использовать на этом пакете развертывания NO
Оповещение пользователя
Предупреждение пользователя NO
Установка с участием пользователя NO
Получаем сообщение
Ваш пакет был успешно собан в директории /var/lib/ocsinventory-reports/download/1578633343
Нажимаем 2 раза отправить
Ваш пакет был успешно собан в директории /var/lib/ocsinventory-reports/download/1578577254 vlc
Можно проверить на сервере должно все появится /var/lib/ocsinventory-reports/download/
Повторяем тоже само для 2 пакета VLC
или можно следующей ссылкой подставив номер пакета
http://IP DNS /ocsreports/index.php?function=tele_popup_active&head=1&active=1578577254
После чего должно быть доступны по ссылке наши пакет
http://IP-Сервера или DNS/download/1578633343/
http://IP-Сервера или DNS/download/1578633343/info
После чего перезапускаем апач
service apache2 restart
И снова проверяем должно все отобразится
Идем дальше
По идее в Группах у нас должна сама создаться группа ГРУППА РАЗВЕРТЫВАНИЯ у меня там пусто
Нужно создать группы разобрался чуть позже Как создать группы я написал тут
Жмём Добавить выбранные пакеты
Далее по идее он спрашивает время установки (мне не дало выставить)
Действие Оставляем пустым
Teledeploy force на ваше усмотрение
Жмем ОК
Выйдет
1 компьютер(ов) с успешным распространением
Жмем назад попадаем на наш ПК в раздел Развертывания
У нас появились наши АКТИВИРОВАННЫЕ ПАКЕТЫ
Настройки Развертывания для конкретного узла можно изменить
В Узле Настройка Изменить Развертывание (по умолчанию тут глобальные настройки)
Так же можно создать группы вручную набрать нужные хосты в эту группу и прикрепить развертывание
Или же настроить автоматическое создание групп например по виду ОС или разрядности и после сделать нужные пакеты для установки на них
Развертывание OCS Inventory
Сообщение Артём Мамзиков » Пт янв 10, 2020 11:48 #2
С официально сайта
Документы » 05.Занятость »
Развертывание пакетов или выполнение команд на клиентских хостах
Развертывание пакетов или выполнение команд на клиентских хостах
OCS Inventory NG включает функцию развертывания пакетов для клиентских компьютеров. С центрального сервера управления вы можете загружать пакеты, которые будут загружаться через HTTP / HTTPS и выполняться агентом на клиентском компьютере.
Примечание. Эта функция была протестирована только с агентом OCS Inventory NG Agent для Windows.
Поскольку для установки программного обеспечения требуются права администратора, агент запускается через логин
Сценарий или ярлык в меню «Пуск» под учетной записью пользователя могут не запустить установку программного обеспечения.
Кроме того, фоновая загрузка пакета может занять много времени и может заблокировать сценарий входа.
Поэтому мы не рекомендуем использовать функцию развертывания пакетов при использовании инвентаризации сценариев входа.
Действие Запуск : развернуть файл ZIP или TAR.GZ и запустить с параметрами или без параметров исполняемый файл, включенный в файл ZIP или TAR.GZ. Файл ZIP или TAR.GZ будет распакован во временный каталог, и соответствующая команда (имя исполняемого файла без пути!) Будет запущена во этот временный каталог. Это действие позволяет получить код результата запущенной команды.
Действие Выполнить : чтобы дополнительно развернуть файл ZIP или TAR.GZ и запустить, с параметрами или без параметров, исполняемый файл, включенный или не включенный в необязательный файл ZIP или TAR.GZ. Если исполняемый файл не включен в файл ZIP или TAR.GZ, он должен быть уже установлен на клиентских компьютерах. Как правило, это может быть стандартная команда Windows, например, вызов установщика Windows (например, msiexec), RPM, DPKG или TAR.GZ в Linux. Файл ZIP или TAR.GZ будет распакован во временный каталог, и соответствующая команда (имя исполняемого файла с путем или параметрами, если необходимо) будет запущена во этот временный каталог. Это действие не позволяет получить код результата запущенной команды. Однако это действие позволяет запускать команду на клиентских компьютерах без развертывания какого-либо файла. Например, вы можете использовать его для запуска определенной команды конфигурации операционной системы.
Магазин действий : развернуть файл ZIP или TAR.GZ и хранить его содержимое только в папке на клиентских компьютерах. Нет команды, связанной с этим действием, только путь, чтобы указать, где хранить извлеченные файлы.
Примечание. Все пакеты, которые вы хотите развернуть, должны быть сжаты с помощью ZIP для агентов Windows и tar
GZIP для компьютеров Linux.
Если вы хотите создать свой собственный установщик, вы можете обратиться к Системе установщика NullSoft ( http://nsis.sourceforge.net ) или Inno Setup ( http://www.jrsoftware.org ). Эти инструменты являются установщиком GPL для Windows, способным создать один самораспаковывающийся установщик файлов.
Ссылка в базе данных, используемая сервером связи, чтобы попросить агента загрузить пакет.
Информационный файл с именем «информация». Это XML-файл, описывающий пакет, и агент действия должен будет его запустить,
0 или более файлов фрагментов данных. Загружаемый файл (если он есть) будет разделен на небольшие части, чтобы агенты могли загружать их по частям, а затем легко возобновлять неудачную загрузку. Если загрузка фрагмента не удалась, снова будет загружен только этот фрагмент, а не весь пакет. Вы сможете выбрать размер фрагмента в соответствии с вашими сетевыми возможностями.
Примечание. По мере загрузки пакета через консоль администрирования вы можете настроить PHP
и Apache для загрузки больших файлов. См. § 11.2.4 Размер загрузок для развертывания пакета, чтобы знать
как настроить это.
Наконец, вы должны выбрать, на каких компьютерах вы будете развертывать пакет.
Когда агент отправляет инвентаризацию на коммуникационный сервер, коммуникационный сервер сообщает агенту, должен ли он развернуть один или несколько пакетов, с указанием уровня приоритета каждого пакета и где он может найти информационные файлы.
Затем агент начинает период загрузки. Период состоит из циклов, определенных параметром конфигурации «DOWNLOAD_PERIOD_LENGTH». По умолчанию период содержит 10 циклов.
В каждом цикле агент вычисляет «номер цикла по модулю приоритета пакета». Если он равен 0, он загружает файл фрагмента вашего пакета. Агент загружает ТОЛЬКО ОДИН фрагмент одного пакета за цикл. Агент будет загружать другие фрагменты вашего пакета каждый раз, когда результат вычисления «номер цикла по модулю приоритета пакета» будет равен 0.
После каждого фрагмента агент будет ждать «DOWNLOAD_FRAG_LATENCY» (по умолчанию для параметра конфигурации установлено значение 10 секунд).
Когда все фрагменты цикла загружены, агент будет ждать «DOWNLOAD_CYCLE_LATENCY» (по умолчанию для параметра конфигурации задано значение 60 секунд), прежде чем начинать новый цикл и увеличивать номер цикла.
Например, если вы развертываете один пакет с приоритетом 5, агент приостанавливает действие «DOWNLOAD_CYCLE_LATENCY» для циклов 1–4, а затем начинает загрузку фрагмента вашего пакета, когда он начинает цикл 5.
Когда все фрагменты пакета будут загружены, агент запустит команду пакета в следующий раз, когда вычисление «номер цикла по модулю приоритета пакета» будет равно 0.
Когда все циклы периода обработаны, он ожидает «DOWNLOAD_PERIOD_LATENCY» (по умолчанию для параметра конфигурации установлено значение 0 секунд).
Если все пакеты были успешно загружены и установлены, он останавливается. Если нет, то начинается новый период циклов.
ИСПОЛЬЗУЙТЕ ПРИОРИТЕТНЫЙ УРОВЕНЬ 0 С УХОДОМ!
Вы можете использовать эти настройки, чтобы настроить пропускную способность сети. Увеличивая параметры задержки, вы увеличите время загрузки фрагментов и сократите среднее использование сети.
Увеличив параметр длины периода, вы задержите новую загрузку фрагментов, потерявших значение, но также, уменьшив длину периода до значения ниже 10, вы можете остановить загрузку пакета с уровнем приоритета выше этого значения.
Влиять на пакеты с правами пользователя
Пользователь не может создавать пакеты самостоятельно. Им нужно использовать статическую группу (и видимую), созданную пользователями-администраторами.
Администратор создает статическую группу и устанавливает флажок «Видимый».
Администратор влияет на некоторые пакеты в этой статической группе (например, Firefox)
Пользователь может поместить свои машины в созданную группу
Упрощенная схема
Агент должен иметь сертификат для проверки подлинности сервера развертывания. Этот сертификат должен храниться в файле с именем cacert.pem в папке агента OCS Inventory NG в Windows и в каталоге /etc/ocsinventory-client в Linux.
В Windows вы можете использовать OCS Inventory NG Packager (см. «Загрузка агента для развертывания через модуль запуска OcsLogon.exe.») Для создания установщика агента, который включает сертификат, или вы можете использовать следующий пример сценария входа в систему для копирования файла сертификата в папку агента (мы Предположим, что агент установлен в C:\Program Files\OCS Inventory Agent, а файл сертификата доступен в общей папке MYSHARE на сервере MYSERVER ).
@echo off
REM Check if CA file exists
if exist “%PROGRAMDATA%\OCS Inventory NG\Agent\cacert.pem” goto CA_END
REM CA file does not exists, install it
Copy \\MYSERVER\MYSHARE\cacert.pem “%PROGRAMDATA%\OCS Inventory NG\Agent\cacert.pem”
:CA_END
Обратитесь к § 8.8 Использование SSL-сертификатов в развертывании пакета для получения дополнительной информации.
Прежде всего, вы должны собрать свой пакет.
Введите имя для вашей посылки.
Выберите операционную систему для этого пакета. Вы можете выбирать между Windows и Linux.
Выберите протокол загрузки для этого пакета. В настоящее время доступен только протокол HTTP.
Выберите приоритет для этого пакета. Пакет с меньшим приоритетом будет загружен перед пакетом с более высоким приоритетом, кроме случаев, когда загрузка не удалась (см. § 8.7 Статистика развертывания и проверка успешности.).
Примечание. Вы можете использовать HTML-теги (например, «
», « ») для форматирования текста, который вы показываете своим пользователям.
Развертывание пакета с помощью команды «Запуск»
Пакет, который вы хотите развернуть, содержит один или несколько файлов, по крайней мере, исполняемый файл для запуска установки пакета.
Сожмите файлы с помощью инструмента ZIP, если ваш пакет адресован компьютерам с Windows, или tar и gzip, если он относится к компьютерам с Linux.
В поле Command просто введите имя исполняемого файла без пути, но, при необходимости, с параметрами. Именно эта команда будет запущена на клиентских компьютерах после того, как пакет будет загружен и распакован во временный каталог.
Развертывание пакета с помощью команды «Выполнить»
Вы хотите выполнить программу, которая уже находится на целевых компьютерах.
Пакет, который вы хотите развернуть, имеет дополнительно один или несколько файлов, а также, при желании, исполняемый файл для запуска установки пакета.
Сожмите файлы с помощью инструмента ZIP, если ваш пакет адресован компьютерам с Windows, или tar и gzip, если он относится к компьютерам с Linux.
В следующем примере мы развертываем программное обеспечение, используя установку Windows без вывода сообщений. Наш ZIP-файл содержит только файл «software.msi», а поле «Command» содержит:
msiexec.exe /i software.msi /quiet
Сохраняйте файлы с помощью команды «Store»
Пакет, который вы хотите развернуть, содержит один или несколько файлов, которые должны храниться в определенной папке на клиентских компьютерах.
Сожмите файлы с помощью инструмента ZIP, если ваш пакет адресован компьютерам с Windows, или tar и gzip, если он относится к компьютерам с Linux.
В поле Path просто введите путь, где агент будет хранить извлеченные файлы после загрузки пакета.
Если указанный путь к папке не существует, он будет рекурсивно создан.
В следующем примере мы развертываем файл для хранения в папке «C: \ My Folder»:
Разделение вашего пакета на фрагменты
Затем вы должны указать размер фрагментов вашего пакета, чтобы позволить агентам загружать ваш пакет небольшими частями. Это позволит возобновить загрузку (т. Е. Если загрузка фрагмента не удалась, в этот раз будет загружен только этот фрагмент, а не весь пакет). Выберите размер фрагмента в соответствии с вашими сетевыми возможностями.
Активация пакета
После создания пакета вы должны указать, где агенты могут его скачать.
Агенты сначала загрузят файл информации о пакете. Поскольку этот файл очень важен, эта загрузка должна выполняться с использованием HTTP через SSL (HTTPS), чтобы агенты могли аутентифицировать сервер развертывания. Далее загрузка фрагментов пакета, описанных в информационном файле, будет осуществляться с использованием стандартного HTTP.
Примечание. Если вы не хотите использовать Сервер администрирования в качестве сервера развертывания, сначала необходимо скопировать папку
«Загрузить / package_timestamp» с корневого каталога документов Apache сервера администрирования в другой веб
сервер. Вы можете использовать утилиту синхронизации каталогов, такую как rsync (http://samba.anu.edu.au/rsync), чтобы автоматически выполнить эту задачу; в противном случае нам придется делать это вручную.
Наведите указатель мыши на меню «Развертывание» и выберите «Активировать». Здесь вы увидите весь собранный пакет, а также ВСЕ активированный пакет.
Вы можете нажать на красный крестик, чтобы удалить встроенный пакет. Это приведет к удалению ссылки на пакет из базы данных, а также к удалению файла с информацией и фрагментов из каталога загрузки Консоли администрирования. Таким образом, удаленный пакет будет недоступен для активации, все активированные пакеты, использующие этот пакет, будут удалены, а также не затронуты с компьютеров.
Нажмите кнопку «Актив» в строке, соответствующей пакету, который вы хотите активировать.
В поле «URL-адрес HTTPS» введите URL-адрес для загрузки в информационном файле пакета HTTPS.
В поле «HTTP url» введите URL для загрузки в файлах фрагментов пакета HTTP.
Предупреждение: не вводите localhost как адрес сервера в URL! Помните, что эти URL будут обработаны
агентами.
Если ваш сервер развертывания HTTPS или HTTP работает на нестандартных портах, вы можете указать рабочий порт, используя стандартную запись «server_address: server_port / folder». Например, ваш сервер развертывания работает через порт HTTP 8080 и HTTPS 4343 на сервере 192.168.1.1, а пакеты находятся в каталоге / download. Вы должны заполнить:
URL-адрес https: 192.168.1.1:4343/download
http url: 192.168.1.1:8080/download
В нашем случае мы выбрали сервер администрирования в качестве сервера развертывания как для файла информации о пакете, так и для фрагментов пакета.
Итак, мы заполнили оба поля так: «ocs-admin-srv.domain.tld / download».
Нажмите кнопку отправить. Консоль администрирования обеспечит доступность файлов информации и файлов фрагментов по указанным URL-адресам.
Колонка « Не уведомлено» показывает количество компьютеров, которые еще не были уведомлены, у них есть соответствующий пакет для развертывания.
Колонка « Успех» показывает количество компьютеров, на которых успешно развернут соответствующий пакет.
Столбец « Ошибки» показывает количество компьютеров, на которых возникли ошибки при развертывании соответствующего пакета.
Значок « Статистика» позволяет просматривать процентили компьютеров, ожидающих уведомления, уведомленных (сервер просит их развернуть пакет) и завершивших развертывание с кодом результата (SUCCESS или ERROR).
Влияние пакетов на компьютеры
Вы можете воздействовать на пакет на компьютер один за другим, отображая свойства компьютера, выбирая значок настройки и добавляя пакет. Тем не менее, это не лучший способ, если вы хотите повлиять на пакет для многих компьютеров.
В следующем примере мы затронем созданный нами пакет для всех компьютеров Windows.
Итак, во-первых, мы ищем компьютеры с Windows XP.
Доступны две возможности:
Установите флажок на компьютерах, на которых вы хотите развернуть пакет
Ничего не выбирайте и нажимайте непосредственно на Deploy
Нажмите на значок Affect строки пакета, чтобы отразить этот пакет на всех выбранных компьютерах.
Примечание. Удаление активации пакета не влияет ни на один компьютер, на котором пакет уже был
установлены. Кроме того, на пакет все еще ссылаются в базе данных, поэтому вся информация и фрагмент
файлы по-прежнему доступны в каталоге загрузки Сервера администрирования. Тем не менее, он имеет то же самое
статус, как будто вы только что построили его.
Вы можете отобразить статистику развертывания, щелкнув значок « Статистика» для пакета.
Поскольку вы применили пакет как минимум к одному компьютеру, у вас будет графическая статистика, показывающая состояние уведомления о развертывании.
Статус может быть один из следующих:
Код состояния Смысл
ОЖИДАНИЕ УВЕДОМЛЕНИЯ Сервер ожидает связи агента, чтобы уведомить, что есть что-то для загрузки.
NOTIFIED СООБЩЕНЫ Агент был уведомлен, что есть что скачать. Теперь сервер ожидает код результата.
SUCCESS УСПЕХ Агент успешно загрузил пакет и команду запуска или сохранил извлеченные данные. С помощью действия «Запуск» это состояние может быть дополнено кодом возврата выполнения команды. (код возврата 0).
ERR_EXIT_CODE_xxx Агент успешно загрузил пакет, НО команду выполнения или хранилище данных, связанное с ошибкой (код возврата xxx).
ERR_ALREADY_SETUP Пакет ранее был успешно установлен на этом компьютере.
ERR_BAD_ID Агент не может загрузить пакет, поскольку он не может найти идентификатор пакета на сервере развертывания.
ERR_BAD_DIGEST Загруженные данные имеют плохой дайджест, поэтому агент не выполняет связанную команду.
ERR_DOWNLOAD_INFO Агент не смог загрузить файл INFO, связанный с пакетом.
ERR_DOWNLOAD_PACK Агент не смог загрузить файл ZIP или TAR.GZ.
ERR_BUILD Агент не смог перестроить фрагменты пакета.
ERR_UNZIP Агент не смог распаковать загруженный файл ZIP или TAR.GZ.
ERR_OUT_OF_SPACE На диске недостаточно места для распаковки и запуска пакета ZIP или TAR.GZ.
ERR_BAD_PARAM Неверный параметр файла INFO пакета.
ERR_EXECUTE_PACK Любая команда выполнения указана в INFO-файле пакета.
ERR_EXECUTE Агент не смог выполнить связанную команду пакета.
ERR_CLEAN Агент не смог очистить загруженный пакет.
ERR_DONE_FAILED Агент не может получить результат выполнения в кеше пакета (кеш используется для хранения результата, если сервер не отвечает в конце выполнения пакета).
ERR_TIMEOUT Агент не смог загрузить пакет в течение дней DOWNLOAD_TIMEOUT.
ERR_ABORTED Пользователь отменил выполнение команды пакета (вы решили уведомить его, и позволили ему отменить).
« Подтверждение успеха» очистит статистику компьютеров, которые успешно развернули пакет.
« Unaffect not Уведомление» не повлияет на пакет с компьютеров, которые не связались с сервером, так как вы повлияли на пакет для компьютеров. Пакет не будет удален, только на компьютерах, которые еще не получили заказ на развертывание этого пакета, этот заказ будет отменен.
Предупреждение: вы ДОЛЖНЫ проверить состояние развертывания после завершения развертывания, чтобы очистить развертывание базы данных.
статус для компьютера. В противном случае база данных будет расти и ускоряться!
Вы можете нажать на номер для каждой строки состояния, чтобы отобразить компьютеры с таким состоянием развертывания.