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.
Acesse a página de download do Zabbix e baixe o arquivo de origem. Após o download, extraia os arquivos-fonte executando:
Insira a versão correta do Zabbix no comando. Ela deve corresponder ao nome do arquivo baixado.
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.
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.
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:
Em sistemas baseados em Debian, execute:
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.
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":
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:
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:
Para configurar os fontes para um Zabbix proxy (com SQLite etc.), você pode executar:
Para configurar os fontes para um Zabbix agent, você pode executar:
ou, para o Zabbix agent 2:
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:
Neste caso, o config.log
revela a causa real:
Veja também:
Se estiver instalando a partir do repositório Git do Zabbix, é necessário executar primeiro:
$ make dbschema
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.
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.
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.
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.
Execute o zabbix_server no lado do servidor.
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.
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.
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:
É 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:
Se planeja usar qualquer outro idioma além do inglês, consulte Instalação de idiomas adicionais do frontend para obter instruções.
Consulte a página Instalação da interface web para obter informações sobre o assistente de instalação do frontend do Zabbix.
É 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.
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.
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
.
Prossiga para o setup para mais detalhes sobre configuração e execução do Java gateway.
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:
Prossiga para a configuração para mais detalhes sobre a configuração da geração de relatórios agendados.