This is a translation of the original English documentation page. Help us make it better.

1 Creazione dell'agente Zabbix su Windows

Panoramica

Questa sezione mostra come creare i file binari dell'agente Windows Zabbix da fonti con o senza TLS.

Compilazione di OpenSSL

I seguenti passaggi ti aiuteranno a compilare OpenSSL dai sorgenti su MS Windows 10 (64 bit).

  1. Per compilare OpenSSL avrai bisogno su una macchina Windows:
    1. Compilatore C (ad es. VS 2017 RC),
    2. NASM (https://www.nasm.us/),
    3. Perl (ad es. Strawberry Perl da http://strawberryperl.com/),
    4. Modulo Perl Testo::Template (cpan Testo::Template).
  2. Ottieni i sorgenti OpenSSL da https://www.openssl.org/. OpenSSL 1.1.1 è usato qui.
  3. Decomprimere i sorgenti OpenSSL, ad esempio, in E:\openssl-1.1.1.
  4. Apri una finestra della riga di comando, ad es. il prompt dei comandi degli strumenti nativi x64 per VS 2017 RC.
  5. Vai alla directory dei sorgenti di OpenSSL, ad es. E:\openssl-1.1.1.
    1. Verificare che sia possibile trovare NASM:e:\openssl-1.1.1> nasm --version NASM versione 2.13.01 compilata il 1 maggio 2017
  6. Configurare OpenSSL, per esempio:e:\openssl-1.1.1> perl E:\openssl-1.1.1\Configure VC-WIN64A no-shared no-capieng no-srp no-gost no-dgram no-dtls1-method no-dtls1_2- metodo --api=1.1.0 --prefix=C:\OpenSSL-Win64-111-static --openssldir=C:\OpenSSL-Win64-111-static
    • Notare l'opzione 'no-shared': se si usa 'no-shared' allora il file Le librerie statiche OpenSSL libcrypto.lib e libssl.lib saranno includeranno i binari Zabbix "autosufficienti" e risultanti OpenSSL in sé, non c'è bisogno di DLL OpenSSL esterne. Vantaggio: i binari di Zabbix possono essere copiati su altri Windows macchine senza librerie OpenSSL. Svantaggio: quando un nuovo La versione della correzione del bug di OpenSSL è stata rilasciata, l'agente Zabbix deve farlo ricompilato e reinstallato.
    • Se 'no-shared' non viene utilizzato, le librerie statiche libcrypto.lib e libssl.lib utilizzeranno le DLL OpenSSL su tempo di esecuzione. Vantaggio: quando una nuova versione di bugfix OpenSSL è rilasciato, probabilmente puoi aggiornare solo le DLL OpenSSL, senza ricompilare l'agente Zabbix. Svantaggio: copia dell'agente Zabbix in un'altra macchina richiede anche la copia delle DLL OpenSSL.
  7. Compila OpenSSL, esegui i test, installa:e:\openssl-1.1.1> nmake e:\openssl-1.1.1> nmake test ... Tutti i test hanno avuto successo. File=152, Test=1152, 501 sec wallclock (0.67 usr + 0.61 sys = 1.28 CPU) Risultato: PASSATO e:\openssl-1.1.1> nmake install_sw'install_sw' installa solo componenti software (es. librerie, file di intestazione, ma nessuna documentazione). Se vuoi tutto, usa "nmake install".

Compilazione PCRE

  1. Scarica la libreria PCRE o PCRE2 (supportata da Zabbix 6.0) dal repository pcre.org: (https://github.com/PhilipHazel/pcre2/releases/download/pcre2-10.39/pcre2-10.39.zip)
  2. Estrai nella directory E:\pcre2-10.39
  3. Installa CMake da https://cmake.org/download/, durante l'installazione select: e assicurati che cmake\bin sia sul tuo percorso (versione testata 3.9.4).
  4. Creare una nuova directory di build vuota, preferibilmente una sottodirectory di la fonte dir. Ad esempio, E:\pcre2-10.39\build.
  5. Apri una finestra della riga di comando, ad es. il prompt dei comandi degli strumenti nativi x64 per VS 2017 e da quell'ambiente shell eseguire cmake-gui. Non prova ad avviare Cmake dal menu Start di Windows, in quanto ciò può portare a errori.
  6. Immettere E:\pcre2-10.39 e E:\pcre2-10.39\build per l'origine e build directory, rispettivamente.
  7. Premi il pulsante "Configura".
  8. Quando si specifica il generatore per questo progetto selezionare "NMake Makefile".
  9. Creare una nuova directory di installazione vuota. Per esempio, E:\pcre2-10.39-install.
  10. La GUI elencherà quindi diverse opzioni di configurazione. Assicurati di sono selezionate le seguenti opzioni:
    • PCRE_SUPPORT_UNICODE_PROPERTIES ATTIVATO
    • PCRE_SUPPORT_UTF ON
    • CMAKE_INSTALL_PREFIX E:\pcre2-10.39-install
  11. Premi di nuovo "Configura". Il pulsante adiacente "Genera" ora dovrebbe essere attivo.
  12. Premi "Genera".
  13. Nel caso in cui si verifichino errori, si consiglia di eliminare la cache di CMake prima di tentare di ripetere il processo di compilazione di CMake. Nella GUI di CMake, la cache può essere eliminata selezionando "File > Elimina cache".
  14. La directory di build ora dovrebbe contenere un sistema di build utilizzabile - Makefile.
  15. Apri una finestra della riga di comando, ad es. il prompt dei comandi degli strumenti nativi x64 per VS 2017 e vai al Makefile menzionato sopra.
  16. Eseguire il comando NMake: E:\pcre2-10.39\build> nmake install

Compilazione di Zabbix

I seguenti passaggi ti aiuteranno a compilare Zabbix da fonti su MS Windows 10 (64 bit). Durante la compilazione di Zabbix con/senza TLS supporta il file l'unica differenza significativa è nel passaggio 4.

  1. Su una macchina Linux controlla il sorgente da git:$ git clone https://git.zabbix.com/scm/zbx/zabbix.git $ cd zabbix $ ./bootstrap.sh $ ./configure --enable-agent --enable-ipv6 --prefix=`pwd` $ crea dbschema $ crea dist
  2. Copiare e decomprimere l'archivio, ad es. zabbix-4.4.0.tar.gz, su Windows macchina.
  3. Supponiamo che i sorgenti siano in e:\zabbix-4.4.0. Apri un finestra della riga di comando, ad es. Prompt dei comandi x64 Native Tools per VS RC 2017. Vai a E:\zabbix-4.4.0\build\win32\project.
  4. Compila zabbix_get, zabbix_sender e zabbix_agent.
    • senza TLS: E:\zabbix-4.4.0\build\win32\project> nmake /K PCREINCDIR=E:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib
    • con TLS: E:\zabbix-4.4.0\build\win32\project> nmake /K -f Makefile_get TLS=openssl TLSINCDIR=C:\OpenSSL-Win64-111-static\include TLSLIBDIR=C:\OpenSSL-Win64-111- static\lib PCREINCDIR=E:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib E:\zabbix-4.4.0\build\win32\project> nmake /K -f Makefile_sender TLS=openssl TLSINCDIR="C:\OpenSSL-Win64-111-static\include TLSLIBDIR="C:\OpenSSL-Win64-111 -static\lib" PCREINCDIR=E:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib E:\zabbix-4.4.0\build\win32\project> nmake /K -f Makefile_agent TLS=openssl TLSINCDIR=C:\OpenSSL-Win64-111-static\include TLSLIBDIR=C:\OpenSSL-Win64-111-static \lib PCREINCDIR=E:\pcre2-10.39-install\include PCRELIBDIR=E:\pcre2-10.39-install\lib
  5. I nuovi binari si trovano in e:\zabbix-4.4.0\bin\win64. Da OpenSSL è stato compilato con l'opzione 'no-shared', binari Zabbix contengono OpenSSL al loro interno e possono essere copiati su altri macchine che non dispongono di OpenSSL.

Compilazione di Zabbix con LibreSSL

Il processo è simile alla compilazione con OpenSSL, ma è necessario farlo piccole modifiche nei file che si trovano nella directory build\win32\project:

  * In ''Makefile_tls'' eliminare ''/DHAVE_OPENSSL_WITH_PSK''. cioè trova <codice>

CFLAGS = $(CFLAGS) /DHAVE_OPENSSL /DHAVE_OPENSSL_WITH_PSK</code>e sostituirlo con CFLAGS = $(CFLAGS) /DHAVE_OPENSSL

  * In ''Makefile_common.inc'' aggiungi ''/NODEFAULTLIB:LIBCMT'' cioè trova <code>

/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO /PDB:$(TARGETDIR)\$(TARGETNAME).pdb</code> e sostituiscilo con /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DYNAMICBASE:NO /PDB:$(TARGETDIR)\$(TARGETNAME).pdb /NODEFAULTLIB:LIBCMT