Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

1 Compilando o agent do Zabbix no Windows

Visão geral

Esta página demonstra como compilar o agent do Zabbix a partir do código-fonte no Windows 10 (64 bits).

Essas instruções se aplicam às versões do Windows que suportam o Visual Studio 2022.

A compilação do agent do Zabbix requer:

  • Compilador C (incluído nas Build Tools do Visual Studio 2022)
  • OpenSSL (para recursos de criptografia no Zabbix)
  • PCRE2 (Expressões Regulares Compatíveis com Perl; para recursos de correspondência de padrões de expressões regulares no Zabbix)

Você pode compilar o agent do Zabbix usando um dos seguintes métodos:

  • Usando vcpkg—uma abordagem automatizada que simplifica o gerenciamento de dependências usando um gerenciador de pacotes C++.
  • Compilação manual—uma abordagem manual que requer a instalação de todas as dependências antes de compilar o agent.

Dependendo das suas necessidades de monitoramento, bibliotecas adicionais podem ser necessárias. Para mais informações, consulte Requisitos.

Antes de iniciar o processo de compilação, por favor, tenha em mente:

  • Para executar comandos, use o x64 Native Tools Command Prompt (incluído nas Build Tools do Visual Studio 2022), iniciado por um usuário com permissões suficientes para gravar em pastas protegidas.
  • Recomenda-se criar um diretório de trabalho em C:\Zabbix para todos os arquivos-fonte e pastas de compilação. No entanto, os componentes compilados devem ser instalados em C:\Program Files\Zabbix\x64.

Compilando o agent Zabbix com vcpkg

Esta seção contém instruções para compilar o agent Zabbix com o vcpkg, um gerenciador de pacotes que simplifica o gerenciamento de dependências e a integração com projetos C++.

1. Baixe e instale o Build Tools for Visual Studio 2022. Durante a instalação, certifique-se de selecionar a carga de trabalho Desenvolvimento de área de trabalho com C++, que inclui as ferramentas necessárias para compilar o agent com o vcpkg:

  • Compilador C (Microsoft Visual C++)
  • Ferramenta de linha de comando NMake
  • Gerenciador de pacotes vcpkg
  • Prompt de comando de ferramentas nativas x64

2. Inicialize o vcpkg e instale as dependências necessárias para compilar o agent Zabbix (observe que isso pode levar algum tempo):

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. Baixe o arquivo de origem do Zabbix e extraia-o para C:\Zabbix\zabbix-8.0.0.

4. Navegue até o diretório de compilação do Zabbix (C:\Zabbix\zabbix-8.0.0\build\win32\project) e crie o seguinte script build.bat; certifique-se de especificar corretamente os diretórios onde o OpenSSL e o PCRE2 estão instalados:

:: Defina o caminho de instalação do vcpkg:
       set vcpkg=C:\Program Files\Zabbix\x64\x64-windows-static
       
       :: Execute o processo de compilação:
       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. Compile o agent Zabbix executando o script:

build.bat

Após a compilação, os binários dos componentes do Zabbix estarão localizados em C:\Zabbix\zabbix-8.0.0\bin\win64. O arquivo de configuração do agent Zabbix está localizado em C:\Zabbix\zabbix-8.0.0\conf.

Para executar o agent, copie zabbix_agent.exe e seu arquivo de configuração para uma pasta dedicada (por exemplo, C:\Zabbix\agent) e, em seguida, execute o agent:

mkdir C:\Zabbix\agent
       copy C:\Zabbix\zabbix-8.0.0\bin\win64\zabbix_agent.exe C:\Zabbix\agent\
       copy C:\Zabbix\zabbix-8.0.0\conf\zabbix_agent.win.conf C:\Zabbix\agent\
       
       C:\Zabbix\agent\zabbix_agent.exe -c C:\Zabbix\agent\zabbix_agent.win.conf

Compilando o agent do Zabbix manualmente

Este método de compilação do agent do Zabbix é adequado para usuários que precisam de controle total sobre o ambiente de compilação ou estão em um ambiente restrito onde usar o vcpkg não é possível.

Esta seção contém instruções para compilar o agent do Zabbix manualmente, o que inclui instalar as ferramentas de compilação e dependências necessárias (Perl, OpenSSL, PCRE2) e, em seguida, compilar o agent.

Instalando ferramentas de compilação

1. Baixe e instale o Build Tools for Visual Studio 2022. Durante a instalação, certifique-se de selecionar a carga de trabalho Desenvolvimento de área de trabalho com C++, que inclui as ferramentas necessárias para compilar o agent manualmente:

  • Compilador C (Microsoft Visual C++)
  • Ferramenta de linha de comando NMake
  • Prompt de comando de ferramentas nativas x64
Instalando o OpenSSL

Para compilar o agent Zabbix sem suporte a TLS, prossiga para a seção Instalando o PCRE2.

1. Baixe e instale o Strawberry Perl (disponível como um instalador MSI). Durante a instalação, certifique-se de especificar C:\Zabbix\Strawberry como a pasta de instalação.

2. Instale o módulo Perl Text::Template:

cpanm Text::Template

