Установка Zabbix из исходников в FreeBSD
ZABBIX — свободная система для мониторинга сети и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым на C (сервер), PHP (веб-интерфейс), Java (Java gateway).
Можно выделить 2 очень хороших сервиса для мониторинга:
Nagios
Zabbix
Что можно сказать по поводу Nagios.
Достоинства Nagios:
1. Все настройки сохраняются в файлы конфигур;
2. Мониторинг осуществляется с помощью плагинов;
3. Плагины в основе архитектуры.
Чем хорош Nagios:
1. Простота написания конфигураций файлов. С легкостью конфигурируются с использованием многих программ;
2. Можно писать комментарии с датой ( что очень нужно и полезно);
3. Есть много плагинов на все случаи жизни, даже от разных программистов.
Что можно сказать по поводу Zabbix.
Достоинства Zabbix:
1. Все конфиги а так же вся история сохранены в БД;
2. Мониториться все через постоянно запущенного сервис;
Чем хорош Zabbix:
1. Конфигурируеться через хороший интерфейс и с использованием API;
2. Все настройки сохранены в БД и изменения применяются мгновенно;
3. Встроенные богатые средства визуализации;
4. Поддержка JMX и мониторинг с сохранениями в логи в базовой поставке;
5. Крутая поддержка юзерских параметров(порогов, оповещений, реакций);
6. Много уже готовых решений в Zabbix.
Недостатки я не буду рассматривать. Могу отметить то что эти 2 мониторинга очень крутые, выбирать вам что вы будите юзать. Я рассмотрю именно заббекс, позже думаю установлю и нагиОС ( чтобы самому сделать сравнения). И так начнем Установка Zabbix из исходников в FreeBSD:
Создадим юзера для того чтобы из под него можно было запустить заббикс и добавим его в группу:
# pw groupadd zabbix # pw useradd zabbix -c "zabbix Server" -d /dev/null -g zabbix -s /sbin/nologin
После этого необходимо создать БД, сделать можно несколькими способами:
shell> mysql -u<uname> -p<pass> mysql -u root -p captain mysql> create database zabbix character set utf8; mysql> quit; shell> mysql -u<uname> -p<pass> zabbix < database/mysql/schema.sql mysqldump -u zabbix -p zabbix < schema.sql # остановитесь здесь, если вы создаете базу данных для Zabbix прокси shell> mysql -u<uname> -p<pass> zabbix < database/mysql/images.sql shell> mysql -u<uname> -p<pass> zabbix < database/mysql/data.sql
Кто не понял что написано выше, опишу более подробно:
# mysql -u root -p -> CREATE DATABASE zabbix; -> GRANT ALL ON zabbix.* TO zab IDENTIFIED BY 'PASS'; -> FLUSH PRIVILEGES; -> quit;
# cat /usr/local/src/zabbix/zabbix-2.2.2/database/mysql/schema.sql | mysql -u root -p zabbix # cat /usr/local/src/zabbix/zabbix-2.2.2/database/mysql/images.sql | mysql -u root -p zabbix # cat /usr/local/src/zabbix/zabbix-2.2.2/database/mysql/data.sql | mysql -u root -p zabbix
Если кому то И это не понятно, то поставьте и используйте phpmyadmin ( мне удобней так!), по этому Вы выбираете как это лучше вам сделать и выполняете.
Заходим на офф сайт и качаем последнюю версию исходников, я буду использовать Zabbix Sources 2.2.2:
# cd /usr/local/src/ && mkdir zabbix && cd zabbix # wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz/download # mv download zabbix-2.2.2.tar.gz && tar zxf zabbix-2.2.2.tar.gz && cd zabbix-2.2.2
Для просмотра всех доступных опция конфигурирования, выполните в папке извлеченных исходных кодов Zabbix:
# ./configure —help
Для конфигурирования исходников в Zabbix сервера и агента, можете заюзать:
# ./configure —enable-server —enable-agent —with-mysql —enable-ipv6 —with-net-snmp —with-libcurl
Для конфигура исходников в Zabbix сервера (с PostgreSQL и т.д.), вы сможете юзнуть:
# ./configure —enable-server —with-postgresql —with-net-snmp
Для конфигура исходников в Zabbix прокси (с SQLite и т.д.), используйте:
# ./configure —prefix=/usr —enable-proxy —with-net-snmp —with-sqlite3 —with-ssh2
Я буду использовать что то типа этого:
./configure --prefix=/usr/local/zabbix22 --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
И соберем все это добро)) выполнив :
# make install && make clean
Просмотреть и отредактировать файлы конфигов:
1. Отредактируем файл конфигура Zabbix агента, для этого:
# ee/usr/local/etc/zabbix_agentd.conf
Если вы конфигурили по моему, то этот файлик будет лежать(дальше описываю как делал я и какие файлы правил):
# ee /usr/local/zabbix22/etc/zabbix_agentd.conf
В этом конфиг файле необходимо сконфигурить для каждого хоста на котором установлен zabbix_agentd (вы должны указать IP адрес Zabbix сервера. Подключения с остальных хостов будут отклонены).
2.Отредактируем файл конфига Zabbix сервера:
# ee /usr/local/etc/zabbix_server.conf
В моем случае:
# ee /usr/local/etc/zabbix/zabbix_server.conf # /usr/local/zabbix22/etc/zabbix_server.conf
Ищем и расскоментируем все эти строки:
ListenPort=10051 HousekeepingFrequency=2 SenderFrequency=60 DebugLevel=3 Timeout=5 UnreachablePeriod=90 PidFile=/var/tmp/zabbix_server.pid LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=1 AlertScriptsPath=/home/zabbix/bin/ FpingLocation=/usr/local/sbin/fping DBHost=localhost DBName=zabbix DBUser=root DBPassword=captain DBSocket=/tmp/mysql.sock
Все! Больше нечего я не изменял в конфиге! Выложу готовый конфиг попозже, как настрою все себе=)
Я не знаю где этот конфиг должен лежать, прочитал что /usr/local/etc, но для уверенности еще отредактировал точно так же в:
# ee /usr/local/zabbix22/etc/zabbix_server.conf
Если у вас установлен Zabbix прокси, то подредактируйте файл конфигурации Zabbix прокси :
# ee /usr/local/etc/zabbix_proxy.conf
У меня это :
# ee /usr/local/zabbix22/etc/zabbix_proxy.conf
После того как настроили ( поправили) конфиги добавим А-запись для узла в нужную зону вашего DNS-сервере:
# less /etc/namedb/slave/domain.local | grep monitoring
monitoring IN A 192.168.0.1
Добавляем сервис в автозагрузку:
# echo 'zabbix_server_enable=YES' >> /etc/rc.conf
Создадим файлик для лога:
# touch /var/log/zabbix_agentd.log # chown zabbix:zabbix /var/log/zabbix_agentd.log
Запуск демонов:
Запустить zabbix_server на стороне сервера:
# /usr/local/zabbix22/sbin/zabbix_server
Запустите zabbix_agentd на всех наблюдаемых машинах:
# /usr/local/zabbix22/sbin/zabbix_agentd
Если Вы устанавливали Zabbix прокси, то стартаните тоже zabbix_proxy:
# /usr/local/zabbix22/sbin/zabbix_proxy
Проверочка:
# sockstat | grep zabbix
Установка Zabbix из исходников в FreeBSD ЗАВЕРШЕНА! Сейчас установим веб интерфейс ( удобный способ работать с заббиксом):
Все нужные для этого компоненты находятся в папке с сорцами у меня они лежат в /usr/local/src/zabbix/zabbix-2.2.2/frontends/php/ но перед тем как скопировать их, я создам папку и скопирую их туда:
# mkdir /home/captain/www/zabbix # cp -a . /home/captain/www/zabbix
Теперь можно приступать к установке для этого перейдите по пути :
http://your_IP/zabbix/setup.php а, у меня:
ПС: если не помните какой ИП, то смотрите какой ИП указывали в апаче в конфиге httpd.conf в директиве: ServerName.
http://192.168.244.133/zabbix/setup.php
Увидите следующее:
После чего жмем «Next». После чего увидите требованию к сервису и если у Вас все хорошо, увидите следующее:
А если требование не выполнены, то увидите нечто такое как было у меня:
Я нашел требования которые должны удовлетворить наш сервис, посмотреть и ознакомится можно на этой картинке:
Если все это выполнили и работает, жмем «Next» и увидим следующий скрин, на нем нужно ввести БД (которую уже создали и юзера с паролем):
После того как ввели данные жмем как всегда на «некст» и видим следующий скрин на котором Вы должны ввести некоторую информацию( Host, Port, Name):
Нажимаем «Next» и видим пред завершение нашей настройки «Посмотрим результаты настроек»:
После чего качаем файл конфигурации и кидаем его в папку conf/ — как видно по скрину:
На этом наша настройка завершена — поглядим последний скриншот:
Завершающим этапом будет ввод логина и пароля на веб интерфейс zabbix. По умолчанию юзер- Admin, а его пасс- zabbix.
Веб-интерфейс Zabbix готов! Установка Zabbix из исходников в FreeBSD завершена, по этому если есть вопросы и пожелания пишите мне в комментарии, я отвечу по мере возможности и смогу помочь. Спасибо.