вторник, 7 апреля 2009 г.

Учет оборудования с Kwok Information Server в Ubuntu Linux

Учет оборудования и установленного ПО является одной из задач, ответственность за выполнение которой возложена на администратора. Держать все данные в голове, занятие не благодарное. Система информационного обслуживания Kwok предназначена для ее упрощения.

Рано или поздно любому администратору придется отчитываться перед начальством о том, что и где установлено, кто за этими компьютерами работает, закончился ли гарантийный срок. Бухгалтерам будет “интересно” узнать, когда закончится лицензия на ПО и в какую сумму обойдется ее продление. И десятки других вопросов, которые постоянно нужно отслеживать. Проблема учета оборудования и установленных программ не нова, вероятно поэтому на сегодня разработано достаточно решений самого разного уровня. Начиная с System Center Essential (раннее Systems Management Server [1]) выпускаемой корпорацией Microsoft или программного комплекса CheckCfg + Sklad о котором шла речь в январском номере журнала за 2007 год [2]. Первый не бесплатен, потому в небольших организациях вряд ли будет востребован. Второй распространяется как freeware. В этих программах для сбора информации о “железе” и программах используется агент, устанавливаемый на все клиентские компьютеры. Это упрощает работу, но к сожалению список поддерживаемых ОС в такого рода софте обычно ограничен семейством Windows. Между тем сегодня уже не редкость наличие других ОС, да и аппаратные решения в этом случае также придется учитывать отдельно. И как выход из ситуации приходится администратору открывать Excel и заносить все данные в таблицы. К сожалению, такой способ кроме ручного труда имеет и другие недостатки – возможно дублирование данных, отчеты затем также придется составлять вручную. Использование базы данных устраняет эти недостатки.

Возможности Kwok

Информационная система Kwok Information Server предназначена для хранения информации об аппаратных средствах, установленных программах, лицензиях на использование пакета программ, информацию о поставщиках и пользователях. Из дополнительных функций следует отметить наличие портала, блога, RSS ленты, которые могут быть использованы при информировании о проблемах. Любые данные легко экспортируются в файл формата CSV, который затем можно открыть в том же Excel. Есть возможность загрузки файлов на сервер (например, драйверов) для распространения среди пользователей. Управление записями может осуществоляться несколькими администраторами или самими пользователями, с четко установленными правами доступа. Есть возможность изменения системных учетных записей. Для аутентификации пользователей может использоваться внутренняя база данных или LDAP (Active Directory). Информация о контактах (имя, телефон, e-mail, почтовый адрес) может экспортироваться в CSV файл или vCard.
Все данные в базу заносятся только один раз, и затем сопоставляются в соответствующих меню. То есть, выбрав программу в списке, можно затем быстро найти информацию об ее стоимости, общем количестве такого ПО, ключ лицензии, исполняемый или регистрационный файл и прочее.
Написан Kwok на Java, для выдачи данных используется Tomcat. Вся информация, в том числе и настройки самого Kwok сохраняется в базе PostgreSQL. Настройки производятся при помощи веб-браузера, как альтернативу можно использовать непосредственную запись в поле БД. В качестве официальных платформ для установки указаны Linux и Windows. Хотя возможно будет работать и под другими Unix совместимыми системами. В процессе работы иногда всплывают установки ориентированные на Windows, плюс в документации примеры показывают именно ту ОС. Вероятно сказывается то, что Kwok был изначально разработан для этой системы, а затем уже портирован под Linux.
Интерфейс программы переведен на 7 языков, русского к сожалению в этом списке нет. Но некоторым полям можно дать другие названия прямо из основного окна программы, причем русский затем выводится без проблем.

Установка Kwok

Актуальной на момент написания статьи является версия 2.6.8 вышедшая 1 октября 2008 года. По ссылке на странице закачки доступны два отдельных файла для установки на Linux или Windows. В последний входит полный набор приложений Java/Tomcat/PostgreSQL. Файл для Linux наполовину менше, PostgreSQL в комплект не входит и его не обходимо устанавливать отдельно. Тестовая установка проводилась в Ubuntu 8.04 LTS и Windows XP. В дальнейшем будем рассматривать установку Kwok в Ubuntu.
Весь процесс вообщем не выглядит сложным и запутанным. В конфигурационных файлах Kwok в качестве рабочего каталога указан /usr/kwok, поэтому чтобы затем не столкнуться с проблемами, лучше использовать именно этот каталог.

