Instalação e configuração do Zabbix no Debian Squeeze

Vamos efetuar a instalação e a configuração do Zabbix uma ferramento para monitoramento de rede.

Pré-requisitos:

  • Ip do servidor 10.0.0.25 porta utilizada pelo zabbix-server 10050
  • Ip do client 10.0.0.26 porta utilizada pelo zabbix-client 10050

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.

Vamos atualizar os repositorio e fazer um update do sistema.

aptitude update && aptitude dist-upgrade -y

Agora vamos instalar alguns pacotes necessários

aptitude install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl3-dev apache2 fping curl -y
  • Defina a senha para o usuário root do mysql e confirme ela

Vamos criar um usuário para zabbix

useradd zabbix -s /bin/false

Agora vamos adicionar ele ao grupo adm

adduser zabbix adm

Baixando o código fonte do zabbix

mkdir /usr/src/zabbix
cd /usr/src/zabbix
wget -c http://wiki.douglasqsantos.com.br/Downloads/monitoring/zabbix-1.8.5.tar.gz

Agora vamos desempacotar ele

tar -xzvf zabbix-1.8.5.tar.gz

Agora vamos criar o usuario e a base de dados para o zabbix

mysql -p -e "create database zabbix;"

Enter password: senha

mysql -p -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'senha';"

Enter password: senha

Vamos importar agora a base de dados para o zabbix

cd /usr/src/zabbix/zabbix-1.8.5/create/schema/
mysql -uzabbix -p zabbix < mysql.sql

Enter password: senha

cd ../data/
mysql -uzabbix -p zabbix < data.sql
mysql -uzabbix -p zabbix < images_mysql.sql

Agora vamos compilar ele

cd /usr/src/zabbix/zabbix-1.8.5/
./configure --prefix=/usr --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent
make install clean

Acertando o /etc/services

echo "zabbix_agent 10050/tcp # Zabbix ports" >> /etc/services
echo "zabbix_trap 10051/tcp " >> /etc/services

Agora vamos configurar o sistema para o zabbix

mkdir /etc/zabbix
chown -R zabbix.zabbix /etc/zabbix/
cp -Rfa misc/conf/zabbix_* /etc/zabbix/

Vamos acertar agora a configuração do Agent do zabbix ele que vai ficar enviando informações para o servidor.

vim /etc/zabbix/zabbix_agentd.conf
[...]
#Ip do servidor Zabbix no nosso caso agora vai ser ele mesmo
Server=127.0.0.1
[...]
#Nome para essa maquina vamos deixar como Zabbix server mesmo.
Hostname=Zabbix server

Vamos acertar agora a configuração do Server

vim /etc/zabbix/zabbix_server.conf 
[...]
DBUser=zabbix
[...]
DBPassword=senha

Copie os scripts para a pasta /etc/init.d/ para que possamos gerenciar o servidor zabbix.

cp /usr/src/zabbix/zabbix-1.8.5/misc/init.d/debian/zabbix-* /etc/init.d

Vamos acertar algumas configurações nos scripts

Script do server

vim /etc/init.d/zabbix-server
[...]
DAEMON=/usr/sbin/${NAME}

Script do Agent

vim /etc/init.d/zabbix-agent
[...]
DAEMON=/usr/sbin/${NAME}

Agora vamos acertar as permissões dos arquivos

chmod 755 /etc/init.d/zabbix-*

Agora vamos inserir eles na incialização do sistema

insserv -f -v zabbix-server
insserv -f -v zabbix-agent

Agora vamos inicializar os serviço e verificar se ele esta trabalhando

Vamos iniciar o server

/etc/init.d/zabbix-server start
Starting Zabbix server daemon: zabbix_server

Agora vamos iniciar o agente

/etc/init.d/zabbix-agent start
Starting Zabbix agent daemon: zabbix_agentd

Vamos verificar se ele esta em funcionamento.

