Собираем Zabbix из исходников

Почему не готовые пакеты?

Бытует мнение, что сборка из исходников - это для «гиков» или «программистов». На самом деле, при использовании современных дистрибутивов все обстоит совсем не так. В большинстве случе при сборке от Вас не потребуется знаний программирования. Также, собрать и установить программу из исходников зачастую лучше, чем устаовить ее же из готовых пакетов. Плюсов несколько:

  1. Функционал.При сборке пакетов используются далеко не вс нужные нам опции. Более того, вероятнее всего будут включены некоторые параметры, которыми Вы вообще никогда не воспользуетесь. Оно Вам надо?)
  2. Стабильность и скорость работы. Собраная Вами программа будет работать стабильнее, и вероятно быстрее, чем та же программа установленная из пакета. Причина проста - при сборке будет учитываться именно Ваше окружение и наличные у Вас ресурсы, а не ресурсы, на которых собирался пакет перед включением его в репозиторий.
  3. Гибкость. Собранный Вами пакет Вы легко сможете изменить(например добавить туда несколько недостающих функций, если они вдруг Вам понадобятся). Сделать же это на готовом пакете обычно затруднительно.

Соглашение

  1. Договоримся, что сборку и установку будет производить на системе Ubuntu Server 14.04. Вы можете использовать любую другую, но в таком случае может измениться набор пакетов, необходимых для установки, команда добавления автозапуска и еще некоторые мелочи). В основном - процесс установк не изменится
  2. У нас есть в распоряжении чистая система с уже установленным LAMP-Сервером.

Предустановочная подготовка

Создадим пользователя

Создаем пользователя zabbix:

groupadd zabbix
useradd -g zabbix zabbix

Устанавливаем SNMP

Этот пункт можно пропустить, если Вы не собираетесь использовать SNMP-мониторинг

  1. Устанавливаем сервер, килент и утилиты для SNMP:
    apt-get install snmp snmpd snmp-mibs-downloader
  2. Закомментируем в файле /etc/snmp/snmp.conf строку mibs:. Должно получиться
    #mibs :
  3. Правим файл /etc/snmp/snmp.conf: Находим строку
    agentAddress agentAddress  udp:127.0.0.1:161

    и изменяем ее следующим образом:

    agentAddress udp:161,udp6:[::1]:161
  4. Перезапустим демона snmpd:
    service snmpd restart

Доустанавливаем необходимые пакеты

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

Собираем и устанавливаем сервер и агента

  1. Загрузим последнюю версию исходинков с сайта Zabbix http://www.zabbix.com/download.php и положим ее в каталог /usr/src
  2. Распакуем архив и перейдем в каталог с исходниками:
    cd /usr/src
    tar xvfz zabbix-2.4.0.tar.gz
    cd zabbix-2.4.0
    
  3. Запустим скрипт конфигурации
    ./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
    

    В результате выполения в случае удачи Вы увидите примерно следующию информацию:

    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>                    *
    ***********************************************************
  4. Создадим ссылки на конфигурациооные файлы
    ln -s /usr/local/etc/ /etc/zabbix
  5. Скопируем веб-интерфейс в каталог Apache:
    cp -R /usr/src/zabbix-2.4.0/frontends/php/* /var/www/html
    chown -R www-data:www-data /var/www/
    
  6. Создадим скрипты запуска для сервера и агента:
     
    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
    

    Обратите внимание: несмотря на то, что у нас Ubuntu, скрипты запуска мы берем из Debian

  7. Создадим базу данных
    mysql -uroot -pПАРОЛЬ
    mysql>  CREATE DATABASE `zabbix` CHARACTER SET utf8 COLLATE utf8_general_ci;
    mysql>quit
    
  8. Зальем данные в базу:
    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
    
  9. В файле /etc/php5/apache2/php.ini меняем значение следующих параметров:
    post_max_size=16M
    max_execution_time=300
    max_input_time=300
    timezone=Europe/Moscow
    
  10. Перезапускаем веб-сервер:
    service apache2 restart

Настраиваем сервер перед первым запуском

  1. Редактируем конфиг-файл сервера /etc/zabbix/zabbix-server.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                   ; Если хотим дать возможность запускать команды на сервере из-под рута
  2. Запустим zabbix-server
     service zabbix-server start 
  3. Через Веб-браузер заходим по адресу http://адрес-нашего-zabbix-сервера/ и выполнчем окончательное конфигурирование сервера, используя параметры, введенные нами выше
  4. Входим на сервер через веб-интерфейс. Логин admin, пароль zabbix

Настраиваем агента

  1. Редактируем конфиг-файл агента /etc/zabbix/zabbix-agentd.conf. Устанавливаем значение следующих параметров:
    Server=127.0.0.1         ; Для агента на другом компьютере укажем адрес сервера
    ServerActive=127.0.0.1   ; Для агента на другом компьютере укажем адрес сервера, обрабатывающего данные с активных датчиков
    Hostname=zabbix          ; Имя хоста. Для активных запросов должно совпадать с именем хоста на сервере.
    ListenPort=10050
    EnableRemoteCommands=0   ; Разрешим серверу удаленно выполнять команды на клиенте
    AllowRoot=1              ; Если хотим дать возможность запускать команды через агента из-под рута
  2. Запустим zabbix-agent
     service zabbix-agent start 
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 Яндекс.Метрика