quarta-feira, 15 de julho de 2015

Zabbix | Instalação do Zabbix 2.4.5 em ambiente Debian



Neste artigo estarei mostrando os passos da instalação de um servidor de monitoramento Zabbix em um ambiente GNU/Linux Debian 7 Wheezy x64. Estarei utilizando um Kernel 4.0 Low Latency, mas este detalhe é opcional.

Instalando as dependências

sudo apt-get install -y --force-yes make flex gcc gpp apache2 php5 php5-mysql libapache2-mod-php5 php5-gd php-net-socket libpq5 libpq-dev snmp libiksemel-dev libcurl4-gnutls-dev vim libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev mysql-server-5.5 mysql-client wget libmysqld-dev curl fping openjdk-8-jdk 

Uma dessas dependências é o mysql-server, então durante o processo ele irá pedir pra você fornecer uma senha para o banco.
Coloque uma senha que você se lembre e deixe que ele prossiga com a configuração da base de dados. No caso deste exemplo irei definir a senha do Mysql como '12345'



Agora devemos criar os diretórios onde vão ficar os arquivos de configuração do servidor


# mkdir -pv /etc/zabbix/install
#cd /etc/zabbix/install 


Agora baixe os pacotes do servidor

# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
# tar xvf zabbix-2.4.5.tar.gz


Agora iremos ter que configurar a base Mysql e o PHP para dar suporte ao Zabbix

# mysql –u root –p 

 mysql> create database zabbix character set utf8;
 mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '12345' WITH GRANT OPTION;
 mysql> quit;

ATENÇÃO!! note que no IDENTIFIED BY eu coloquei '12345', troque este valor pela sua senha do Mysql


 Agora vamos criar um usuário no servidor sem home nem senha para operar o Zabbix

 #useradd -s /bin/false zabbix


 Agora devemos fazer algumas alterações no arquivo de configuração do PHP para que ele suporte as requisições e processos do servidor que vamos subir logo em seguida

 # nano /etc/php5/apache2/php.ini 

 Dentro do arquivo procure os parâmetros abaixo e altere seus respectivos valores para:

date.timezone = 'America/Sao_Paulo'
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
always_populate_raw_post_data

Agora é só reiniciar o apache

# service apache2 restart 


Agora precisamos editar o arquivo /etc/services e adicionar algumas linhas no final dele

# nano /etc/services 

cole as seguintes linhas no final do arquivo


# Serviços do Zabbix
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper


Instalando o Zabbix


Primeiramente, devemos instalar os arquivos do banco do zabbix

cd /etc/zabbix/install/zabbix-2.4.5/database/mysql/

# mysql -u zabbix -p zabbix < schema.sql
# mysql -u zabbix -p zabbix < images.sql
# mysql -u zabbix -p zabbix < data.sql 



VAMOS COMPILAR!!

cd /etc/zabbix/install/zabbix-2.4.5/

Agora o passo mais Matrix de todos, onde nós devemos compilar e instalar o serviço

# ./configure --prefix=/etc/zabbix --enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --with-jabber --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi
# make
# make install

Agora vamos linkar alguns arquivos de configuração para facilitar nossa vida

# ln -s /etc/zabbix/etc/zabbix_agentd.conf /etc/zabbix
# ln -s /etc/zabbix/etc/zabbix_server.conf /etc/zabbix 


Agora vamos configurar o agente do Zabbix Server


Edite o arquivo

# nano /etc/zabbix/zabbix_agentd.conf

e altere os seguintes valores

PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=2
DebugLevel=3
EnableRemoteCommands=1
LogRemoteCommands=1
Server=127.0.0.1
ListenPort=10050
Hostname=servidorteste #NOME DO SEU SERVIDOR




Agora edite o arquivo

# nano /etc/zabbix/zabbix_server.conf
E altere os parâmetros abaixo para:
ListenPort=10051
LogFile=/tmp/zabbix_server.log
LogFileSize=2
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=12345  // ALTERE PARA A SENHA QUE VOCÊ COLOCOU NO BANCO DE DADOS                                    
StartIPMIPollers=1
StartDiscoverers=5
FpingLocation=/usr/sbin/fping


Agora vamos configurar a Front end do Zabbix

Debian 7 Wheezy
# mkdir /var/www/zabbix
# cp -R /etc/zabbix/install/zabbix-2.4.5/frontends/php/* /var/www/zabbix/
# chown -R www-data:www-data /var/www/zabbix/
# service apache2 restart

Debian 8 Jessie

