Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

4 Instalação a partir dos fontes

Você pode instalar o Zabbix a partir de seu código fonte.

Um passo a passo sobre como instala-lo a partir de seus fontes será fornecido aqui.

1 Instalando os daemons do Zabbix

1 Baixe o pacote com o código fonte

Acesse a página de download do Zabbix e efetue o download do arquivo de fontes. Uma vez baixado, extraia os fontes conforme a seguir:

$ tar -zxvf zabbix-5.0.0.tar.gz

Entre com a versão correta do Zabbix no comando, a versão faz parte do nome do arquivo (Ex. 5.0.1 = zabbix-5.0.1.tar.gz, 5.0.0 = zabbix-5.0.0.tar.gz).

2 Crie a conta do usuário Zabbix

Para todos os processos daemons do Zabbix é necessária a existência de um usuário comum (sem privilégios de root) para a sua execução. Se um daemon do Zabbix for iniciado com um usuário sem privilégios de root, continuará sendo executado com as permissões do mesmo.

Por outro lado, se um daemon do Zabbix for iniciado por uma conta com privilégio de root, o daemon fará com que o permissionamento seja alterado para o usuário 'zabbix', que deve estar presente no ambiente. Para criar o usuário do Zabbix em ambientes Linux, execute:

groupadd zabbix
       useradd -g zabbix zabbix

Não é necessário criar uma segunda conta de usuário para executar a instalação da interface web.

Se o Zabbix Server e o Zabbix Agent estiverem na mesma máquina é recomendável que estejam rodando com usuários diferentes. De outra forma, com os dois sendo executados com o mesmo usuário, o agente poderá acessar o arquivo de configuração do Zabbix Server e informações sensíveis (como o usuário e senha do banco de dados do Zabbix) poderão ser facilmente recuperadas.

Executando o Zabbix como o root, bin, ou outra conta com privilégios especiais pode ser um risco à segurança.

3 Criar o banco de dados do Zabbix

Para os daemons do Zabbix Server e Proxy, assim como a interface web, é necessário um banco de dados. Para a execução do Zabbix agent, não é necessário.

São fornecidos os scripts SQL para criar o esquema de banco de dados e popular os dados iniciais. É importante ressaltar que para o Zabbix Server é necessário criar o esquema e popular os dados, para o Zabbix Proxy só é necessário criar o esquema de banco de dados.

Após criar o banco de dados do Zabbix, proceda com os passos a seguir para compila-lo.

4 Configurando os fontes

Para configurar os fontes para a compilação do Zabbix Server ou Zabbix Proxy é necessário que se defina qual tipo de banco de dados será utilizado. Os binários serão compilados para um SGDB específico.

Para ver todas as opções suportadas, dentro do diretório com os fontes do Zabbix execute:

./configure --help

Para configurar os fontes do Zabbix Server e Zabbix Agent você precisa rodar algo parecido com o exemplo abaixo (neste caso com o suporte ao MySQL):

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

<​note><​nowiki>​--with-libcurl</​nowiki>​ este parâmetro é necessário para adicionar o suporte a envio de e-mail (SMTP) autenticado (​versão 7.20.0 ou superior do cURL) . Suportado desde o Zabbix 3.0.0.
Os parâmetros <​nowiki>​--with-libcurl</​nowiki>​ e <​nowiki>​--with-libxml2</​nowiki>​ são necessários para o suporte à monitoração de máquinas virtuais, suportado desde o Zabbix 2.2.0.</​note

Para configurar os fontes com o PostgreSQL, você pode executar algo parecido com:

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

Para configurar os fontes com o SQLite, você pode executar algo parecido com:

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

Para configurar o Zabbix Agent somente você pode rodar o comando a seguir:

./configure --enable-agent

Você pode utilizar o parâmetro --enable-static para associar estaticamente com bibliotecas específicas. Se você planeja distribuir os binários compilados entre servidores diferetnes, você deverá utilizar este parâmetro para que o binário funcione sem as bibliotecas necessárias. Observe que --enable-static esta função não funcionará no Solaris.

O uso do parâmetro --enable-static não é uma opção recomendável.// //

Para construir o servidor de forma estática você deverá possuir as versões estáticas de cada biblioteca externa necessária. Não serão feitas verificações pelo script de configuração.

Os utilitários de linha de comando zabbix_get e zabbix_server serão gerados se o parâmetro --enable-agent for utilizada.

Utilize o parâmetro --with-ibm-db2 ou --with-oracle para especificar a localização da biblioteca de cliente.\\

Para habilitar o suporte a criptografia veja Compilando o Zabbix com suporte a criptografia.

5 Gerar e instalar tudo

Se você estiver instalando a partir do git, será necessário primeiro executar:

$ make dbschema

make install

Este passo deve ser executado por um usuário com privilégios suficientes (nomalmente o root ou através do sudo).

