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:
$ tar -zxvf zabbix-3.0.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:
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.
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:
./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.
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.
zabbix_get
e zabbix_server
serão gerados se o parâmetro --enable-agent for utilizada.
Para habilitar o suporte a criptografia veja Compilando o Zabbix com suporte a criptografia.
$ 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.
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).
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).
Execute o comando zabbix_server
no servidor que hospedará o serviço.
shell> zabbix_server
Execute o comando zabbix_agentd
em todos os servidores monitorados.
shell> zabbix_agentd
Se seu ambiente possuir um proxy, execute o comando zabbix_proxy
no servidor que hospeda o serviço.
shell> zabbix_proxy
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:
mkdir <htdocs>/zabbix cd frontends/php cp -a . <htdocs>/zabbix
Caso você esteja instalando o Zabbix a partir do SVN 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.
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.
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.
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.