Сергей Яремчук
Учет оборудования с Kwok Information Server
Учет оборудования и установленного ПО является одной из задач, ответственность за выполнение которой возложена на администратора. Держать все данные в голове – занятие неблагодарное. Система информационного обслуживания Kwok предназначена для ее упрощения.
Рано или поздно любому администратору придется отчитываться перед начальством о том, что и где установлено, кто за этими компьютерами работает, закончился ли гарантийный срок. Бухгалтерам будет интересно узнать, когда закончится лицензия на ПО и в какую сумму обойдется ее продление. И десятки других вопросов, которые постоянно нужно отслеживать. Проблема учета оборудования и установленных программ не нова, вероятно, поэтому на сегодня разработано достаточно решений самого разного уровня. Начиная с System Center Essential (раннее Systems Management Server [1]), выпускаемой корпорацией Microsoft, или программного комплекса CheckCfg + Sklad, о котором шла речь в январском номере журнала за 2007 год [2]. Первый не бесплатен, потому в небольших организациях вряд ли будет востребован. Второй распространяется как freeware. В этих продуктах для сбора информации о «железе» и программах используется агент, устанавливаемый на все клиентские компьютеры. Это упрощает работу, но, к сожалению, список поддерживаемых ОС в такого рода софте обычно ограничен семейством Windows. Между тем сегодня уже не редкость наличие других ОС, да и аппаратные решения в этом случае также придется учитывать отдельно. И как выход из ситуации приходится администратору открывать Excel и заносить все данные в таблицы. К сожалению, такой способ, кроме ручного труда, имеет и другие недостатки – возможно дублирование данных, отчеты затем также придется составлять вручную. Использование базы данных устраняет эти недостатки.
Возможности Kwok
Информационная система Kwok Information Server [3] предназначена для хранения информации об аппаратных средствах, установленных программах, лицензиях на использование пакета программ, информацию о поставщиках и пользователях. Из дополнительных функций следует отметить наличие портала, блога, 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 в комплект не входит, и его необходимо устанавливать отдельно.
Настройки Kwok
Тестовая установка проводилась в 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
Устанавливаем нужные права для определенных файлов и каталогов.
$ 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';
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 config_value='app' where config_key='auth.authenticationMethod'
update system_config set config_value='' where config_key='auth.domain'
Здесь же в Applications Setting обязательно следует отредактировать установки приложения (Applications Configuration). В частности, здесь указываем часовой пояс, формат времени, символ валюты и, главное, прописываем каталоги, в которых будут храниться загруженные файлы. По умолчанию путь прописан применительно к Windows, т.е. строку:
C:\Kwok\Server\FileRepo\company
меняем на:
/usr/kwok/files/company
и аналогично правим остальные подобные записи.
Чтобы получать оповещения по электронной почте, в 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';
- Щербаков Д. Проводим инвентаризацию сети средствами SMS 2003 – //Системный администратор, №8, 2006 г. – С. 12-17.
- Бережной А. Как быстро и эффективно провести учет компьютерной техники – //Системный администратор, №1, 2007 г. – С. 20-24.
- Сайт проекта Kwok Information Server – http://www.kwoksys.com.