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.2.0.tar.gz

Entre com a versão correta do Zabbix no comando, a versão faz parte do nome do arquivo (Ex. 5.2.1 = zabbix-5.2.1.tar.gz, 5.2.0 = zabbix-5.2.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 frontends/php 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 frontends/php
       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.

Passo 2

Certifique-se que todos os pré-requisitos foram atendidos.

Pré-requisito Versão mínima Descrição
PHP - Versão 5.4.0
PHP - Opção memory_limit 128MB No php.ini:
memory_limit = 128M
PHP - Opção post_max_size 16MB No php.ini:
post_max_size = 16M
PHP - Opção upload_max_filesize 2MB No php.ini:
upload_max_filesize = 2M
PHP - Opção max_execution_time 300 segundos (valores permitidos: 0 e -1) No php.ini:
max_execution_time = 300
PHP - Opção max_input_time 300 segundos (valores permitidos: 0 e -1) No php.ini:
max_input_time = 300
PHP - Opção session.auto_start precisa estar inativo No php.ini:
session.auto_start = 0.
Suporte a banco de dados Um destes: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite Um dos módulos deverá estar instalado:
ibm_db2, mysql, oci8, pgsql, sqlite3
bcmath php-bcmath
mbstring php-mbstring
PHP - Opção mbstring.func_overload precisa estar desabilitado No php.ini:
mbstring.func_overload = 0.
PHP - Opção always_populate_raw_post_data Valor obrigatório: -1 Necessário apenas para versão do PHP superior a 5.6.0.
No php.ini:
always_populate_raw_post_data = -1
sockets php-net-socket. Necessário para o suporte a script de usuário.
gd 2.0 ou superior php-gd. Extensão PHP GD precisa suportar imagens PNG (--with-png-dir), JPEG (--with-jpeg-dir) images e FreeType 2 (--with-freetype-dir).
libxml 2.6.15 php-xml ou php5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
gettext php-gettext
Desde o Zabbix 2.2.1, a extensão PHP gettext não é um requisito obrigatório. Se gettext não estiver instalado a interface web irá funcionar, entretanto, a tradução de idiomas não estará funcional.

Pré-requisitos opcionais poderão estar presentes na lista. Um pré-requisito opcional será apresentado na cor laranja e terá o estado de Alerta. A falha neste tipo de parâmetro não bloqueia o assistente de configuração.

Se for necessária a alteração de permissionamento do usuário ou grupo de usuários do Apache, estas permissões deverão ser verificadas manualmente sob pena da configuração não continuar.

Passo 3

Informe os detalhes de conexão com o banco de dados do Zabbix. O banco já deverá ter sido criado.

Passo 4

Informe os dados do Zabbix Server.

Passo 5

Revisão de configurações.

Passo 6

Baixe o arquivo de configuração gerado e o instale dentro do diretório conf/ que existe no local para onde você copiou os arquivos PHP do Zabbix.

Se o servidor web (Apache ou outro) tiver permissão de gravação ao diretório conf/ o assistente de configuração já irá criar o arquivo para você.

Passo 7

Finalizar a instalação.

Passo 8

A interface web do Zabbix está pronta para uso! O usuário e senha padrão são: Admin / zabbix.

Pode ser útil a leitura da documentação: guia rápido do Zabbix.

Veja também

  1. Como configurar memória compartilhada para os daemons do Zabbix