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.
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:
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).
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:
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.
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.
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:
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:
Para configurar os fontes com o SQLite, você pode executar algo parecido com:
Para configurar o Zabbix Agent somente você pode rodar o comando a seguir:
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.
Se você estiver instalando a partir do git, será necessário primeiro executar:
$ make dbschema
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.
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.
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.
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.
Execute o comando zabbix_server
no servidor que hospedará o serviço.
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.
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.
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:
É 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:
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:
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.
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.
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.
Informe os detalhes de conexão com o banco de dados do Zabbix. O banco já deverá ter sido criado.
Informe os dados do Zabbix Server.
Revisão de configurações.
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ê.
Finalizar a instalação.
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.