Ao executar o make install serão instalados os binários dos daemons (zabbix_server, zabbix_agentd, zabbix_proxy) no diretório /usr/local/sbin e os binários de linha de comando (zabbix_get, zabbix_sender) em /usr/local/bin.

Para definir um local diferente do que /usr/local, utilize o parâmetro --prefix no passo anterior (configuração), por exemplo --prefix=/home/zabbix. Neste caso os binários dos daemons serão instalados em <prefix>/sbin, enquanto os utilitários em <prefix>/bin. O manual será instalado em <prefix>/share.

6 Revisando e editando os arquivos de configuração
  • Configurar o Zabbix Agent /usr/local/etc/zabbix_agentd.conf

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

Você precisa informar o endereço IP do Zabbix Server no arquivo. Conexões a partir de outros hosts serão negadas.

  • Configurar o Zabbix Server /usr/local/etc/zabbix_server.conf

Você precisa informar o nome do banco de dados, usuário e senha (se existir).

Caso o banco de dados seja um SQLite deverá ser informado o caminho completo para o arquivo de dados; Usuário e senha não são necessários.

Os demais parâmetros podem ser deixados em seus valores padrão se você possuir uma instalação pequena (até dez hosts monitorados). Se necessário você poderá alterar os parâmetros para melhorar a performance do Zabbix Server ou Zabbix Proxy. Veja a sessão sobre tuning para mais detalhes.

  • Configuração (caso exista) do Zabbix Proxy /usr/local/etc/zabbix_proxy.conf

Você deverá informar o endereço IP do Zabbix Server, o nome do proxy (que deverá ser cadastrado no Zabbix Server), nome do banco de dados e seu usuário e senha (caso existam).

Caso o banco de dados seja um SQLite (normalmente a melhor opção para o Zabbix Proxy) deverá ser informado o caminho completo para o arquivo de dados; Usuário e senha não são necessários.

7 Iniciando os daemons

Execute o comando zabbix_server no servidor que hospedará o serviço.

shell> zabbix_server

Certifique-se que o seu sistema permita a alocação de 36MB (ou um pouco mais) de memória compartilhada, de outra forma o Zabbix Server não será iniciado e apresentará a mensagem "Cannot allocate shared memory for <type of cache>." no arquivo de log do Zabbix Server (normalmente /tmp/zabbix_server.log). Isso poderá ocorrer em FreeBSD, Solaris 8.
Veja a sessão "Veja também" ao final desta página para informações sobre configuração de memória compartilhada.

Execute o comando zabbix_agentd em todos os servidores monitorados.

shell> zabbix_agentd

Certifique-se que o seu sistema permita a alocação de 2MB de memória compartilhada, de outra forma o Zabbix Agent não será iniciado e apresentará a mensagem "Cannot allocate shared memory for collector." no arquivo de log do Zabbix Agent (normalmente /tmp/zabbix_agentd.log). Isso poderá ocorrer em FreeBSD, Solaris 8.

Se seu ambiente possuir um proxy, execute o comando zabbix_proxy no servidor que hospeda o serviço.

shell> zabbix_proxy

2 Instalando a interface web do Zabbix

Copiando os arquivos PHP

A interface web do Zabbix é escrita em PHP, então é necessário um servidor web com suporte à esta linguagem. A instalação será concluída simplesmente copiando os arquivos PHP de ui para o diretório de documentos HTML.

A localização do diretório de HTML do Apache pode variar em função da distribuição utilizada a seguir apresentamos alguns locais comuns:

  • /usr/local/apache2/htdocs (diretório padrão quando se instala o Apache a partir de seu código fonte)
  • /srv/www/htdocs (OpenSUSE, SLES)
  • /var/www/html (Fedora, RHEL, CentOS)
  • /var/www (Debian, Ubuntu)

É uma boa prática utilizar um subdiretório ao invés do diretório raiz do HTML. Para criar um subdiretório e copiar os arquivos da interface web do Zabbix, execute os comandos a seguir substituindo a tag <htdocs> pelo caminho correto para o seu caso:

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

Caso você esteja instalando o Zabbix a partir do git e precisar utilizar qualquer outro idioma que não o Inglês você irá precisar gerar os arquivos de tradução também. Os passos a seguir executam esta tarefa:

locale/make_mo.sh

A ferramenta msgfmt do pacote gettext é necessária.

Adicionalmente, para utilizar qualquer outro idioma que não o Inglês, o arquivo de localização precisará ser instalado no servidor web. Veja a sessão "Veja também" no tópico de "Perfil de usuário" para informações de instalação, se necessário.

Instalando a interface web
Passo 1

No seu navegador, abra a URL para o servidor que hospeda a interface web do Zabbix: http://<server_ip_or_name>/zabbix

Você deverá estar visualizando a primeira tela do assistente de configuração da interface web.