Idioma
Categoria
Pesquisar

Instalação do Zabbix server no Slackware

Zabbix passo a passo: requisitos, dependências, compilação, instalação, permissões, configuração e interface.

Em Open Source Por Rudi Drusian Lange
Publicado em
Última atualização

A versão do zabbix utilizada neste artigo é antiga e o método de instalação pode diferir em novas versões.

  • Ambiente de instalação
  • Zabbix 2.4.7
  • PHP 7.0.0
  • Mariadb 10.1.9
  • Apache 2.4.17
  • Slackware 14.1 64 Current

O Zabbix é uma solução de código aberto para monitoramento de disponibilidade e desempenho, fornece alertas e recursos de visualizações avançados, possui relativa facilidade de instalação e configuração se comparado ao seu maior concorrente não comercial, o Nagios. Possui um dashboard poderoso para visão global, acesso fácil aos dados e histórico de cada host monitorado, possibilita configurações globais através de templates, disponibiliza ferramenta para criação de mapas e screens sendo possível neste último mesclar o monitoramento dos hosts aos gráficos de desempenho. Permite criação de triggers altamente personalizáveis que podem ser utilizadas dentro dos mapas e screens assim como nos dashboards.

Compilação do PHP

Este artigo considera que o apache e o mysql já estão instalados. Ao final da instalação do Zabbix, na etapa de configuração da interface web, é feita uma checagem de pré requisitos, como na imagem abaixo:

Para atender alguns destes pré requisitos é necessário utilizar parâmetros extras durante a compilação do PHP, lembre-se de ajustar os diretórios do apache, do mysql e freetype conforme a localização no seu sistema.

# Shell

./configure --prefix=/usr/local/php \
--with-mcrypt \
--with-mysqli=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-mbstring \
--with-snmp \
--with-zlib \
--with-gettext \
--with-mysqli=mysqlnd \
--enable-zip \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-freetype-dir=/usr/include/freetype2/freetype/ \
--with-pdo-mysql=mysqlnd \
--with-pear \
--enable-calendar \
--enable-bcmath \
--enable-sockets

# Compile
make

# Instale
make install

Instalação das dependências do Zabbix

Antes de instalar o Zabbix é necessário instalar algumas dependências. A lista de dependências contém o link para pesquisa no SlackBuilds, comecemos pelo iksemel, faça o download do source e do slackbuild, compile e instale.

# Shell

tar -zxvf iksemel.tar.gz
mv iksemel-1.4.tar.gz iksemel/
cd iksemel/
./iksemel.SlackBuild
installpkg /tmp/iksemel-1.4-x86_64-1_SBo.tgz

Para mais informações sobre instalação de pacotes no slackware veja os artigos:

Na versão current do slackware utilizado neste artigo é possível instalar a libssh2 através do slackpkg, em versões anteriores pode ser utilizado o mesmo procedimento acima feito com o iksemel.

# Shell

slackpkg install libssh2

O jdk também pode ser instalado pelo slackbuilds, neste artigo a instalação foi feita através do slackpkg utilizando um plugin de terceiros slackpkg+, que adiciona a funcionalidade de utilizar outros repositórios além do padrão do slackware. O repositório utilizado foi alienbob.

# Shell

slackpkg install openjdk

Instale também o fping através do Slackbuild, este programa é utilizado para checar se um host está disponível e possui como importante vantagem a funcionalidade de checar vários hosts em uma única linha de comando e também de poder utilizar um arquivo com uma lista de hosts. Faça o download e instale:

# Shell

tar -zxf fping.tar.gz
mv fping-2.4b2_to.tar.gz fping/
cd fping/
./fping.SlackBuild
installpkg /tmp/fping-2.4b2_to-x86_64-1_SBo.tgz

Instalação do Zabbix

Primeiro crie o usuário e o grupo para o Zabbix:

# Shell

groupadd -g 228 zabbix
useradd -d /dev/null -s /bin/false -u 228 -g 228 zabbix

Faça o download do zabbix_server no site do Slackbuilds, se quiser utilizar a última versão disponível é possível fazer o download do source diretamente no Site do Zabbix na sessão Zabbix Sources. Caso utilize uma versão do source diferente da disponível no site Slackbuilds, será necessário alterar a versão no arquivo zabbix_server.SlackBuild antes de executar o script:

# Shell

tar -zxf zabbix_server.tar.gz
mv zabbix-2.4.7.tar.gz zabbix_server
cd zabbix_server/
vi zabbix_server.SlackBuild # Altere a versão nesta linha VERSION=${VERSION:-2.4.7}
./zabbix_server.SlackBuild
installpkg /tmp/zabbix_server-2.4.7-x86_64-1_SBo.tgz

