Мониторинг IT-инфраструктуры с Zenoss Core ч.1

Итак, чтоже такое Zenoss? Zenoss это система мониторинга сетевой инфраструктуры распространяемая под лицензией GPL. Существует две версии этого продукта - коммерческий - Zenoss Enterprise и свободный - Zenoss Core, разница которых состоит в наличии официальной поддержки и дополнительных модулей для Enterprise.

Возможности системы:
- мониторинг сетевых устройств с помощью SNMP, SSH, WMI, JMX, Ping/ICMP, Syslog
- Мониторинг сетевых сервисов HTTP, POP3, NNTP, SNMP, FTP
- мониторинг системных ресурсов различных операционных систем (по крайне мере на Windows, Linux, FreeBSD проверил, на MacOS не пробовал)
- мониторинг производительности устройств
- система оповещения с настраиваемыми событиями, реакцией и обнаружением взаимосвязи
- возможность расширения функциональности за счет плагинов ZenPack и плагинов системы мониторинга Nagios
 
В списке плагинов ZenPacks, доступных на сайте доступно множество плагинов для таких устройств  - APC, Dell, Cisco и т.д, сервисов  - Asterisk, VMware, MySQL, Microsoft IIS и много другого.
 
Рекомендованные системные требования для сервера:
    Сеть до 250 устройств -  память 4 GB,  процессор Core 2 Duo E6300 1.86/1066 RTL, дисковое пространство 75 GB (надо понимать, что если устройств будет 25-30, то требования будут гораздо ниже) 
 
    Сеть более 250 устройств - память 8 GB, процессор XEON 5120 DC 1.86/1066/4MB, четыре диска по 75 Гб в паре массивов RAID-1
 
ОС - Linux, FreeBSD, Solaris/OpenSolaris, Mac OS X или VMware Appliance.
 
Согласно руководства для мониторинга на клиентах ничего устанавливать не надо, но если мы будем мониторить по snmp, то по-краней мере на Unix-like системах необходимо установить клиента snmp (например net-smnp), а на windows системах - SNMP-Informant
 
Поддерживаются все основные виды браузеров (разработчики гарантируют полную работоспособность на Firefox 3, 4 и 5, Internet Explorer 7, 8 и 9, частичную Chrome, Opera, Safari 3 и 4). Не знаю почему частичную, но по краней мере в Chrome 13 и Rekonq он работает стабильно.
 
Русская локализация для данной системы отсутствует, но учитывая ее специфику, она в принципе и не нужна. Если кому-то интересно провести локализацию самостоятельно, то она ничем не отличается от локализации других проектов. При наличии интереса, в будущем могу написать статью на эту тему.
 
Итак устанавливать будем на Ubuntu 11.04.
 
Установливаем snmp - 
sudo apt-get install snmp snmpd
Создаём конфиг для snmpd -
sudo mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.original
sudo nano /etc/snmp/snmpd.conf
Добавляем туда -
syslocation  Servernaja
syscontact  “Adminstrator <admin@domain.loc>”
rocommunity  public 127.0.0.1
disk / 
disk /home 
Перезапускаем snmpd:
sudo /etc/init.d/snmpd restart
 
Проверяем - 
snmpwalk -v2c -c public 127.0.0.1 system
И тут меня ждал сюрприз - 
system: Unknown Object Identifier (Sub-id not found: (top) -> system)
 
Оказывается все Mib'ы были выпилены из дистрибутива, решается -
sudo aptitude install snmp-mibs-downloader
sudo sed -i "s/^\(mibs *:\).*/#\1/" /etc/snmp/snmp.conf
 
Еще раз проверяем, 
snmpwalk -v2c -c public 127.0.0.1 system
если все гуд, значит переходим к установке самого Zenoss.
 
Прошу обратить внимание, что данная настройка snmp не является безопасной, и приведена для примера, для более тонкой настройки прошу обратиться к документации по SNMP.
 
Установка Zenoss возможна несколькими способами:
 
По старым мануалам можно было установить из репозитория (deb http://dev.zenoss.org/deb main stable), но на момент написания статьи данный репозиторий был не доступен.
 
Таким образом остается два варианта, 1 установка через бинарный инсталятор (.bin), 2 через deb-пакет.
 
Мы быдем устанавливать по первому варианту.
Скачиваем пакет - 
wget http://downloads.sourceforge.net/zenoss/zenoss-stack-3.2.0-linux.bin
Даем права на запись -
chmod +x zenoss-stack-3.2.0-linux.bin
И запускаем на выполнение -
sudo ./zenoss-stack-3.2.0-linux.bin

Прошу обратить внимание, что по-умолчанию установщик ставит свою копию mysql и соответсвенно запрашивает пароль рута для этой копии. Конфиг находится /usr/local/zenoss/mysql/my.cnf.

На этом установка завершена.
 
В процессе установки у нас создается пользователь zenoss, под которым и работают все сервисы, устанавливается копия python 2.6, mysql и пр.
 
В текстовом режиме установка идентична, для запуска в текстовой режиме можно использовать ключ --mode=text.
 
По умолчанию используется порт 8080, если он свободен то скрипт установки не выдаст запрос, если необходимо указать другой номер порта, установка можно запустить с ключом --zope_server_port.
 
Проверяем нужный нам порт:
netstat -ant | grep 8080
Если не прослушивается, то запускаем Zenoss :
sudo service zenoss-stack start
 
Для входа открываем браузер и переходим http://ip-адрес:8080 (на локальной машине http://localhost:8080)

 

На этапе предварительной настройки необходимо пройти всего два шага, это задать пароль администратора и создать учетную запись пользователя - 
Второй шаг позволяет добавить устройства для мониторинга, в качестве примера я добавил одно устройство, но предпочитаю добавлять уже после окончательной настройки сервера. На этом шаге доступны два варианта ручной и автоматический поиск. В первом случае необходимо указать имя или IP-адрес хоста и в окне справа выбрать тип SNMP (Linux Server, Windows Server или Generic Switch/Route).
 
В случае автоматического поиска устройств необходимо задать диапазон IP адресов, указать пароль root для доступа к Unix-системам через SSH или пароль администратора Windows. Локальная система будет добавлена автоматически. Также имеется возможность отказаться от добавления устройств на этом этапе - 

Также интересно:

 

После чего попадаем на панель Zenoss -
 
На этом я заканчиваю первую часть статьи. Во второй части рассмотрим настройку snmp для клиентов, интерфейс zenoss, плагины и другие возможности системы.
 
Немного пояснений:
Если автозапуск не происходит, то необходимо добавить:
sudo update-rc.d zenoss-stack enable S
 
В правилах межсетевого экрана необходимо открыть порты 8080(вэб-интерфейс Zenoss), 514 (Syslog), 162 (SNMP), 22 (SSH)
 
На удаленных хостах должны быть открыты порты 22 (SSH) и 161 (SNMP).
 
При использовании deb-пакета - 
wget http://downloads.sourceforge.net/zenoss/zenoss-stack_3.2.0_i386.deb
sudo dpkg -i ./zenoss-stack_3.2.0_i386.deb
 

 

Интересное на сайте: 
0
Голосов пока нет