Ова страница приказује како се изгради Zabbix агент из изворног кода на Windows 10 (64-битни).
Ова упутства се односе на верзије Windows-а које подржавају Visual Studio 2022.
За изградњу Zabbix агента потребно је:
Zabbix агент можете изградити користећи једну од следећих метода:
У зависности од ваших потреба за праћењем, могу бити потребне додатне библиотеке. За више информација, погледајте Захтеви.
Пре него што започнете процес изградње, имајте на уму:
C:\Zabbix
за све изворне датотеке и фасцикле за изградњу. Међутим, компајлиране компоненте треба инсталирати у C:\Program Files\Zabbix\x64
.Овај одељак садржи упутства за изградњу Zabbix агента помоћу vcpkg, менаџера пакета који поједностављује управљање зависностима и интеграцију са C++ пројектима.
2. Иницијализујте vcpkg и инсталирајте зависности потребне за изградњу Zabbix агента (имајте на уму да ово може потрајати неко време):
cd C:\Zabbix
vcpkg new --application
vcpkg add port pcre2
vcpkg add port openssl
vcpkg install --triplet x64-windows-static --x-install-root="C:\Program Files\Zabbix\x64"
3. Преузмите Zabbix изворну архиву и распакујте је у C:\Zabbix\zabbix-7.0.0
.
4. Идите до Zabbix директоријума за изградњу (C:\Zabbix\zabbix-7.0.0\build\win32\project
) и креирајте следећи скрипт build.bat
; Обавезно правилно наведите директоријуме где су инсталирани OpenSSL и PCRE2:
:: Поставите путању инсталације vcpkg:
set vcpkg=C:\Program Files\Zabbix\x64\x64-windows-static
:: Run the build process:
nmake -f Makefile CPU=AMD64 ^
PCRE2INCDIR="%vcpkg%\include" ^
PCRE2LIBDIR="%vcpkg%\lib" ^
TLS=openssl ^
TLSINCDIR="%vcpkg%\include" ^
TLSLIBDIR="%vcpkg%\lib" ^
LIBS="$(LIBS) Crypt32.lib" ^
all
5. Компајлирајте Zabbix агента извршавањем скрипте:
Након компајлирања, бинарне датотеке Zabbix компоненти ће се налазити у C:\Zabbix\zabbix-7.0.0\bin\win64
. Конфигурациона датотека Zabbix агента се налази у C:\Zabbix\zabbix-7.0.0\conf
.
Да бисте покренули агента, копирајте zabbix_agent.exe
и његову конфигурациону датотеку у посебну фасциклу (нпр., C:\Zabbix\agent
) и затим покрените агента:
mkdir C:\Zabbix\agent
copy C:\Zabbix\zabbix-7.0.0\bin\win64\zabbix_agent.exe C:\Zabbix\agent\
copy C:\Zabbix\zabbix-7.0.0\conf\zabbix_agent.win.conf C:\Zabbix\agent\
C:\Zabbix\agent\zabbix_agent.exe -c C:\Zabbix\agent\zabbix_agent.win.conf
Овај метод прављења Zabbix агента је погодан за кориснике којима је потребна потпуна контрола над окружењем за прављење или се налазе у ограниченом окружењу где коришћење vcpkg није могуће.
Овај одељак садржи упутства за ручно прављење Zabbix агента, што укључује инсталирање потребних алата за прављење и зависности (Perl, OpenSSL, PCRE2), а затим компајлирање агента.
1. Преузмите и инсталирајте Build Tools for Visual Studio 2022. Током инсталације, обавезно изаберите оптерећење Desktop development with C++, које укључује алате потребне за ручно изградњу агента:
Да бисте компајлирали Zabbix агента без TLS подршке, пређите на одељак Инсталирање PCRE2.
1. Преузмите и инсталирајте Strawberry Perl (доступан као MSI инсталатер). Током инсталације, обавезно наведите C:\Zabbix\Strawberry
као фасциклу за инсталацију.
2. Инсталирајте Perl модул Text::Template
:
3. Проверите да ли је Netwide Assembler (NASM; потребан за компајлирање OpenSSL-а) компајлиран током инсталације Strawberry Perl-а:
Ако NASM није компајлиран, инсталирајте га ручно. За више информација, погледајте NASM документацију.
4. Преузмите OpenSSL архиву изворног кода и распакујте је у C:\Zabbix\openssl-3.5.0
.
5. Идите до издвојеног директоријума и конфигуришите OpenSSL, на пример:
cd C:\Zabbix\openssl-3.5.0
perl Конфигуришите VC-WIN64A no-shared no-capieng no-winstore no-srp no-gost no-dgram no-dtls1-method no-dtls1_2-method --api=1.1.0 --prefix="C:\Program Files\Zabbix\x64\OpenSSL" --openssldir="C:\Program Files\Zabbix\x64\OpenSSL"
Ако изаберете прилагођени директоријум за OpenSSL приликом компајлирања Zabbix агента на Windows-у (нпр., C:\zabbix
или C:\openssl-64bit
), обавезно опозовите приступ писању за кориснике који нису администратори у овом директоријуму. У супротном, агент ће учитати SSL подешавања са путање коју могу изменити непривилеговани корисници, што резултира потенцијалном безбедносном рањивошћу.
no-shared
чини статичке библиотеке OpenSSL libcrypto.lib и libssl.lib самосталним, тако да бинарне датотеке Zabbix-а укључују OpenSSL без потребе за екстерним DLL-овима. То значи да се бинарне датотеке Zabbix-а могу копирати на друге Windows машине без OpenSSL библиотека; међутим, када се објави нова верзија исправке грешака OpenSSL-а, Zabbix агент ће морати поново да се компајлира.no-shared
, Zabbix се ослања на OpenSSL DLL-ове током извршавања. То значи да ажурирања OpenSSL-а можда неће захтевати поновно компајлирање Zabbix агента; међутим, приликом копирања на друге машине, OpenSSL DLL-ове такође морају бити копиране.За више информација о другим опцијама конфигурације OpenSSL-а, погледајте OpenSSL документацију.
6. Компајлирајте OpenSSL и покрените тестове (имајте на уму да ово може потрајати неко време):
Покрените тестове без администраторских привилегија; у супротном, то може довести до неочекиваних резултата или безбедносних ризика. Ако неки тестови не успеју, погледајте OpenSSL документацију за решавање проблема.
nmake
nmake test
...
All tests successful.
Files=325, Tests=3101, 822 wallclock secs ( 4.81 usr + 0.81 sys = 5.62 CPU)
Result: PASS
7. Инсталирајте OpenSSL:
Да бисте инсталирали само софтверске компоненте (библиотеке, заглавне датотеке, али не и документацију), можете користити nmake install_sw
.
1. Преузмите и инсталирајте CMake (доступан као MSI инсталатер). Током инсталације, обавезно наведите C:\Zabbix\CMake
као инсталациони фолдер и изаберите опцију Додај CMake у променљиву окружења PATH.
2. Преузмите PCRE2 изворну архиву и распакујте је у C:\Zabbix\pcre2-10.45
.
3. Направите директоријум build
у распакованом PCRE2 директоријуму и идите до њега:
4. Конфигуришите PCRE2:
cmake -G "NMake Makefiles" -DPCRE_SUPPORT_UNICODE_PROPERTIES=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="C:\Program Files\Zabbix\x64\PCRE2" "C:\Zabbix\pcre2-10.45"
Ако се појаве било какве грешке, препоручује се да обришете CMake кеш пре него што покушате да поновите процес изградње CMake-а. Кеш (CMakeCachecache.txt
) се може наћи у директоријуму за изградњу издвојеног PCRE2 директоријума.
5. Изградите PCRE2 користећи NMake:
6. Инсталирајте PCRE2:
1. Преузмите Zabbix изворну архиву и распакујте је у C:\Zabbix\zabbix-7.0.0
.
Ако треба да генеришете изворну архиву из репозиторијума сирових извора (нпр., да бисте применили прилагођене закрпе или изградили из најновијег изворног кода), покрените следеће команде на Linux машини:
git clone https://git.zabbix.com/scm/zbx/zabbix.git
cd zabbix
./bootstrap.sh
./configure --enable-agent --enable-ipv6 --prefix=`pwd`
make dist
Ово ће креирати изворну архиву, која се затим може копирати на Windows машину.
2. Идите до Zabbix директоријума за изградњу и компилирајте Zabbix агент (или друге компоненте); Обавезно правилно наведите директоријуме где су инсталирани OpenSSL и PCRE2:
cd C:\Zabbix\zabbix-7.0.0\build\win32\project
# Са TLS подршком:
nmake /K -f Makefile_agent PCRE2INCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" PCRE2LIBDIR="C:\Program Files\Zabbix\x64\PCRE2\lib" TLS=openssl TLSINCDIR="C:\Program Files\Zabbix\x64\OpenSSL\include" TLSLIBDIR="C:\Program Files\Zabbix\x64\OpenSSL\lib"
nmake /K -f Makefile_get PCRE2INCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" PCRE2LIBDIR="C:\Program Датотеке\Zabbix\x64\PCRE2\lib" TLS=openssl TLSINCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" TLSLIBDIR="C:\Program Files\Zabbix\x64\PCRE2\include" PCRE2LIBDIR="C:\Program Files\Zabbix\x64\PCRE2\lib" TLS=openssl TLSINCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" TLSLIBDIR="C:\Program Files\Zabbix\x64\PCRE2\lib"
# Без TLS подршке:
nmake /K -f Makefile_agent PCRE2INCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" PCRE2LIBDIR="C:\Program Files\Zabbix\x64\PCRE2\lib"
nmake /K -f Makefile_get PCRE2INCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" PCRE2LIBDIR="C:\Program Files\Zabbix\x64\PCRE2\lib"
nmake /K -f Makefile_sender PCRE2INCDIR="C:\Program Files\Zabbix\x64\PCRE2\include" PCRE2LIBDIR="C:\Program Files\Zabbix\x64\PCRE2\lib"
Након компилације, бинарне датотеке Zabbix компоненти ће се налазити у C:\Zabbix\zabbix-7.0.0\bin\win64
. Конфигурациона датотека Zabbix агента се налази у C:\Zabbix\zabbix-7.0.0\conf
.
Да бисте покренули агента, копирајте zabbix_agent.exe
и његову конфигурациону датотеку у посебну фасциклу (нпр., C:\Zabbix\agent
) и затим покрените агента: