Parte II – Instalando e rodando o Zabbix

Post atualizado para a versão mais recente do zabbix 1.8.x

Este post faz parte de uma série sobre Monitoramento utilizando o Zabbix disponível em:

Monitoramento fácil com o Zabbix
Parte I – Introdução
Parte II – Instalando e Rodando o Zabbix
Parte III – Instalando agentes e administrando o Zabbix

Dúvidas, sugestões, críticas e outros comentários devem ser postados em: Monitoramento fácil com o Zabbix

Bom, agora que eu acredito que meus possíveis leitores já tenham uma vaga idéia do que é o Zabbix, vamos para a segunda parte do nosso documento

“Instalando e rodando o Zabbix”

Ambiente usado:

CentOS release 5.X

Zabbix 1.8.x

Preparando o servidor
# yum update
Pacotes necessários para instalação do zabbix e para interface web:
# yum install gcc httpd php php-bcmath php-cli php-gd php-mbstring php-mcrypt php-mysql curl curl-devel net-snmp net-snmp-lib net-snmp-utils net-snmp-devel OpenIPMI OpenIPMI-devel mysql-server mysql-devel php-mysql gnutls-devel mod_ssl

Bibliotecas adicionais:
fping: http://packages.sw.be/fping/
Baixe o rpm do pacote fping (el5).

# wget http://packages.sw.be/fping/fping-2.4-1.b2.3.el5.rf.x86_64.rpm
# rpm -ivh fping-2.4-1.b2.3.el5.rf.x86_64.rpm
warning: fping-2.4-1.b2.3.el5.rf.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing... ########################################### [100%]
1:fping ########################################### [100%]

iksemel: http://packages.sw.be/iksemel/
Baixe o rpm dos pacotes iksemel e iksemel-devel (el5).

# wget http://packages.sw.be/iksemel/iksemel-devel-1.4-1.el5.rf.x86_64.rpm
# wget http://packages.sw.be/iksemel/iksemel-1.4-1.el5.rf.x86_64.rpm
# rpm -ivh iksemel-*
warning: iksemel-1.4-1.el5.rf.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing... ########################################### [100%]
1:iksemel ########################################### [ 50%]
2:iksemel-devel ########################################### [100%]

libssh2: http://packages.sw.be/libssh2/
Baixe o rpm dos pacotes libssh2 e libssh2-devel (el5).
# wget http://packages.sw.be/libssh2/libssh2-1.2.7-1.el5.rf.x86_64.rpm
# wget http://packages.sw.be/libssh2/libssh2-devel-1.2.7-1.el5.rf.x86_64.rpm
# rpm -ivh libssh2*
warning: libssh2-1.2.7-1.el5.rf.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing... ########################################### [100%]
1:libssh2 ########################################### [ 50%]
2:libssh2-devel ########################################### [100%]

Ajustes do php.ini
De acordo com os requerimentos do zabbix, abra o arquivo /etc/php.ini e ajuste os itens:
date.timezone="America/Sao_paulo"
max_execution_time = 600
max_memory=256M
post_max_size = 32M
upload_max_filesize = 16M
max_input_time = 600

Obtendo e Instalando o Zabbix

Antes de prosseguir, visite o site zabbix.com e verifique se existe alguma versão mais nova do mesmo

# cd /usr/src/
# wget http://ufpr.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.8.x.tar.gz
# tar xvfz zabbix-1.8.x.tar.gz
# cd zabbix-1.8.x
# ./configure --with-mysql --enable-server --enable-agent --enable-proxy --with-jabber --with-net-snmp --with-libcurl --with-openipmi --with-ssh2
# make install
# mkdir /etc/zabbix
# cp misc/conf/zabbix_server.conf /etc/zabbix/
# cp misc/conf/zabbix_agentd.conf /etc/zabbix/
# chown zabbix:zabbix /etc/zabbix/ -R

Configurando o banco de dados

# mysql -u root -p
mysql> create database zabbix character set utf8;
mysql> grant ALL on zabbix.* to zabbix@'localhost' identified by 'minhasupersenha';
Query OK, 0 rows affected (0.02 sec)
# cd create/schema/
# cat mysql.sql |mysql -u zabbix -p zabbix
Enter password:
# cat ../data/data.sql |mysql -u zabbix -p zabbix
Enter password:
# cat ../data/images_mysql.sql |mysql -u zabbix -p zabbix
Enter password:
#

Configurando os daemons zabbix_server e zabbix_agentd

Tratando-se de uma instalação pequena, não é necessário nenhum “tweaking” para ajustes de performance, nem no server nem no agentd.

# vi /etc/zabbix/zabbix_agentd.conf

Neste arquivo, a unica linha que precisa ser configurada neste momento é:

Server=127.0.0.1

Esta linha qual o IP de origem do monitoramento. (servidor)

Como usaremos um agente e um servidor no mesmo computador, vamos colocar nosso próprio IP como Server.

Ajustando as configurações do banco de dados

# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=minhasupersenha

Ok, agora é a hora da verdade, vamos verificar se o agente e o servidor rodam corretamente:

# zabbix_server
# zabbix_agentd


Após executar estes dois comandos, digite:

# ps aux |grep zabbix

Ele deve mostrar várias instancias do zabbix_agentd e do zabbix_server rodando.

Partindo do pré-suposto que tudo funcionou bem redondinho, vamos instalar o frontend em php do Zabbix

FrontEnd

# mkdir /var/www/html/zabbix
# cd frontends/php
cp * -R /var/www/html/zabbix/
# chown apache:apache /var/www/html/zabbix/ -R

Agora acesse a interface web do zabbix usando o endereço: http://ip_do_servidor/zabbix

Leia a introdução e a licença completamente, para só então clicar em Agree e Next :)

Basicamente só é necessário configurar os dados de conexão com o banco de dados através da interface web (usuário, senha, nome da base) e finalizar a instalação.

Fique atento, caso apareça algum aviso durante esta parte corrija o problema antes de prosseguir.

Logando, Testando e adicionando o “Meu Primeiro Host”

Acesse novamente http://ip_do_servidor/zabbix

Ele deve mostrar uma tela solicitando usuário e senha. Neste ponto eu poderia ser omisso e deixar vocês tentarem diversas senhas como eu fiz da primeira vez, até o momento que eu descobri que o user é admin e a senha em branco :P

Após logar, clique em “Reports” e verifique se o Zabbix_Server está rodando.

Troque a senha do user admin, para isso, clique em Administration e vá em Users.

Selecione o usuário admin e clique em change password. Por favor né, vê se coloca uma senha decente e não esquece dela!

Aproveite para atribuir um email para o administrador. Clique em Add Media e insira seu email ali.

Adicionando o “Meu Primeiro Host”

Ia deixar esta parte para a matéria seguinte, mas resolvi colocar agora para já mostrar porque que o Zabbix é tão bom de administrar ;)

Clique em Configuration, vá em Hosts

Nesta versão do Zabbix, ele já está com o Zabbix Server pré cadastrado e pré configurado, apenas inativo.

Vá direto na coluna Status onde diz “Not monitored” e clique neste texto.

Pronto, seu Zabbix está rodando e monitorando a ele mesmo.

Agora clique em Monitoring – Overview.

Nesta tela, estará mostrando todos os serviços sendo monitorados. Provavelmente aparecerão alguns serviços com alertas ligados, isto porque o servidor está sendo monitorado apartir de um template bem genérico.

Trataremos deste assunto e outros mais na próxima matéria.

3 Responses to Parte II – Instalando e rodando o Zabbix