Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
sborka_iz_isxodnikov [2014/10/06 18:21]
ansealk
sborka_iz_isxodnikov [2014/10/06 18:21] (текущий)
Строка 1: Строка 1:
 +====== Собираем Zabbix из исходников ======
 +
 +===== Почему не готовые пакеты?​ =====
 +Бытует мнение,​ что сборка из исходников - это для "​гиков"​ или "​программистов"​. На самом деле, при использовании современных дистрибутивов все обстоит совсем не так. В большинстве случе при сборке от Вас не потребуется знаний программирования. Также, собрать и установить программу из исходников зачастую лучше, чем устаовить ее же из готовых пакетов. Плюсов несколько:​
 +  - **Функционал**.При сборке пакетов используются далеко не вс нужные нам опции. Более того, вероятнее всего будут включены некоторые параметры,​ которыми Вы вообще никогда не воспользуетесь. Оно Вам надо?)
 +  - **Стабильность и скорость работы.** Собраная Вами программа будет работать стабильнее,​ и вероятно быстрее,​ чем та же программа установленная из пакета. Причина проста - при сборке будет учитываться именно Ваше окружение и наличные у Вас ресурсы,​ а не ресурсы,​ на которых собирался пакет перед включением его в репозиторий.
 +  - **Гибкость.** Собранный Вами пакет Вы легко сможете изменить(например добавить туда несколько недостающих функций,​ если они вдруг Вам понадобятся). Сделать же это на готовом пакете обычно затруднительно.
 +
 +===== Соглашение =====
 +  - Договоримся,​ что сборку и установку будет производить на системе Ubuntu Server 14.04. Вы можете использовать любую другую,​ но в таком случае может измениться набор пакетов,​ необходимых для установки,​ команда добавления автозапуска и еще некоторые мелочи). В основном - процесс установк не изменится
 +  - У нас есть в распоряжении чистая система с уже установленным LAMP-Сервером.
 +
 +===== Предустановочная подготовка =====
 +
 +==== Создадим пользователя ====
 +Создаем пользователя zabbix: <code bash>​groupadd zabbix
 +useradd -g zabbix zabbix</​code>​
 +
 +==== Устанавливаем SNMP ====
 +//Этот пункт можно пропустить,​ если Вы не собираетесь использовать SNMP-мониторинг//​
 +  - Устанавливаем сервер,​ килент и утилиты для SNMP: <code bash>​apt-get install snmp snmpd snmp-mibs-downloader</​code>​
 +  - Закомментируем в файле **/​etc/​snmp/​snmp.conf** строку **mibs:**. Должно получиться <​code>#​mibs :</​code>​
 +  - Правим файл **/​etc/​snmp/​snmp.conf**:​ Находим строку <​code>​agentAddress agentAddress ​ udp:​127.0.0.1:​161</​code>​ и изменяем ее следующим образом:​ <​code>​agentAddress udp:​161,​udp6:​[::​1]:​161</​code>​
 +  - Перезапустим демона snmpd: <code bash>​service snmpd restart</​code>​
 +
 +==== Доустанавливаем необходимые пакеты ====
 +<code bash>
 +apt-get install gcc ntp libmysqld-dev libxml2-dev libsnmp-dev libssh-dev \
 +libssh2-1-dev libssh2-php libcurl4-openssl-dev libopenipmi-dev unixodbc-dev \
 +libiksemel-dev make
 +</​code>​
 +
 +===== Собираем и устанавливаем сервер и агента =====
 +
 +  - Загрузим последнюю версию исходинков с сайта Zabbix http://​www.zabbix.com/​download.php и положим ее в каталог /usr/src
 +  - Распакуем архив и перейдем в каталог с исходниками:<​code bash>
 +cd /usr/src
 +tar xvfz zabbix-2.4.0.tar.gz
 +cd zabbix-2.4.0
 +</​code>​
 +  - Запустим скрипт конфигурации <code bash>
 +./configure --enable-server --enable-agent --with-mysql --with-net-snmp \
 +--with-libcurl --with-libxml2 --with-ssh2 --enable-proxy --with-openipmi \
 +--with-unixodbc --with-jabber --with-ldap
 +</​code>​ В результате выполения в случае удачи Вы увидите примерно следующию информацию:<​file>​
 +Configuration:​
 +
 +  Detected OS:           ​linux-gnu
 +  Install path:          /usr/local
 +  Compilation arch:      linux
 +
 +  Compiler: ​             gcc
 +  Compiler flags: ​       -g -O2  -I/​usr/​include/​mysql -DBIG_JOINS=1 ​ -fno-strict-aliasing ​  -g -DNDEBUG ​    ​-I/​usr/​include/​libxml2 ​  ​-I/​usr/​local/​include -I/​usr/​lib/​perl/​5.18/​CORE -I. -I/​usr/​include -I/​usr/​include -I/​usr/​include -I/​usr/​include  ​
 +
 +  Enable server: ​        yes
 +  Server details:
 +    With database: ​        MySQL
 +    WEB Monitoring: ​       cURL
 +    Native Jabber: ​        yes
 +    SNMP:                  yes
 +    IPMI:                  yes
 +    SSH:                   yes
 +    ODBC:                  yes
 +    Linker flags: ​         -rdynamic ​     -L/​usr/​lib/​x86_64-linux-gnu ​       -L/​usr/​lib/​x86_64-linux-gnu -L/usr/lib -L/usr/lib -L/​usr/​lib ​ -L/​usr/​lib/​x86_64-linux-gnu
 +    Libraries: ​            -lm -ldl  -lresolv ​   -lmysqlclient ​    ​-liksemel -lxml2 ​ -lodbc ​ -lnetsnmp -lcrypto -lm -lcrypto -lssh2 -lOpenIPMI -lOpenIPMIposix -lldap -llber ​  ​-lcurl
 +
 +  Enable proxy: ​         yes
 +  Proxy details:
 +    With database: ​        MySQL
 +    WEB Monitoring: ​       cURL
 +    SNMP:                  yes
 +    IPMI:                  yes
 +    SSH:                   yes
 +    ODBC:                  yes
 +    Linker flags: ​         -rdynamic ​     -L/​usr/​lib/​x86_64-linux-gnu ​      ​-L/​usr/​lib/​x86_64-linux-gnu -L/usr/lib -L/usr/lib -L/​usr/​lib ​ -L/​usr/​lib/​x86_64-linux-gnu
 +    Libraries: ​            -lm -ldl  -lresolv ​   -lmysqlclient ​    ​-lxml2 ​ -lodbc ​ -lnetsnmp -lcrypto -lm -lcrypto -lssh2 -lOpenIPMI -lOpenIPMIposix -lldap -llber ​  ​-lcurl
 +
 +  Enable agent: ​         yes
 +  Agent details:
 +    Linker flags: ​         -rdynamic ​   -L/​usr/​lib ​ -L/​usr/​lib/​x86_64-linux-gnu
 +    Libraries: ​            -lm -ldl  -lresolv ​  ​-lldap -llber ​  ​-lcurl
 +
 +  Enable Java gateway: ​  no
 +
 +  LDAP support: ​         yes
 +  IPv6 support: ​         no
 +
 +***********************************************************
 +*            Now run 'make install' ​                      *
 +*                                                         *
 +*            Thank you for using Zabbix! ​                 *
 +*              <​http://​www.zabbix.com> ​                   *
 +***********************************************************
 +</​file>​
 +  - Создадим ссылки на конфигурациооные файлы <code bash>ln -s /​usr/​local/​etc/​ /​etc/​zabbix</​code>​
 +  - Скопируем веб-интерфейс в каталог Apache:<​code bash>
 +cp -R /​usr/​src/​zabbix-2.4.0/​frontends/​php/​* /​var/​www/​html
 +chown -R www-data:​www-data /var/www/
 +</​code>​
 +  - Создадим скрипты запуска для сервера и агента:<​code bahs> ​
 +ln -s /​usr/​src/​zabbix-2.4.0/​misc/​init.d/​debian/​zabbix-agent /​etc/​init.d/​zabbix-agent
 +ln -s /​usr/​src/​zabbix-2.4.0/​misc/​init.d/​debian/​zabbix-server /​etc/​init.d/​zabbix-server
 +chmod o+x /​etc/​init.d/​zabbix-*
 +update-rc.d zabbix-agent defaults
 +update-rc.d zabbix-server defaults
 +</​code>​ //​Обратите внимание://​ несмотря на то, что у нас Ubuntu, скрипты запуска мы берем из Debian
 +  - Создадим базу данных<​code sql>
 +mysql -uroot -pПАРОЛЬ
 +mysql> ​ CREATE DATABASE `zabbix` CHARACTER SET utf8 COLLATE utf8_general_ci;​
 +mysql>​quit
 +</​code>​
 +  - Зальем данные в базу:<​code bash>
 +mysql -uroot -pПАРОЛЬ zabbix </​usr/​src/​zabbix-2.4.0/​database/​mysql/​schema.sql
 +mysql -uroot -pПАРОЛЬ zabbix </​usr/​src/​zabbix-2.4.0/​database/​mysql/​data.sql
 +mysql -uroot -pПАРОЛЬ zabbix </​usr/​src/​zabbix-2.4.0/​database/​mysql/​images.sql
 +</​code>​
 +  - В файле /​etc/​php5/​apache2/​php.ini меняем значение следующих параметров:<​code php>
 +post_max_size=16M
 +max_execution_time=300
 +max_input_time=300
 +timezone=Europe/​Moscow
 +</​code>​
 +  - Перезапускаем веб-сервер:​ <code bash>​service apache2 restart</​code>​
 +
 +===== Настраиваем сервер перед первым запуском =====
 +  - Редактируем конфиг-файл сервера **/​etc/​zabbix/​zabbix-server.conf**. Устанавливаем значение следующих параметров:​ <file conf>
 +ListenPort=10051
 +DBName=zabbix
 +DBUser=root ​                  ; Это тот пользователь,​ под которым подключались в базу
 +DBPassword=ПАРОЛЬ ​            ; Это тот пароль,​ под которым подключались в базу
 +StartIPMIPollers=1 ​           ; Меняем только если у нас есть IPMI-узлы для мониторинга
 +StartSNMPTrapper=1 ​           ; Меняем только если у нас есть узлы, работающие с SNMP-Trap
 +FpingLocation=/​usr/​bin/​fping ​ ; В Ubuntu fping лежит в /usr/bin
 +AllowRoot=1 ​                  ; Если хотим дать возможность запускать команды на сервере из-под рута
 +</​file>​
 +  - Запустим zabbix-server <code bash> service zabbix-server start </​code>​
 +  - Через Веб-браузер заходим по адресу [[http://​адрес-нашего-zabbix-сервера/​]] и выполнчем окончательное конфигурирование сервера,​ используя параметры,​ введенные нами выше
 +  - Входим на сервер через веб-интерфейс. Логин **admin**, пароль **zabbix**
 +
 +===== Настраиваем агента =====
 +  - Редактируем конфиг-файл агента **/​etc/​zabbix/​zabbix-agentd.conf**. Устанавливаем значение следующих параметров:​ <file conf>
 +Server=127.0.0.1 ​        ; Для агента на другом компьютере укажем адрес сервера
 +ServerActive=127.0.0.1 ​  ; Для агента на другом компьютере укажем адрес сервера,​ обрабатывающего данные с активных датчиков
 +Hostname=zabbix ​         ; Имя хоста. Для активных запросов должно совпадать с именем хоста на сервере.
 +ListenPort=10050
 +EnableRemoteCommands=0 ​  ; Разрешим серверу удаленно выполнять команды на клиенте
 +AllowRoot=1 ​             ; Если хотим дать возможность запускать команды через агента из-под рута
 +</​file>​
 +  - Запустим zabbix-agent <code bash> service zabbix-agent start </​code>​
  
sborka_iz_isxodnikov.txt · Последние изменения: 2014/10/06 18:21 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика