3 Инсталација из изворног кода

Најновију верзију Zabbix-а можете добити компајлирањем из изворног кода.

Корак-по-корак водич за инсталирање Zabbix-а из изворног кода је дат овде.

1 Инсталирање Zabbix демона

1 Преузмите архиву са изворним кодом

Идите на страницу за преузимање Zabbix-а и преузмите архиву са изворним кодом. Након преузимања, распакујте изворни код, покретањем:

tar -zxvf zabbix-7.4.0.tar.gz

Унесите исправну верзију Zabbix-а у команду. Мора да се подудара са именом преузете архиве.

2 Креирање корисничког налога

Сви процеси Zabbix демона се покрећу под непривилегованим корисницима система. Ако се Zabbix демон покрене са непривилегованог корисничког налога, наставиће да се покреће под тим корисником.

У подразумеваној конфигурацији, ако се демон покрене као root, пребациће се на zabbix кориснички налог, који мора бити присутан. Да бисте креирали zabbix системског корисника и групу, покрените команде наведене у наставку.

Систем базиран на RedHat-у:

groupadd --system zabbix useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix систем за праћење" zabbix

Систем базиран на Debian-у:

addgroup --system --quiet zabbix adduser --quiet --system --disabled-login --ingroup zabbix --home /var/lib/zabbix --no-create-home zabbix

Нема потребе за креирањем посебног корисничког налога за Zabbix фронтенд.

Безбедносна препорука

Ако Zabbix сервер и агент раде на истој машини, препоручује се да их покренете под одвојеним корисничким налозима. Покретање оба као истог корисника омогућава агенту приступ конфигурационој датотеци сервера, што би могло да открије осетљиве информације - као што је лозинка базе података - било ком кориснику са администраторским нивоом у Zabbix-у.

Покретање Zabbix-а као root, bin или било који други налог са посебним правима представља безбедносни ризик.

Кућни директоријум (опционо)

Zabbix процеси не захтевају кућни директоријум, тако да се његово креирање генерално не препоручује. Међутим, ако вам је потребна функционалност која захтева кућни директоријум (на пример, чување MySQL акредитива у $HOME/.my.cnf), можете га креирати помоћу команди наведених у наставку.

На системима заснованим на RedHat-у, покрените:

mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix chown zabbix:zabbix /usr/lib/zabbix

На системима заснованим на Debian-у, покрените:

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix chown zabbix:zabbix /var/lib/zabbix

3 Креирање Zabbix базе података

За Zabbix сервер и прокси демоне, као и Zabbix кориснички интерфејс, а потребна је база података. Није потребно покренути Zabbix агента.

SQL обезбеђене скрипте за креирање шеме базе података и уметање скупа података. Zabbix прокси бази података треба само шема док база података Zabbix сервера захтева такође скуп података на врху шеме.

Након што сте креирали Zabbix базу података, пређите на следеће кораке компајлирање Zabbix-а.

4 Конфигуришите изворе

C99 са GNU екстензијама је потребан за изградњу Zabbix сервера, Zabbix проксија или Zabbix агента. Ова верзија се може експлицитно навести подешавањем CFLAGS="-std=gnu99":

export CFLAGS="-std=gnu99"

Ако инсталирате из Zabbix Git репозиторијума, прво је потребно покренути:

./bootstrap.sh

Приликом конфигурисања извора за Zabbix сервер или прокси, морате навести тип базе података који ће се користити. Само један тип базе података може бити компилиран са серверским или прокси процесом истовремено.

Да бисте видели све подржане опције конфигурације, унутар издвојеног директоријума изворног кода Zabbix-а покрените:

./configure --help

Да бисте конфигурисали изворе за Zabbix сервер и агента, можете покренути нешто попут:

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-ares

Да бисте конфигурисали изворе за Zabbix сервер (са PostgreSQL-ом итд.), можете покренути:

./configure --enable-server --with-postgresql --with-net-snmp

Да бисте конфигурисали изворе за Zabbix прокси (са SQLite-ом итд.), можете покренути:

./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2