Por padrão a instalação copia os arquivos Web do Zabbix na pasta /var/www/htdocs/zabbix/. Caso esta não seja a raiz do apache, mova os arquivos para o diretório correto para que a ferramenta fique disponível para acesso web.

Criando o banco de dados do Zabbix

Antes de executar o passo a passo da instalação web é necessário criar o banco de dados no mysql e importar as estruturas e dados básicos do zabbix. Acessando o mysql e criando o banco de dados:

# Shell

mysql -u root -p
Enter password:

MySQL

mysql> create database zabbix character set utf8;
mysql> flush privileges;
mysql> quit

Importando a estrutura e os dados das tabelas, execute os comandos na mesma ordem abaixo:

# Shell

mysql -u zabbix -p zabbix > /usr/share/zabbix_server/database/mysql/schema.sql
mysql -u zabbix -p zabbix > /usr/share/zabbix_server/database/mysql/images.sql
mysql -u zabbix -p zabbix > /usr/share/zabbix_server/database/mysql/data.sql

Arquivo de configuração

Edite o arquivo /etc/zabbix/zabbix_server.conf e insira ao menos as configurações básicas para iniciar o serviço, conforme informações abaixo:

zabbix_server.conf

### GENERAL PARAMETERS ###
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/var/run/zabbix/zabbix_server.pid

FpingLocation=/usr/sbin/fping

DBName=zabbix
DBUser=zabbix
DBPassword=senha_do_zabbix

DebugLevel=3
StartPollers=30
StartPingers=10
SenderFrequency=30
Timeout=1

Altere as permissões dos arquivos de log e pid para que o usuário do Zabbix tenha acesso de leitura e gravação:

# Shell

chown -R zabbix.zabbix /var/log/zabbix/
chmod 644 /var/log/zabbix/zabbix_server.log

Iniciando o serviço Zabbix

Copie o script rc.zabbix_server que pode ser encontrado dentro da pasta zabbix_server que foi extraída do Slackbuids do Zabbix para o diretório /etc/rc.d/ e depois conceda permissão de execução ao script.

# Shell

cp rc.zabbix_server /etc/rc.d/
chmod +x /etc/rc.d/rc.zabbix_server

Para que o script seja inicializado durante o boot do sistema adicione as linhas abaixo ao arquivo /etc/rc.d/rc.local:

/etc/rc.d/rc.local

Start the Zabbix Server:
if [ -x /etc/rc.d/rc.zabbix_server ]; then
. /etc/rc.d/rc.zabbix_server start
fi

Agora inicie o serviço:

# Shell

/etc/rc.d/rc.zabbix_server start

Cheque o arquivo /var/log/zabbix/zabbix_server.log por erros e corrija caso necessário.

Configurando a interface web do Zabbix

Antes de começar a configuração web, altere as linhas no arquivo php.ini para atender aos pré requisitos do zabbix, deixando conforme abaixo:

php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone=America/Sao_Paulo
memory_limit = 128M

Caso esteja utilizando uma versão do PHP anterior a 7.0.0, descomente a linha always_populate_raw_post_data = -1 no arquivo php.ini. Se estiver usando a versão 7 do PHP esta linha foi removida, sendo necessário desabilitar esta checagem no Zabbix para podermos continuar com a configuração. Dentro da pasta web do Zabbix (ex: /www/zabbix/) edite o arquivo include/classes/setup/CFrontendSetup.php, trocando:

CFrontendSetup.php

Troque a linha
if (version_compare(PHP_VERSION, '5.6', '>=')) {
$result[] = $this->checkPhpAlwaysPopulateRawPostData();
Por:
if (version_compare(PHP_VERSION, '7.1', '>=')) {
$result[] = $this->checkPhpAlwaysPopulateRawPostData();

Acesse a interface web do zabbix, no caso de estar na maquina local: http://127.0.0.1/zabbix/. A seguir as imagens do passo a passo comentado da configuração.

Tela inicial da configuração web zabbix ↓

tela inicial configuração zabbix

Confira se todos os pré requisitos foram atendidos ↓

checagem de pré requisitos zabbix

Configure a conexão com o banco de dados e clique em Test connection

conexão com o banco de dados zabbix

Se a conexão for estabelecida clique em Next ↓

conexão com o banco de dados zabbix

Configuração do nome do host e da porta ↓

hostname e porta e zabbix

Sumário das configurações ↓

sumário zabbix

Finalização da configuração ↓

finalização da configuração zabbix

O usuário padrão do Zabbix é admin e a senha zabbix. Agora o zabbix esta instalado, o próximo passo é configurá-lo para o monitorar seus hosts.