ps -aux | egrep zabbix
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
zabbix   15121  0.0  0.4 115076  2356 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15122  0.0  0.3 115076  1604 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15123  0.0  0.4 116820  2544 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15124  0.0  0.4 116820  2544 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15125  0.0  0.4 116820  2544 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15126  0.0  0.4 116820  2544 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15127  0.0  0.4 116820  2544 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15128  0.0  0.4 116820  2544 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15129  0.0  0.2 115076  1484 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15130  0.0  0.2 115076  1484 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15131  0.0  0.2 115076  1484 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15132  0.0  0.2 115076  1484 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15133  0.0  0.3 115164  1728 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15134  0.0  0.2 115648  1512 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15135  0.0  0.2 115076  1508 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15136 14.0  0.3 115076  1704 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15137  0.0  0.3 115076  1532 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15138  0.0  0.2 115076  1524 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15139  0.0  0.5 116568  2560 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15140  0.0  0.2 115076  1504 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15159  0.0  0.2 115076  1504 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15160  0.0  0.2 115076  1504 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15161  0.0  0.2 115076  1504 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15162  0.0  0.2 115076  1512 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15163  0.0  0.2 115076  1508 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15164  0.0  0.2 115076  1300 ?        SN   09:39   0:00 /usr/sbin/zabbix_server
zabbix   15174  0.0  0.1  17668   616 ?        SN   09:40   0:00 /usr/sbin/zabbix_agentd
zabbix   15175  0.0  0.1  17668   660 ?        SN   09:40   0:00 /usr/sbin/zabbix_agentd
zabbix   15176  0.0  0.1  17668   636 ?        SN   09:40   0:00 /usr/sbin/zabbix_agentd
zabbix   15177  0.0  0.0  17668   484 ?        SN   09:40   0:00 /usr/sbin/zabbix_agentd
zabbix   15178  0.0  0.0  17668   484 ?        SN   09:40   0:00 /usr/sbin/zabbix_agentd
zabbix   15179  0.0  0.1  17676   648 ?        SN   09:40   0:00 /usr/sbin/zabbix_agentd
root     15181  0.0  0.1   7552   936 pts/0    S+   09:40   0:00 egrep --color zabbix

Como pode ser notado subiu o serviço do agent e o serviço do server, agora vamos para a configuração do gerenciador web.

Vou deixar a pagina do zabbix na raiz do apache mesmo.

