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.confE 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
Segue ótimo laboratório para iniciantes Zabbix e profissionais de TI que queiram monitorar seu ambiente...
ResponderExcluirhttp://www.zabbixlab.eti.br