3. Verifique se o Netwide Assembler (NASM; necessário para compilar o OpenSSL) foi compilado durante a instalação do Strawberry Perl:

nasm -v
       # NASM version 2.16.01 compiled on May  3 2024

Se o NASM não estiver compilado, instale-o manualmente. Para mais informações, consulte a documentação do NASM.

4. Baixe o arquivo de origem do OpenSSL e extraia-o para C:\Zabbix\openssl-3.5.0.

5. Navegue até o diretório extraído e configure o OpenSSL, por exemplo:

cd C:\Zabbix\openssl-3.5.0
       perl Configure 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"

Se você escolher um diretório personalizado para o OpenSSL ao compilar o agent Zabbix no Windows (por exemplo, C:\zabbix ou C:\openssl-64bit), certifique-se de revogar o acesso de gravação de usuários não administradores a esse diretório. Caso contrário, o agent carregará as configurações SSL de um caminho que pode ser modificado por usuários sem privilégios, resultando em uma potencial vulnerabilidade de segurança.

  • A opção no-shared faz com que as bibliotecas estáticas libcrypto.lib e libssl.lib do OpenSSL sejam autossuficientes, de modo que os binários do Zabbix incluam o OpenSSL sem precisar de DLLs externas. Isso significa que os binários do Zabbix podem ser copiados para outras máquinas Windows sem as bibliotecas OpenSSL; no entanto, quando uma nova versão de correção de bugs do OpenSSL for lançada, o agent Zabbix precisará ser recompilado.
  • Sem a opção no-shared, o Zabbix depende das DLLs do OpenSSL em tempo de execução. Isso significa que as atualizações do OpenSSL podem não exigir a recompilação do agent Zabbix; no entanto, ao copiá-lo para outras máquinas, as DLLs do OpenSSL também devem ser copiadas.

Para mais informações sobre outras opções de configuração do OpenSSL, consulte a documentação do OpenSSL.

6. Compile o OpenSSL e execute os testes (observe que isso pode levar algum tempo):

Execute os testes sem privilégios administrativos; caso contrário, isso pode levar a resultados inesperados ou riscos de segurança. Se alguns testes falharem, consulte a documentação do OpenSSL para solução de problemas.

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. Instale o OpenSSL:

nmake install

Para instalar apenas os componentes de software (bibliotecas, arquivos de cabeçalho, mas sem documentação), você pode usar nmake install_sw.

Instalando o PCRE2

1. Baixe e instale o CMake (disponível como instalador MSI). Durante a instalação, certifique-se de especificar C:\Zabbix\CMake como a pasta de instalação e selecione a opção Add CMake to the PATH environment variable.

2. Baixe o arquivo de origem do PCRE2 e extraia-o para C:\Zabbix\pcre2-10.45.

3. Crie um diretório build no diretório extraído do PCRE2 e navegue até ele:

mkdir C:\Zabbix\pcre2-10.45\build
       cd C:\Zabbix\pcre2-10.45\build

4. Configure o 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"

Se ocorrerem erros, recomenda-se excluir o cache do CMake antes de tentar repetir o processo de build do CMake. O cache (CMakeCachecache.txt) pode ser localizado no diretório build do diretório extraído do PCRE2.

5. Compile o PCRE2 usando o NMake:

nmake

6. Instale o PCRE2:

cmake --install .
Compilando o agent do Zabbix

1. Baixe o arquivo fonte do Zabbix e extraia-o para C:\Zabbix\zabbix-8.0.0.

Se você precisar gerar um arquivo fonte a partir do repositório de código-fonte bruto (por exemplo, para aplicar patches personalizados ou compilar a partir do código-fonte mais recente), execute os seguintes comandos em uma máquina Linux:

git clone https://git.zabbix.com/scm/zbx/zabbix.git
       cd zabbix
       ./bootstrap.sh
       ./configure --enable-agent --enable-ipv6 --prefix=`pwd`
       make dist

Isso criará um arquivo fonte, que pode então ser copiado para uma máquina Windows.

2. Navegue até o diretório de build do Zabbix e compile o agent do Zabbix (ou outros componentes); certifique-se de especificar corretamente os diretórios onde o OpenSSL e o PCRE2 estão instalados:

cd C:\Zabbix\zabbix-8.0.0\build\win32\project
       
       # Com suporte a 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 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_sender 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"
       
       # Sem suporte a 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"

Após a compilação, os binários dos componentes do Zabbix estarão localizados em C:\Zabbix\zabbix-8.0.0\bin\win64. O arquivo de configuração do agent do Zabbix está localizado em C:\Zabbix\zabbix-8.0.0\conf.

Para executar o agent, copie zabbix_agent.exe e seu arquivo de configuração para uma pasta dedicada (por exemplo, C:\Zabbix\agent) e então execute o agent:

mkdir C:\Zabbix\agent
       copy C:\Zabbix\zabbix-8.0.0\bin\win64\zabbix_agentd.exe C:\Zabbix\agent\
       copy C:\Zabbix\zabbix-8.0.0\conf\zabbix_agentd.win.conf C:\Zabbix\agent\
       
       C:\Zabbix\agent\zabbix_agentd.exe -c C:\Zabbix\agent\zabbix_agentd.win.conf -f