cp -Rfa /usr/src/zabbix/zabbix-1.8.5/frontends/php/* /var/www/
rm -rf /var/www/index.html
chown -R www-data:www-data /var/www/

Agora temos que acertar algumas variáveis do php5 deixe como abaixo

vim /etc/php5/apache2/php.ini
[...]
post_max_size = 32M
[...]
max_execution_time = 600
[...]
max_input_time = 600
[...]
date.timezone = America/Sao_Paulo
[...]

Agora é só reiniciar o apache

/etc/init.d/apache2 restart

Agora acesse o http://ipdoservidor

Aqui nesta tela selecione Next.

Aqui nesta tela selecione I agree e selecione Next.

)

Aqui nesta tela vai aparecer os pré-requisitos para o gerenciador web funcionar se tudo estiver ok vai ser habilitado o botão Next. Caso esteja tudo ok selecione Next.

)

Aqui nesta tela informe o usuário no nosso caso zabbix e a senha e selecione Test connection.

)

Como pode ser notado a conexão com o banco foi efetuada com sucesso agora vamos selecionar Next.

)

Aqui nesta tela podemos selecionar o Next.

)

Aqui é um resumo das configurações selecione Next.

)

Aqui nesta tela é só selecionar Next é neste momento que a configuração vai ser armazenada nos arquivo .php e no banco.

)

Terminamos a instação aqui é só selecionar Finish.

)

Aqui é a nossa tela de login usuario é : admin e a senha é: zabbix após isso selecione Enter.

Agora vamos acertar algumas configurações.

)

Na parte superior direita da tela após efetuar o login selecione o Profile.

)

Aqui selecione o seu Idioma e faça a troca da senha e selecione Save.

)

Esse é o nosso dashboard vamos vir parar aqui após efetuar a troca da senha e do idioma. Agora vamos habilitar o nosso servidor local a ser monitorado.

Selecione Administração/Hosts

)

Aqui selecione o Não monitorado vai aparecer uma mensagem selecione OK que ele vai passar para monitorado.

)

Agora ele mudou de status para monitorado.

Quando ele conseguir se comunicar com o agente vai ficar como abaixo.

)

O simbolo da disponibilidade fica verde.

Agora selecione monitoramento. Vamos ter um resumo do que esta acontecendo.

Vamos agora corrigir alguns erros.

)

Em Grupo de Hosts selecione o Zabbix Servers

)

Vamos ter essa tela nos informando do problema horario e se o problema foi visto e qual é ele.

Exemplo eu não estou utilizando pop3 e nem imap neste servidor então eu posso desabilitar essa funcionalidades vamos fazer isso.

No menu superior da tela selecione Configuração/Hosts

)

Como os nossos avisos eram sobre Triggers vamos ver quais estão habilitadas e vamos desabilitar o pop3 e imap.

Selecione então Triggers.

)

Aqui nos temos as nossas trigger e se elas estão ativas para desativar uma trigger é só selecionar o link Ativo que ele vai passar para Inativo. Então selecione o Ativo da linha do IMAP.

No canto superior direito da tela temos um link chamado Mostrar triggers inativas selecione ele.

)

Agora como pode ser notado ela passou para Inativo vamos voltar para o dashbord para verificarmos os erros novamente.

Selecione Monitoramento/DashBoard

)

Agora como pode ser notado não temos mais o aviso do imap então agora vá corrigindo os outros como no exemplo.

Agora vamos configurar um cliente.

Vamos atualizar os repositórios e vamos instalar o agent do zabbix.

aptitude update && aptitude dist-upgrade -y
aptitude install zabbix-agent -y

Agora vamos configurar o cliente

vim /etc/zabbix/zabbix_agentd.conf
[...]
Server=10.0.0.25
[...]
ServerPort=10050
[...]
Hostname=Cliente

Agora vamos acertar o /etc/services

echo "zabbix_agent 10050/tcp # Zabbix ports" >> /etc/services
echo "zabbix_trap 10051/tcp " >> /etc/services

Agora vamos reiniciar o serviço para que ele começa a conversar com o servidor.

/etc/init.d/zabbix-agent restart

Agora vamos testar a conexão, no servidor agora

zabbix_get -s10.0.0.26 -p10050 -kagent.version
1.8.2

O servidor nos retornou que a versão que o cliente esta utilizando é a 1.8.2 então estamos chegando até o cliente agora vamos então configurar ele no painel web.

Vamos criar um grupo que vai armazenar os clientes depois vamos criar um cliente que vai ser o 10.0.0.26 e vamos associar a ele um template para monitoramento.

  • Selecione Configuração/Grupo de Hosts
  • Selecione Criar grupo na parta superior da tela do lado direito.
  • Agora informe o nome para o Grupo ex: Clientes e vamos selecionar salvar.
  • Agova vá em Configuração/Hosts
  • Selecione Criar Host
  • Agora informe um nome para ele no nosso exemplo Cliente
  • Agora em Grupos tire o grupo Zabbix servers e adicone o grupo Clientes que criamos a pouco.
  • Agora em Nome DNS informe o fqdn da maquina exemplo: Cliente.dominio.com.br ou somente Cliente
  • Agora em Endereço IP informe o ip do cliente: 10.0.0.26
  • Agora do lado direito da tela temos uma seção chamada Associado aos templates
  • Nela selecione Adicionar
  • Agora selecione o grupo Templates
  • Agora selecione o Template: Template_Linux e vá até o final dessa tela e selecione selecionar.
  • Agora selecione Salvar.
  • Agora navegue novamente até Configuração/Hosts
  • No canto direito superior da tela temos uma opção sobre Grupos selecione Todos.
  • Agora vai ser nos mostrados os dois grupos o Zabbix Server e o grupo Clientes.

Baixe a documentação no site do zabbix que tem muitas opções de configuração.

Referências