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.

3 Instalação a partir do código-fonte

Você pode obter a versão mais recente do Zabbix compilando a partir do código-fonte.

Um tutorial passo a passo para instalar o Zabbix a partir do código-fonte é fornecido aqui.

1 Instalando os daemons do Zabbix

1 Baixe o arquivo de origem

Acesse a página de download do Zabbix e baixe o arquivo de origem. Após o download, extraia os arquivos-fonte executando:

tar -zxvf zabbix-8.0.0.tar.gz

Insira a versão correta do Zabbix no comando. Ela deve corresponder ao nome do arquivo baixado.

2 Criar conta de usuário

Todos os processos do daemon do Zabbix são executados sob usuários de sistema não privilegiados. Se um daemon do Zabbix for iniciado a partir de uma conta de usuário não privilegiada, ele continuará sendo executado como esse usuário.

Na configuração padrão, se um daemon for iniciado como root, ele mudará para a conta de usuário zabbix, que deve estar presente. Para criar um usuário e grupo de sistema zabbix, execute os comandos listados abaixo.

Sistema baseado em RedHat:

groupadd --system zabbix
       useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

Sistema baseado em Debian:

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

Não há necessidade de criar uma conta de usuário separada para o frontend do Zabbix.

Recomendação de segurança

Se o server e o agent do Zabbix forem executados na mesma máquina, recomenda-se executá-los sob contas de usuário separadas. Executar ambos como o mesmo usuário permite que o agent acesse o arquivo de configuração do server, o que pode expor informações confidenciais—como a senha do banco de dados—para qualquer usuário com nível de Admin no Zabbix.

Executar o Zabbix como root, bin ou qualquer outra conta com direitos especiais é um risco de segurança.

Diretório home (opcional)

Os processos do Zabbix não exigem um diretório home, portanto, geralmente não é recomendada a criação de um. No entanto, se você precisar de uma funcionalidade que exija um diretório home (por exemplo, armazenar credenciais do MySQL em $HOME/.my.cnf), você pode criá-lo usando os comandos listados abaixo.

Em sistemas baseados em RedHat, execute:

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

Em sistemas baseados em Debian, execute:

mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
       chown zabbix:zabbix /var/lib/zabbix
3 Criar banco de dados Zabbix

Para os processos do Zabbix server e proxy, assim como para o frontend do Zabbix, é necessário um banco de dados. Ele não é necessário para executar o agent do Zabbix.

Scripts SQL são fornecidos para criar o schema do banco de dados e inserir o conjunto de dados. O banco de dados do proxy Zabbix precisa apenas do schema, enquanto o banco de dados do server Zabbix requer também o conjunto de dados além do schema.

Tendo criado um banco de dados Zabbix, prossiga para as próximas etapas de compilação do Zabbix.

4 Configurar os fontes

C99 com extensões GNU é necessário para compilar o Zabbix server, Zabbix proxy ou Zabbix agent. Esta versão pode ser explicitamente especificada definindo CFLAGS="-std=gnu99":

export CFLAGS="-std=gnu99"

Se estiver instalando a partir do repositório Git do Zabbix, é necessário executar primeiro:

./bootstrap.sh

Ao configurar os fontes para um Zabbix server ou proxy, você deve especificar o tipo de banco de dados a ser usado. Apenas um tipo de banco de dados pode ser compilado com um processo de server ou proxy por vez.

Para ver todas as opções de configuração suportadas, dentro do diretório de fontes extraído do Zabbix, execute:

./configure --help

Para configurar os fontes para um Zabbix server e agent, você pode executar algo como:

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

Para configurar os fontes para um Zabbix server (com PostgreSQL etc.), você pode executar:

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

Para configurar os fontes para um Zabbix proxy (com SQLite etc.), você pode executar:

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

Para configurar os fontes para um Zabbix agent, você pode executar:

./configure --enable-agent

ou, para o Zabbix agent 2:

./configure --enable-agent2

Um ambiente Go configurado com uma versão Go suportada é necessário para compilar o Zabbix agent 2.

Notas sobre opções de compilação:

  • --enable-agent - compila o Zabbix agent, bem como as utilitários de linha de comando Zabbix get e Zabbix sender.
  • --with-libcurl - necessário para monitoramento de máquinas virtuais, autenticação SMTP e web.page.* itens do Zabbix agent. Veja também: Requisitos (libcurl).
  • --with-libxml2 - necessário para monitoramento de máquinas virtuais.
  • --with-libpcre2[=DIR] - o Zabbix sempre compila com a biblioteca PCRE2; esta opção apenas permite especificar um caminho de instalação personalizado para o PCRE2.
  • --with-mysql=/path/to/mysql_config - especifica o caminho para uma configuração específica da biblioteca cliente MySQL. Útil quando múltiplas versões do MySQL ou MariaDB estão instaladas.
  • --enable-static - vincula as bibliotecas estaticamente (não suportado no Solaris). Use isso se você planeja distribuir binários compilados para sistemas sem as bibliotecas necessárias. Não recomendado ao compilar o Zabbix server. Para compilar o server estaticamente, é necessária uma versão estática de cada biblioteca externa. O script configure não verifica isso automaticamente.
  • --with-stacksize=<valor> - define o tamanho da pilha por thread em kilobytes (por exemplo, --with-stacksize=512). Você pode aumentar este valor se o Zabbix travar ou congelar devido a estouros de pilha (por exemplo, durante o pré-processamento em sistemas com limites de pilha de thread padrão baixos).

Se o ./configure falhar devido à falta de bibliotecas ou outros problemas, verifique o arquivo config.log para obter informações detalhadas sobre o erro.

Por exemplo, se o libssl estiver faltando, a mensagem de erro imediata pode ser enganosa:

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

