Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
На первых шагах можно частично следовать инструкции от разработчика [1]. Пока все действия выполняем из-под root’а:
Шаг 1. Вставляем procfs в /etc/fstab:
|
Перезагружаемся
Шаг 2. Ставим необходимые пакеты:
|
После завершения установки должно получиться примерно следующее (у меня сборка происходит на чистой системе):
|
Шаг 3. Делаем симлинк на bash:
|
Шаг 4. Добавляем пользователя zenoss в систему:
|
Шаг 5. Конфигурируем sudo. Для этого открываем sudoers:
|
Раскомментируем строку
|
Шаг 6. Создаем новый файл alloca.h в /usr/include:
|
Вставляем в него следующие строки и выходим с сохранением:
|
Шаг 7. Добавляем следующую строку в rc.conf, сохраняем и перезагружаемся:
|
Шаг 8. Создаем каталог для установки и назначаем владельца:
|
Шаг 9. Скачиваем исходники и распаковываем (для этого удобнее зайти под пользователем zenoss):
|
Шаг 10. Правим файл GNUmakefile:
|
Идем на 63 строку и заменяем
|
на
|
По инструкции на данном шаге можно приступить к процессу сборки. Но при этом у меня появлялись ошибки, приходилось их править, после чего запускать установку снова. Поэтому привожу тексты ошибок и как их избежать:
Ошибка 1. Текст ошибки:
In file included from ./libxml/parser.h:797, from ./libxml/globals.h:19, from ./libxml/threads.h:36, from ./libxml/xmlmemory.h:217, from ./libxml/tree.h:1205, from ./libcroco/cr-sel-eng.h:34, from term-styled-ostream.oo.c:26: ./libxml/encoding.h:29:19: error: iconv.h: No such file or directory In file included from ./libxml/parser.h:797, from ./libxml/globals.h:19, from ./libxml/threads.h:36, from ./libxml/xmlmemory.h:217, from ./libxml/tree.h:1205, from ./libcroco/cr-sel-eng.h:34, from term-styled-ostream.oo.c:26: ./libxml/encoding.h:137: error: expected specifier-qualifier-list before 'iconv_t' *** Error code 1 Stop in /usr/home/zenoss/zenoss-2.4.2/build/gettext-0.17/gettext-tools/gnulib-lib. *** Error code 1 Stop in /usr/home/zenoss/zenoss-2.4.2/build/gettext-0.17/gettext-tools/gnulib-lib. *** Error code 1 Stop in /usr/home/zenoss/zenoss-2.4.2/build/gettext-0.17/gettext-tools. *** Error code 1 Stop in /usr/home/zenoss/zenoss-2.4.2/build/gettext-0.17/gettext-tools. *** Error code 1 Stop in /usr/home/zenoss/zenoss-2.4.2/build/gettext-0.17. gmake: *** [/home/zenoss/zenoss-2.4.2/build/rrddeps-build] Error 1 unable to build zenoss and prerequisites, see zenbuild.log |
Решение. Качаем libiconv-1.13.tar.gz :
|
После этого идем в в rrddeps.sh:
|
и добавляем следующее после 65 строки (раздел зависимостей):
|
Ошибка 2. Текст ошибки:
config.status: executing libtool commands gmake[1]: Nothing to be done for `unix'. gmake[1]: Leaving directory `/usr/home/zenoss/zenoss-2.4.2/build/freetype-2.3.7' "./builds/toplevel.mk", line 50: Need an operator "./builds/toplevel.mk", line 52: Missing dependency operator "./builds/toplevel.mk", line 54: Need an operator "./builds/toplevel.mk", line 55: Need an operator "./builds/toplevel.mk", line 64: Could not find ./objs/modules.cfg "./builds/toplevel.mk", line 86: Missing dependency operator "./builds/toplevel.mk", line 88: Need an operator Error expanding embedded variable. gmake: *** [/home/zenoss/zenoss-2.4.2/build/rrddeps-build] Error 2 unable to build zenoss and prerequisites, see zenbuild.log |
Решение. Требуется исправить функцию build_dep() в файле rrddeps.sh:
|
Должно получиться следующее:
|
Ошибка 3. Текст ошибки:
checking for iconv_open in -liconv... no configure: error: *** No iconv() implementation found in C library or libiconv gmake: *** [/home/zenoss/zenoss-2.4.2/build/rrddeps-build] Error 1 unable to build zenoss and prerequisites, see zenbuild.log |
Решение. Долго пытался найти решение этой ошибки, наконец, собрал, написав при этом новую билд функцию для зависимости. Но в последствии в сети нашел более простое решение, проверил - собирается:
Добавляем следующие строки в rrddeps.sh до функции build_dep:
|
Ошибка 4. Текст ошибки:
configuring: /home/zenoss/zenoss-2.4.2/build/rrdtool-1.3.5/Makefile gmake: *** [/home/zenoss/zenoss-2.4.2/build/rrdtool-1.3.5/Makefile] Error 1 unable to build zenoss and prerequisites, see zenbuild.log |
Решение. Делаем симлинк:
|
Ошибка 5. Текст ошибки:
gmake: *** [wmi-install] Error 2 unable to build zenoss and prerequisites, see zenbuild.log |
Решение. Тут есть один момент. Директория wmi-1.2.6 распаковывается в момент сборки, а в ней как раз находится тот файл, который нужно поправить. Пытался распаковать вручную, внести коррективы и «подсунуть» в нужный каталог, но не получилось - установка все равно закончилась с ошибкой. Я думаю можно внести изменения в архив до начала сборки, но мне не захотелось возиться с архивом, поэтому я решил исправить все что можно, запустить процесс установки, исправить данную ошибку, а потом запустить сборку повторно.
Файл, который будем править должен находиться по следующему пути:
|
В нем нужно закомментировать 174-176 строки:
|
Теперь о том, как запустить сборку. Делается очень просто:
|
После чего нас попросят ввести параметры MySQL:
This installer actually builds Zenoss. For a simpler installation try the VMPlayer Appliance image, or use RPMs for Redhat based systems. Building... MySQL server hostname [localhost]: MySQL server root username [root]: MySQL server root password []: MySQL event database name [events]: MySQL username for Zenoss events database [zenoss]: MySQL password for zenoss [zenoss]: MySQL server port [3306]: |
Далее собственно идет процесс сборки. На Celeron 1.7 GHz и 128 MB памяти установка занимает примерно 40 минут. Если все прошло успешно, то в конце мы увидим следующее сообщение:
Wrote file /usr/local/zenoss/etc/zeo.conf Wrote file /usr/local/zenoss/bin/zeoctl Changed mode for /usr/local/zenoss/bin/zeoctl to 755 Wrote file /usr/local/zenoss/bin/runzeo Changed mode for /usr/local/zenoss/bin/runzeo to 755 Starting Zope Object Database . daemon process started, pid=30166 Loading initial Zenoss objects into the Zeo database (this can take a few minutes) ZentinelPortal loaded at zport Starting Zope Server . daemon process started, pid=30203 ========================================================= zensocket must be setuid. As root, execute the following: chown root:zenoss /usr/local/zenoss/bin/zensocket chmod 04750 /usr/local/zenoss/bin/zensocket ========================================================= Successfully installed Zenoss |
Здесь нас просят назначить права на zensocket:
|
Теперь, следуя инструкции разработчика [1], для завершения установки нам нужно в начало /usr/local/zenoss/bin/zenfunctions добавить следующую строку:
|
Все. Можно считать сборку завершенной и приступить к использованию Zenoss. Для этого в браузере набираем: http://yourserver:8080/ . После чего на экране должна появится следующая страница:
Думаю здесь объяснять ничего не нужно.
Кстати, уже потом в процессе добавления сетевых устройств в Zenoss, я обнаружил еще одну проблему. Если зайти в любые графики, то перед глазами появлялась следующая картина:
Благо, что это проблема давно известна и разработчики знают, как ее решать. Для отображения графиков в нормальном виде Zenoss’у требуется пакет шрифтов liberation-fonts-ttf. Поэтому идем в порты:
# cd /usr/ports/x11-fonts/liberation-fonts-ttf/
# make install clean
После чего еще нужно сделать симлинк:
# ln -s /usr/local/lib/X11/fonts/Liberation /usr/share/fonts/X11/
Далее перезапускаем Zenoss:
[zenoss@ ~]$ /usr/local/zenoss/bin/zenoss restart
Примеры мониторинга различных сетевых устройств.
Для добавления нового хоста нажимаем на «Add Device» в основном меню:
Здесь из всех параметров обязательно нужно указать: имя устройства (Device Name), его класс (Device Class Path) и community-строку (Snmp Community). Причем под именем устройства подразумевается его имя на DNS сервере. Если у вас его нет, то в поле Device Name нужно внести IP-адрес хоста. Чтобы найти добавленное устройство в простейшем случае можно нажать на пункт меню «Device List», который, как можно догадаться, выведет полный список хостов, за которыми осуществляется мониторинг.
Пример 1. Мониторим Windows сервер [3].
В первую очередь на Windows сервере требуется установить протокол SNMP. Для этого идем в Панель управления, далее «Установка и удаление программ», после чего жмем «Установка компонентов Windows». В появившемся окне выбираем «Средства управления и наблюдения», нажимаем «Состав…», далее отмечаем в списке «Протокол SNMP» и жмем «ОК» для запуска установки.
После окончания установки следует настроить службу SNMP, для чего идем в ее свойства (она так и называется в списке служб Windows «Служба SNMP»). На вкладке «Ловушки» в поле «Имя сообщества» введем community-строку (например: public), а в список «Адреса назначения ловушки» добавим IP адрес нашего Zenoss сервера. Затем идем на вкладку «Безопасность», снимаем флажок с «Посылать ловушку проверки подлинности». Далее добавляем community-строку с правами доступа (например: READ ONLY), нажимаем «ОК» и перезапускаем службу.
Теперь, когда мы настроили SNMP на Windows сервере, мы можем добавить его в Zenoss как это было показано выше.
Пример 2. Мониторим FreeBSD сервер.
В данном примере мониторить будем машину, на которой собственно и установлен сам Zenoss. Net-SNMP у нас уже есть, остается только внести изменения в конфиг-файл. Но для начала добавим следующие строки в /etc/rc.conf, чтобы snmpd запускался при старте системы:
snmpd_enable="YES"
snmpd_flags="-a -p /var/run/snmpd.pid"
Затем создаем файл /usr/local/etc/snmp/snmpd.conf и добавляем в него следующую строку:
rocommunity public 10.0.0.102
Здесь rocommunity означает, что мы открываем доступ только для чтения, далее идет community-строка, а в конце IP- адрес c которого разрешен доступ (в моем случае это адрес ПК на котором стоит Zenoss).
Теперь запустим snmpd:
[zenoss@ns ~]$ /usr/local/etc/rc.d/snmpd start
После чего добавляем FreeBSD сервер в Zenoss:
Кстати, для более тщательной настройки snmpd.conf можно использовать утилиту конфигурирования snmpconf (за более подробной информацией обращайтесь в man snmpconf).
Пример 3. Мониторим коммутатор cisco.
Для простейшего мониторинга коммутатора cisco (в моем случае это 2900XL) пропишем community-строку с правами доступа READONLY:
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#snmp
Switch(config)#snmp-server com
Switch(config)#snmp-server community pubic RO
Switch(config)#exit
Switch#
Далее добавляем коммутатор в Zenoss и наблюдаем следующую картину:
Если перейти на вкладку OS, то можно получить информацию по интерфейсам:
Пример 4. Настройка оповещения [3].
Кроме того, что Zenoss позволяет визуально наблюдать ситуацию, происходящую с сетевыми устройствами, в нем также предусмотрена возможность оповещения пользователей по e-mail. Попробуем ее настроить.
В первую очередь нужно ввести параметры почтового сервера, который будет заниматься отправкой писем. Для этого нажимаем на «Settings» в основном меню и в появившемся окне введем необходимые параметры нашего mail-сервера (IP адрес, порт, пользователь и пароль для авторизации, адрес с которого идет рассылка). Далее идем на вкладку «Users» и выбираем пользователя, которого нужно оповещать. В появившемся окне в поле Email (вкладка «Edit») вводим электронный адрес получателя. После этого отправляемся на вкладку «Alerting Rules» и с помощью выпадающего меню (стрелка в верхнем левом углу) создаем новое правило для оповещений:
В окне настроек только что созданного правила на вкладке «Edit»: Action ставим Email, Enabled – True, а Severity ставим Warning и нажимаем Save. Теперь при возникновении событий уровня Warning и выше на почтовый ящик пользователя будет приходить уведомления об этом.
Кстати, я пробовал настраивать связку почтового сервера mail.ru и email2sms сервиса своего оператора сотовой связи. После чего все сообщения стали приходить мне на мобильный телефон.
Список источников:
1. Инструкция на zenoss.org
2. Ошибки при сборке
3. Статья "Zenoss и искусство сетевого мониторинга"
размещено: 2009-09-28,
последнее обновление: 2009-10-02,
автор: VolanDd-k, 2009-10-07 в 15:39:51
Давно искал что-то подобное, надо будет попробовать. Спасибо за статью:))
APS, 2009-10-23 в 10:22:14
Обнаруженный косяк: при смене дефолтного пароля юзера admin при установке надо потом руками поменять пароль в /usr/local/zenoss/etc/hubpasswd
VolanD, 2009-10-23 в 16:11:19
Уважаемый APS, распишите, пожалуйста, подробнее какая у вас возникла проблема и как вы ее решили. А то я разобрал свой стенд)))
APS, 2009-10-26 в 13:24:42
беру свои слова обратно... пароль можно не трогать, это просто zenoss долго раскачивался, по ходу... вот только пришлось сделать chmod 07777 /usr/local/zenoss/bin/zensocket, c 04750 не заработало.... и еще export LD_PRELOAD=/lib/libcrypto.so.5 в zenfunctions... статья по делу, молодец... я уже все свои серваки перевел на zenoss, как-то больше пришелся по душе, чем кактус..... ;-)
St1tch, 2009-10-28 в 17:00:20
Спасибо за статью. Много нервов сэкономила. Не думали на счет заапплаить это зеносс комьюнити ? У мну такая идея пришла, но авторство то ваше =)
d-k, 2009-12-29 в 15:22:30
Долго ковырял, но так и не заставил рисовать графики:((
VolanD, 2009-12-29 в 15:36:03
Предлагаю перейти по ссылке http://forum.lissyara.su/viewtopic.php?t=20777 и подробней описать возникшую проблему (желательно с картинками)
ehtacl, 2010-03-24 в 13:13:43
для успешного Backup средсвами zenoss, нужно создать папку /usr/local/zenoss/ZenPacks
fox, 2010-04-22 в 3:28:44
О, парень... чувствую что ты с линуха пересел, не так ли?
Может твоя Фича в реальном времени мониторить трафик проходящий через BSD сервер?alkor, 2012-01-31 в 12:06:08
FreeBSD al 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
в системе много разных пакетов установлено.
Ошибка 5. Текст ошибки:
gmake: *** [wmi-install] Error 2
unable to build zenoss and prerequisites, see zenbuild.log
проверил пакеты по списку
libgmp-4.2.4 - не нужен (он и не устанавливался с портов)
удалил лишние пакеты старых версий
переустановил и заработало.
alkor, 2012-02-02 в 17:42:12
для автосканирования и построения карты сети правим скрипт
/usr/local/zenoss/bin/zendisc
. $ZENHOME/zenoss-2.4.5/libzenoss/bin/zenfunctions
. $ZENHOME\zenoss-2.4.5/libzenoss/bin/zenfunctions
и т.д. проверяем пути.
BuZZ, 2013-09-23 в 14:28:41
Где его скачать то можно?
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [12 шт.]