$ cd /usr
$ sudo tar xzvf kwok-information-server-2.6.8-linux.tar.gz
$ sudo mv kwok-information-server-2.6.8-linux kwok
$ cd kwok

После распаковки в кwok найдем несколько подкаталогов:
$ ls
database server files

Устанавливаем нужные права для определенных файлов и каталогов.

$ sudo chmod +rw ./server/tomcat_6.0.14
$ sudo chmod +x ./server/jre1.6.0/bin/java
$ sudo chmod +x ./server/tomcat_6.0.14/bin/*.sh

В документации рекомендовано убедиться, что каталоги temp, logs и works в tomcat_6.0.14 существуют. У меня проблем не возникало, но очевидно они возможны.
Далее устанавливаем PostgreSQL. В каждом дистрибутиве на этом этапе свои особенности. Если уже есть рабочая СУБД, можно подключиться и к ней. В Ubuntu/Debian для установки достаточно выполнить одну команду:

$ sudo apt-get install postgresql

Опционально можно поставить GUI для работы с БД, например пакет pgadmin3, который затем можно использовать для редактирования таблиц. Проверяем запущен ли сервер.

$ sudo /etc/init.d/postgresql-8.3 status

Устанавливаем пароль администратора базы, пусть это будет нехитрый password (в скриптах по умолчанию использован пароль postgres, его нужно будет изменить).

$ sudo -u postgres psql template1
template1=# ALTER USER postgres WITH ENCRYPTED PASSWORD ‘password’;
ALTER ROLE
template1=# \q

Поддержка языков программирования в PostgreSQL реализуется отдельным объектом базы данных. Нам нужен PL/pgSQL:

$ sudo -u postgres createlang plpgsql template1

В конфигурационном файле /etc/postgres/8.3/main/pg_hba.conf проверяем наличие строки:

host all all 127.0.0.1/32 md5

Если нужно подключаться с удаленной системы в postgresql.conf строку

#listen_addresses = ‘localhost’

Меняем на:
listen_addresses = ‘*’

Или указываем в скобках конкретный IP-адрес. Снимаем комментарий со строки:

password_encryption = on

Далее нужно запустить файл schemasetup-2.6.8.jar находящийся в подкаталоге database, который создаст нужный репозитарий.

$ ./server/jre1.6.0/bin/java -jar ./database/schemasetup-2.6.8.jar install database=kwokdb username=postgres password=password

Loading database driver org.postgresql.Driver … done
Preparing to install version 2.6.8 …
Connecting to PostgreSQL Database Server … done
Creating database kwokdb … done
Connecting to database kwokdb … done
Creating tables … done
Creating views and stored procedures … done
Schema setup completed successfully

По умолчанию производится подключение к локальной базе (порт 5432). Если для хранения планируется использовать удаленную БД, то в строку вызова schemasetup-2.6.8.jar следует добавить параметры host и port. Правильные параметры доступа к PostgreSQL затем следует указать в файле Application.properties. Формат его прост:

$ cat /usr/kwok/server/tomcat_6.0.14/webapps/kwok/WEB-INF/classes/properties/Application.properties
#
# Database properties
#
db.serverHost = localhost
db.serverPort = 5432
db.name = kwokdb
db.username = postgres
db.password = password

На этом установка закончена. Запускаем Tomcat.

$ sudo chmod +x /usr/kwok/server/start_tomcat.sh
$ sudo /usr/kwok/server/start_tomcat.sh

Для проверки работоспособности набираем в браузере адрес http://localhost:8080/kwok, и ждем когда появится окно Kwok (в зависимости от мощности оборудования запуск может затянуться до 1-2 минут).

В том случае если получите сообщение об ошибке, следует обратиться к журналам, находящимся в подкаталоге server/tomcat_6.0.14/logs. Например, я по ошибке при создании базы вместо kwokdb ввел kwodb. Естественно подключиться к базе данных не удалось:

$ tail -f ./server/tomcat_6.0.14/logs catalina.2008-10-07.log

07.10.2008 22:11:21 com.kwoksys.framework.connection.database.PostgresDatabase createConnection
SEVERE: Problem connecting to database: kwodb. Error message: FATAL: database “kwodb” does not exist

Аналогично легко можно отследить и другие проблемы.
Готовых стартовых скриптов разработчики не предлагаеют. Если планируется загрузка вместе с системой, можно поместить ссылку на start_tomcat.sh в /etc/init.d/rc.local. Кроме этого я бы рекомендовал в самое начало start_tomcat.sh, поместить ссылку на стоповый скрипт /usr/kwok/server/tomcat_6.0.14/bin/shutdown.sh.
Обновление Kwok происходит по тому же принципу. Только при вызове schemasetup-х.х.х.jar вместо install указывается upgrade (незабыв создать копию БД). Затем удаляются подкаталоги server\tomcat_6.0.x\webapps\kwok и server\tomcat_6.0.x\work\Catalina\localhost и на их место копируются новые версии. Не забываем подправить Application.properties.

Работа в KWOK

Интерфейс KWOK очень прост и не перегружен информацией, поэтому разобраться с его возможностями очень лекго. После регистрации (admin с паролем admin) будет выведена начальная страница Home с общей информацией. В меню справа можно выбрать другой язык или цвет окна. Чтобы сменить пароль нужно перейти в Preferences и нажать единственную ссылку “Change password”.
Основные настройки работы Kwok производятся в Administration. В часности перейдя в “Applications Setting” и выбрав в поле “Security Configuration” ссылку Edit можно изменить метод аутентификации (Authentication method). Установив вместо Database– LDAP и затем ввести параметры LDAP сервера (адрес ldapserver.yourdomain:389 и учетные данные).

Добавляем информацию об устройстве

Добавляем информацию об устройстве

Если по некоторым причинам зарегистрироваться с использованием LDAP не удатся, то чтобы не переустанавливать все заново, можно сбросить значения в таблице system_config.

update system_config set configvalue=’app’ where config_key=’auth.authenticationMethod’
update system_config set configvalue=” where config_key=’auth.domain’

Здесь же в “Applications Setting” обязательно следует отредактировать установки приложения (Applications Configuration). В частности здесь указываем часовой пояс, формат времени, символ валюты и главное прописываем каталоги в которых будут храниться загруженные файлы. По умолчанию путь прописан применительно к Windows.
То есть строку:
C:\Kwok\Server\FileRepo\company
Меняем на:
/usr/kwok/files/company
И аналогично правим остальные подобные записи.

Настройки Kwok

Настройки Kwok

Чтобы получать оповещения по электронной почте, в “Email Setting” указываем данные SMTP сервера: IP-адрес, порт, учетные данные и почтовые адреса для полей От и Кому.
По умолчанию в системе присутствует две учетных записи: admin имеющий доступ ко всем настройкам и неактивная Guest. Добавить другие, установив права доступа можно перейдя в “User List” и “Group List”.
И, наконец, в “System Field” и “Custom Fields” можно добавить, убрать или переименовать поля для всех объектов, то есть подстроить интерфейс под свои нужды.
Для ввода данных о компьютерах, программном обеспечении, контактах следует выбрать соответствующее меню: Hardware, Software, Issues, Knowledge Base, Contacts, Service Contacts, Blogs, RSS и Portal.
Например, чтобы добавить новое устройство, нажимаем “Add Hardware”, заполняем поля и затем вносим данные в базу “Submit”. Устройство появляется в окне Hardware, если их много, для отбора можно воспользоваться поиском. Если устройству необходимо сопоставить лицензию, заполняем данные в Software (последовательность действия аналогична), а затем нажимаем ссылку “Assign Software License” и выбираем в окне информацию о лицензии.

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

Локализация

Локализовать Kwok просто. Для этого необходимо создать файл с именем Localization_ru_RU.properties в каталоге взяв за шаблон английский Localization.properties. Или просто подменив последний своим файлом. Сами файлы локализации находятся в каталоге tomcat_6.0.14\webapps\kwok\WEB-INF\classes\properties. Кодировки KOI8-R и СP-1251 отображаются нормально. Для подготовки файла в UTF-8 необходимо использовать перекодировщик Java Unicode (http://code.cside.com/3rdpage/us/javaUnicode/converter.html).
Если создается новая локаль то, чтобы появилась информация о ней в интерфейсе, нужно обновить таблицу ‘locale.options‘:
update system_config set config_value = ‘en_US,es_ES,hu_HU,it_IT,nl_NL,sr_YU,zh_CN,ru_RU’
where config_key=’locale.options’;

Ссылка:
1. Проводим инвентаризацию сети средствами SMS 2003 - //Системный администратор, №8, 2006г., - С. 12-17
2. Как быстро и эффективно провести учет компьютерной техники - //Системный администратор, №1, 2007г., - С. 20-24

Источник: http://www.tux.in.ua/articles/1164

Комментариев нет:

Отправить комментарий