Neste caso, o config.log revela a causa real:

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

Veja também:

5 Compile e instale tudo

Se estiver instalando a partir do repositório Git do Zabbix, é necessário executar primeiro:

$ make dbschema

make install

Esta etapa deve ser executada como um usuário com permissões suficientes (comumente 'root', ou usando sudo).

Executar make install irá, por padrão, instalar os binários dos daemons (zabbix_server, zabbix_agentd, zabbix_proxy) em /usr/local/sbin e os binários dos clientes (zabbix_get, zabbix_sender) em /usr/local/bin.

Para especificar um local diferente de /usr/local, use a chave --prefix na etapa anterior de configuração das fontes, por exemplo --prefix=/home/zabbix. Neste caso, os binários dos daemons serão instalados em <prefix>/sbin, enquanto as utilidades em <prefix>/bin. As páginas de manual serão instaladas em <prefix>/share.

6 Revise e edite os arquivos de configuração
  • edite o arquivo de configuração do agent do Zabbix /usr/local/etc/zabbix_agentd.conf

Você precisa configurar este arquivo para cada host com o zabbix_agentd instalado.

Você deve especificar o endereço IP do server do Zabbix no arquivo. Conexões de outros hosts serão negadas.

  • edite o arquivo de configuração do server do Zabbix /usr/local/etc/zabbix_server.conf

Você deve especificar o nome do banco de dados, usuário e senha (se estiver usando algum).

O restante dos parâmetros será adequado para você com seus valores padrão se você tiver uma instalação pequena (até dez hosts monitorados). No entanto, você deve alterar os parâmetros padrão se quiser maximizar o desempenho do server (ou proxy) do Zabbix.

  • se você instalou um proxy do Zabbix, edite o arquivo de configuração do proxy /usr/local/etc/zabbix_proxy.conf

Você deve especificar o endereço IP do server e o hostname do proxy (deve ser conhecido pelo server), bem como o nome do banco de dados, usuário e senha (se estiver usando algum).

Com o SQLite, o caminho completo para o arquivo do banco de dados deve ser especificado; usuário e senha do banco de dados não são necessários.

7 Inicie os daemons

Execute o zabbix_server no lado do servidor.

zabbix_server

Certifique-se de que seu sistema permite a alocação de 36MB (ou um pouco mais) de memória compartilhada, caso contrário, o servidor pode não iniciar e você verá "Cannot allocate shared memory for <type of cache>." no arquivo de log do servidor. Isso pode acontecer no FreeBSD, Solaris 8.

Execute o zabbix_agentd em todas as máquinas monitoradas.

zabbix_agentd

Certifique-se de que seu sistema permite a alocação de 2MB de memória compartilhada, caso contrário, o agent pode não iniciar e você verá "Cannot allocate shared memory for collector." no arquivo de log do agent. Isso pode acontecer no Solaris 8.

Se você instalou o Zabbix proxy, execute o zabbix_proxy.

zabbix_proxy

2 Instalando a interface web do Zabbix

Copiando arquivos PHP

O frontend do Zabbix é escrito em PHP, portanto, para executá-lo, é necessário um servidor web com suporte a PHP. A instalação é feita simplesmente copiando os arquivos PHP do diretório ui para o diretório de documentos HTML do servidor web.

Locais comuns de diretórios de documentos HTML para servidores web Apache incluem:

  • /usr/local/apache2/htdocs (diretório padrão ao instalar o Apache a partir do código-fonte)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Debian, Ubuntu, Fedora, RHEL)

É recomendado usar um subdiretório em vez da raiz HTML. Para criar um subdiretório e copiar os arquivos do frontend do Zabbix para ele, execute os seguintes comandos, substituindo <htdocs> pelo diretório real:

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

Se planeja usar qualquer outro idioma além do inglês, consulte Instalação de idiomas adicionais do frontend para obter instruções.

Instalando o frontend

Consulte a página Instalação da interface web para obter informações sobre o assistente de instalação do frontend do Zabbix.

3 Instalando o Java gateway

É necessário instalar o Java gateway apenas se você deseja monitorar aplicações JMX. O Java gateway é leve e não requer um banco de dados.

Para instalar a partir do código-fonte, primeiro baixe e extraia o arquivo de código-fonte.

Para compilar o Java gateway, execute o script ./configure com a opção --enable-java. Recomenda-se especificar a opção --prefix para solicitar um caminho de instalação diferente do padrão /usr/local, porque a instalação do Java gateway criará toda uma árvore de diretórios, não apenas um único executável.

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

Para compilar e empacotar o Java gateway em um arquivo JAR, execute make. Observe que, para esta etapa, você precisará dos executáveis javac e jar em seu caminho.

make

Agora você tem um arquivo zabbix-java-gateway-$VERSION.jar em src/zabbix_java/bin. Se você se sentir confortável em executar o Java gateway a partir de src/zabbix_java no diretório de distribuição, então você pode prosseguir para as instruções de configuração e execução do Java gateway. Caso contrário, certifique-se de ter privilégios suficientes e execute make install.

make install

Prossiga para o setup para mais detalhes sobre configuração e execução do Java gateway.

4 Instalando o serviço web do Zabbix

A instalação do serviço web do Zabbix só é necessária se você quiser usar relatórios agendados.

Para instalar a partir do código-fonte, primeiro baixe e extraia o arquivo de origem.

Para compilar o serviço web do Zabbix, execute o script ./configure com a opção --enable-webservice.

Um ambiente Go configurado com uma versão Go suportada é necessário para compilar o serviço web do Zabbix.

Execute o zabbix_web_service na máquina onde o serviço web está instalado:

zabbix_web_service

Prossiga para a configuração para mais detalhes sobre a configuração da geração de relatórios agendados.