# mkdir /var/www/html/zabbix
# cp -R /etc/zabbix/install/zabbix-2.4.5/frontends/php/* /var/www/html/zabbix/
# chown -R www-data:www-data /var/www/html/zabbix/
# service apache2 restart

Criando os scripts de inicialização

# nano /etc/init.d/zabbix_agentd 

cole o conteúdo:


#!/bin/sh
#
# Zabbix agent start/stop script.
#
# Written by Alexei Vladishev <alexei.vladishev@zabbix.com>.
NAME=zabbix_agentd
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin
DAEMON=/etc/zabbix/sbin/${NAME}
DESC="Zabbix agent daemon"
PID=/tmp/$NAME.pid
test -f $DAEMON || exit 0
set -e
case "$1" in
  start)
        echo "Starting $DESC: $NAME"
        start-stop-daemon --oknodo --start --pidfile $PID \
                 --exec $DAEMON
        ;;
  stop)
        echo "Stopping $DESC: $NAME"
        start-stop-daemon --oknodo --stop  --pidfile $PID \
                --exec $DAEMON
        ;;
  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is
        #       just the same as "restart".
        #
#       echo -n "Restarting $DESC: zabbix_agent"
        $0 stop
        $0 start
#       start-stop-daemon --stop --quiet --pidfile \
#               /tmp/$NAME.pid --user zabbix --exec $DAEMON
#       sleep 1
#       start-stop-daemon --start --quiet --pidfile \
#               /tmp/$NAME.pid --user zabbix --exec $DAEMON
#       echo "$NAME."
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac
exit 0




agora edite o arquivo

# nano /etc/init.d/zabbix_server

e cole o conteúdo

#!/bin/sh
#
# Zabbix daemon start/stop script.
#
# Written by Alexei Vladishev <alexei.vladishev@zabbix.com>.
NAME=zabbix_server
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/home/zabbix/bin
DAEMON=/etc/zabbix/sbin/${NAME}
DESC="Zabbix server daemon"
PID=/tmp/$NAME.pid
test -f $DAEMON || exit 0
set -e
case "$1" in
  start)
        echo "Starting $DESC: $NAME"
        start-stop-daemon --oknodo --start --pidfile $PID \
                --exec $DAEMON
        ;;
  stop)
        echo "Stopping $DESC: $NAME"
        start-stop-daemon --oknodo --stop --pidfile $PID \
                --exec $DAEMON
        ;;
  restart|force-reload)
        #
        #       If the "reload" option is implemented, move the "force-reload"
        #       option to the "reload" entry above. If not, "force-reload" is 10
        #       just the same as "restart".
        #
#       echo -n "Restarting $DESC: zabbix_server"
        $0 stop
        $0 start
#       start-stop-daemon --stop --quiet --pidfile \
#               /tmp/$NAME.pid --user zabbix --exec $DAEMON
#       sleep 1
#       start-stop-daemon --start --quiet --pidfile \
#               /tmp/$NAME.pid --user zabbix --exec $DAEMON
#       echo "$NAME."
        ;;
  *)
        N=/etc/init.d/$NAME
        # echo "Usage: $N {start|stop|restart|force-reload}" >&2
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac
exit 0



Agora vamos ajustar as permissões de execução e iniciar os serviços

# chmod +x /etc/init.d/zabbix_server /etc/init.d/zabbix_agentd
# /etc/init.d/zabbix_server start
# /etc/init.d/zabbix_agentd start 


Agora vamos configurar o parâmetro para que os scripts sejam rodados na inicialização do sistema

# update-rc.d -f zabbix_server defaults
# update-rc.d -f zabbix_agentd defaults 



Agora no seu navegador acesse:

http://IP-DO-SEU-SERVIDOR/zabbix



Avançando você vai se deparar com a página de pŕe requisitos do Zabbix. Se você configurou o PHP e o MySQL corretamente no inicio da postagem, esta tela estará tudo OK. É só avançar. Caso ainda ocorra algum erro, acesso o arquivo  /etc/php5/apache2/php.ini  e revisar as configurações que fizemos.



Agora será necessário configurar a conexão com a base MySQL que configuramos anteriormente. É só colocar o banco "Zabbix", o usuário e senha que atribuímos a mesma, clique em "Test" e já era. O Resto é Next, Next, Finish. Nesse caso eu usei o root, mas fique a vontade se quiser criar um usuário específico que tenha permissões para atuar somente no banco do sistema.




Agora você vai precisar fornecer as senhas

Login: admin
Senha: zabbix


SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

1 comentários:

  1. Segue ótimo laboratório para iniciantes Zabbix e profissionais de TI que queiram monitorar seu ambiente...
    http://www.zabbixlab.eti.br

    ResponderExcluir

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com