Установка и администрирование
Системные требования.
Текущая версия пакета программ работает под управлением FreeBSD
4.2-RELEASE совместно с PostgreSQL 7.0.2 и Apache/1.3.19.
Предыдущие версии тестировались на FreeBSD 2.2.1, FreeBSD
2.2.5, FreeBSD 3.0. В качестве СУБД необходима версия PostgreSQL
не ниже 6.3.х, работающая с интерфейсной библиотекой libpq.2 . В
процессе разработки традиционно использовались разнообразные версии Apache.
Но
к веб-серверу нет никааких жестких требований. Подойдет любой веб-сервер,
который поддерживает Basic авторизацию (лучше поверх SSL), CGI интерфейс,
SSI и проход по символическим связям в пределах файловой системы.
Требования, специфичные для определенных плагинов заявлены в описании
соответствующих плагинов.
В качестве рабочего места оператора может быть использован практически
любой браузер под любой операционной системой. Браузер должен поддерживать
Basic авторизацию протокола HTTP и опционально SSL. Возможна работа даже
с текстовыми браузерами (например Lynx Version 2.8rel.2) .
Установка.
Пакет программ оформлен в виде порта FreeBSD. Установка порта происходит
в нескольоко этапов:
-
fetch - получение исходных текстов пакета
-
patch - внесение последних изменений в исходные тексты
-
depend - обнаружение или установка других необходимых портов, библиотек,
программ
-
configure - конфигурация и создание Makefile в соответствии с версиями
операционной системы, установленными библиотеками и предпочтениями
пользователя
-
build - компиляция и сборка программ из исходных текстов
-
install - установка и модиицирование прав исполняемым файлам, библиотекам,
документации, изменение некоторых конфигурационных файлов.
При конфигурировании пакета можно указать префикс отличный от используемого
по умолчанию префикса /usr/local/ с целью установки пакета в другой
директории. В дальнейшем, если не указан абсолютный путь, подразумевается
путь, начинающийся от префикса.
В процессе инсталляции устанавливаются следующие компоненты:
-
bin/eyed - основной демон eyed
-
share/eye/db/ - скрипты для установки базы данных, скелет базы данных,
скрипты для очистки статистики.
-
share/eye/db/help/ - справочная система
-
etc/eye/eye.cfg - пример файла конфигурации
-
libexec/eye/ - плагины и скрипты организующие интерфейс к базе данных
-
www/eye/ - SSI файлы, представляющие интерфейс к базе данных, здесь же
лежат сгенерированные файлы результатов.
Такое, несколько сложное расположение компонент обеспечивает работу нескольких
экземпляров системы мониторинга, сконфигурированных с помощью разных экземпляров
баз данных или их схем, в пределах одного хоста. В процессе установки
происходит создание пользователей и базы данных с параметрами установленными
по умолчанию - база данных с именем eye на локальном хосте с PostgreSQL
настроенным по умолчанию. Эти установки можно поменять в конфигурационном
файле и запустить скрипт установки базы данных с абсолютным именем файла
конфигурации в качестве первого параметра:
./install_db /usr/local/etc/eye/eye.cfg
Пользователь от имени которого запущен процесс установки должен иметь
в своем пути psql и необходимые для него run-time library. Меняя
параметры конфигурации можно задавать различные конфигурационные базы.
Демон для альтернативной конфигурации запускается аналогичным образом:
/usr/local/bin/eyed /usr/local/etc/eye/eye.cfg
При установке каждой конфигурационной базы данных (включая первичную
инсталляцию) необходимо выполнить следующие действия:
(на примере sendmail и Apache)
-
Создать почтовый alias для приема входящей почты и сообщить о нем соответствующемы
плагину.
-
Создать alias в /etc/aliases
body:"| /usr/local/libexec/eye/mailbody"
при необходимости передать в качестве первого параметра файл конфигурации.
-
Сообшить об alias плагину mail. Для этого надо изменить следующую
строку в таблице parametrs:
eye=# select * from parametrs where nameofcfg='mail' and parametr='From';
nameofcfg | parametr |
value
-----------+----------+-------------------
mail | From
| body@somethere.net
(1 row)
eye=#
-
Обеспечить авторизованный доступ через HTTP к директории с файлами результатов
и интерфейса.
-
Добавить в файл httpd.conf или access.conf следующую секцию <Directory>
<Directory "/usr/local/www/eye">
Options Indexes ExecCGI Includes FollowSymLinks
#
# Note that "ExecCGI" and "Includes" options are nessesary
# for databse interface.
# And "FollowSymLinks" option are used for access to help files
#
AllowOverride None
DirectoryIndex eye_square_main.html
AuthName eye_output
AuthType Basic
AuthUserFile /usr/local/apache/conf/passwd
AuthGroupFile /usr/local/apache/conf/group
#
# Basic auth reqired for autorized access to database
# require valid-user
<Limit POST GET>
require valid-user
</Limit>
Order allow,deny
Allow from all
</Directory>
В находящихся в директории www/eye .shtml файлах содержится
вызовы интерфейсных програм из libexec/eye с файлом конфигурации
в качестве первого параметра. Символическая ссылка help связана
с документацией лежащей в share/eye/db/help/ . Кроме того, в www/eye
находится
.cgi
файл используемый для генерации изображений. Отсюда и следует выбор
опций для директории.
Администрирование
Под администрированием понимается все то, что нельзя сделать используя
веб-интерфейс. В основном задачи администрирование решаются с использованием
psql.
-
Заведение нового пользователя.
-
Необходимо обеспечить авторизацию пользователя средствами веб-сервера.
-
Выбрать подходящую роль.
eye=# select DISTINCT role from rights;
role
----------
roaccess
rwaccess
(2 rows)
eye=#
-
Прописать соответствие пользователя роли в таблице users.
eye=# select * from users;
nick | role
----------+----------
eye | rwaccess
operator | roaccess
(2 rows)
eye=#
-
Создание новой роли.
-
Опредалить права доступа и название новой роли.
-
Прописать права доступа в таблице rights.
tablename | columnname
| columnnumber | role | rights
-------------+----------------------+--------------+----------+--------
server | Местонахождение
| 1 |
roaccess | su
server | Владелец
| 2 |
roaccess | su
person | Comments
| 7 |
roaccess | su
person | Мобильный телефон
| 6 |
roaccess | su
person | Домашний телефон
| 5 |
roaccess | su
person | Городской телефон
| 4 |
roaccess | su
person | Внутренний телефон
| 3 |
roaccess | su
person | ФИО
| 1 |
roaccess | su
-
Завести пользователя базы данных с именем роли.
-
Отдать на уровне СУБД этому пользователю права объявленные в таблице rights.
-
При необходимости завести пользователя системы, пользующегося этой ролью.
-
Отключение выдачи плагина.
-
Добавить параметр Invisible в параметры плагина.
eye=# select * from parametrs where parametr='Invisible';
nameofcfg | parametr | value
-----------+-----------+-------
square | Invisible | 1
rsquare | Invisible | 1
(2 rows)
eye=#
-
Отключение плагина.
-
Убрать соответствующую плагину строку из таблицы eye.
eye=# select * from eye;
nameofcfg | nameofexec
-----------+-------------
ping1 | ping
http | http
smtp | smtp
whois | whois
pop | pop3
mail | mail
square | eye_square
rsquare | eye_rsquare
dns1 | dns
(9 rows)
eye=#