Да бисте конфигурисали изворе за Zabbix агента, можете покрени:

./configure --enable-agent

или, за Zabbix агента 2:

./configure --enable-agent2

За изградњу Zabbix агента 2 потребно је конфигурисано Go окружење са подржаном Go верзијом.

Напомене о опцијама компајлирања:

  • --enable-agent - компајлира Zabbix агента, као и услужне програме командне линије Zabbix get и Zabbix sender.
  • --with-libcurl - потребно за праћење виртуелне машине, SMTP аутентификацију и web.page.* Zabbix агент ставке. Види такође: Захтеви (libcurl).
  • --with-libxml2 - потребно за праћење виртуелне машине.
  • --with-libpcre2[=DIR] - Zabbix се увек компајлира са PCRE2 библиотеком; ова опција дозвољава само навођење прилагођене путање инсталације PCRE2.
  • --with-mysql=/path/to/mysql_config - одређује путању до одређене конфигурације MySQL клијентске библиотеке. Корисно када је инсталирано више верзија MySQL-а или MariaDB-а.
  • --enable-static - статички повезује библиотеке (није подржано на Solaris-у). Користите ово ако планирате да дистрибуирате компајлиране бинарне датотеке на системе без потребних библиотека. Не препоручује се приликом изградње Zabbix сервера. Да би се сервер статички изградио, потребна је статичка верзија сваке екстерне библиотеке. Скрипта за конфигурацију не проверава ово аутоматски.
  • --with-stacksize=<value> - поставља величину стека по нити у килобајтима (нпр., --with-stacksize=512). Можете повећати ову вредност ако се Zabbix сруши или замрзне због препуњавања стека (нпр. током предобраде на системима са ниским подразумеваним ограничењима стека нити).

Ако ./configure не успе због недостајућих библиотека или других проблема, проверите датотеку config.log за детаљне информације о грешци.

На пример, ако недостаје libssl, непосредна порука о грешци може бити обмањујућа:

checking for main in -lmysqlclient... no configure: error: Not found mysqlclient library

У овом случају, config.log открива стварни узрок:

/usr/bin/ld: cannot find -lssl /usr/bin/ld: cannot find -lcrypto

Погледајте такође:

5 Направите и инсталирајте све

Ако инсталирате из Zabbix Git репозиторијума, прво је потребно покренути:

$ make dbschema

make install

Овај корак треба покренути као корисник са довољним дозволама (обично 'root' или коришћењем sudo).

Покретање make install ће подразумевано инсталирати бинарне датотеке демона (zabbix_server, zabbix_agentd, zabbix_proxy) у /usr/local/sbin и бинарне датотеке клијента (zabbix_get, zabbix_sender) у /usr/local/bin.

Да бисте навели другу локацију од /usr/local, користите --prefix кључ у претходном кораку конфигурисања извора, на пример --prefix=/home/zabbix. У овом случају, бинарне датотеке демона ће бити инсталиране под <prefix>/sbin, док ће услужни програми бити под <prefix>/bin. Странице приручника ће бити инсталиране под <prefix>/share.

6 Преглед и уређивање конфигурационих датотека
  • уредите конфигурациону датотеку Zabbix агента /usr/local/etc/zabbix_agentd.conf

Потребно је да конфигуришете ову датотеку за сваки хост на којем је инсталиран zabbix_agentd.

Морате навести IP адресу Zabbix сервера у датотеци. Везе са других хостова ће бити одбијене.

  • уредите конфигурациону датотеку Zabbix сервера /usr/local/etc/zabbix_server.conf

Морате навести име базе података, корисника и лозинку (ако их користите).

Остали параметри ће вам одговарати са својим подразумеваним вредностима ако имате малу инсталацију (до десет праћених хостова). Требало би да промените подразумеване параметре ако желите да максимизирате перформансе Zabbix сервера (или проксија).

  • ако сте инсталирали Zabbix прокси, уредите конфигурациони фајл проксија /usr/local/etc/zabbix_proxy.conf

Морате навести IP адресу сервера и име проксија (морају бити познати серверу), као и име базе података, корисника и лозинку (ако се користе).

Са SQLite-ом, мора бити наведена пуна путања до датотеке базе података; корисник базе података и лозинка нису потребни.

7 Покрените демоне

Покрените zabbix_server на страни сервера.

zabbix_server

Уверите се да ваш систем дозвољава алокацију 36MB (или мало више) заједничке меморије, иначе се сервер можда неће покренути, а ви ћете видети "Cannot allocate shared memory for <type of cache>." у лог датотеци сервера. Ово се може десити на FreeBSD, Solaris 8.

Покрените zabbix_agentd на свим надгледаним машинама.

zabbix_agentd

Уверите се да ваш систем дозвољава доделу 2MB заједничке мемориеа, иначе се агент можда неће покренути и видећете "Cannot allocate shared memory for collector." у лог датотеци агента. Ово се може догодити на Solaris-у 8.

Ако сте инсталирали Zabbix прокси, покрените zabbix_proxy.

zabbix_proxy

2 Инсталирање Zabbix веб интерфејса

Копирање PHP датотека

Zabbix кориснички интерфејс је написан у PHP-у, тако да је за његов рад потребан веб сервер са подржаним PHP-ом. Инсталација се врши једноставним копирањем PHP датотеке из директоријума корисничког интерфејса у директоријум HTML докумената веб сервера.

Заједничке локације директоријума HTML докумената за Apache веб сервере укључују:

  • /usr/local/apache2/htdocs (подразумевани директоријум када инсталирате Apache из извора)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Debian, Ubuntu, Fedora, RHEL)

Препоручује се коришћење поддиректоријума уместо HTML корена. За креирање поддиректоријум и копирање Zabbix датотеке корисничких интерфејса у њега, извршите следеће команде, замењујући одговарајући директоријум:

mkdir <htdocs>/zabbix cd ui cp -a . <htdocs>/zabbix

Ако планирате да користите било који други језик осим енглеског, погледајте Инсталација додатних језика за кориснички интерфејс за инструкције.

Инсталирање корисничког интерфејса

Погледајте Инсталацију веб интерфејса страницу за информације о чаробњаку за инсталацију Zabbix корисничког интерфејса.

3 Инсталирање Java gateway-а

Потребно је инсталирати Java gateway само ако желите да пратите JMX апликације. Java gateway је лаган и не захтева базу података.

Да бисте инсталирали из изворног кода, прво преузмите и извуците архиву са изворним кодом.

Да бисте компајлирали Java gateway, покрените скрипту ./configure са опцијом --enable-java. Препоручљиво је да наведете опцију --prefix да бисте захтевали путању инсталације која није подразумевана /usr/local, јер ће инсталирање Java gateway-а креирати цело стабло директоријума, а не само једну извршну датотеку.

./configure --enable-java --prefix=$PREFIX

Да бисте компајлирали и спаковали Java gateway у JAR датотеку, покрените make. Имајте на уму да ће вам за овај корак бити потребне извршне датотеке javac и jar у вашој путањи.

make

Сада имате датотеку zabbix-java-gateway-$VERSION.jar у src/zabbix_java/bin. Ако вам је удобно да покрећете Java gateway из src/zabbix_java у дистрибутивном директоријуму, онда можете прећи на упутства за конфигурисање и покретање Java gateway. У супротном, уверите се да имате довољно привилегија и покрените make install.

make install

Пређите на setup за више детаља о конфигурисању и покретању Java gateway-а.

4 Инсталирање Zabbix веб сервиса

Инсталирање Zabbix веб сервиса је потребно само ако желите да користите планиране извештаје.

Да инсталирате из извора, прво преузмите и распакујте изворну архиву.

Да бисте компајлирали Zabbix веб сервис, покрените скрипту ./configure са --enable-webservice опцијом.

За изградњу Zabbix веб сервиса потребно је конфигурисано Go окружење са подржаном Go верзијом.

Покрените zabbix_web_service на машини, где је веб сервис инсталиран:

zabbix_web_service

За више детаља идите на подешавање. о конфигурисању генерисања планираних извештаја.