1. Pré-Instalação
# apt-get update
# 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-6-jdk
Obs: Na instalação do MySQL será solicitado a senha do root.
Pronto, depois de instalmaros as dependências para a instalação do Zabbix, vamos criar os diretórios onde ficarão os arquivos.
# mkdir -pv /etc/zabbix/install
# cd /etc/zabbix/install
Já dentro do diretório, vamos baixar e descompactar o pacote do Zabbix:
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.8/zabbix-2.0.8.tar.gz
# tar -xzvf zabbix-2.0.8.tar.gz
Pronto, agora vamos as configurações.
2. Configuração
O que devemos fazer agora é criar e configurar a base do MySQL que será usado pelo Zabbix, criar um usuário para o Zabbix no Unix e configurar o Apache/PHP.
# mysql –u root –p
mysql> create database zabbix character set utf8;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> quit;
Obs: Em password coloque a senha da base de dados para o usuário zabbix que não terá ligação com o usuário do Unix.
# useradd -s /bin/false zabbix
Vamos agora, alterar algumas configurações do Apache/PHP, editando o seguinte arquivo:
# pico /etc/php5/apache2/php.ini
date.timezone = "America/Sao_Paulo"
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
Como alteramos as configurações do Apache/PHP, vamos reinicia-lo:
# /etc/init.d/apache2 restart
3. Instalação
Vamos agora, começar realmente a instalação do Zabbix, o primeiro passo é popular a base de dados que criamos acima:
# cat /etc/zabbix/install/zabbix-2.0.8/database/mysql/schema.sql | mysql -u zabbix -p<password> zabbix
# cat /etc/zabbix/install/zabbix-2.0.8/database/mysql/images.sql | mysql -u zabbix -p<password> zabbix
# cat /etc/zabbix/install/zabbix-2.0.8/database/mysql/data.sql | mysql -u zabbix -p<password> zabbix
Depois de popular o banco de dados, vamos configurar o pacote para a instalação, para isso navegue até o deretório /etc/zabbix/install/zabbix-2.0.8/:
# ./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
--prefix=/etc/zabbix – Indicando o diretório dos arquivos de instalação.
--enable-server – Habilitando o servidor Zabbix.
--enable-agent – Habilitando o agente Zabbix.
--enable-java – Habilitando o java.
--with-mysql – Indicando qual será a nossa base de dados, no nosso caso o MySQL.
--with-net-snmp – Habilitando o monitoramento SNMP.
--with-jabber – Habilitando o envio de mensagens via Jabber.
--with-libcurl=/usr/bin/curl-config – Habilitando a biblioteca Curl e indicando o seu diretório.
--with-ssh2 – Habilitando o modulo SSH2 para comandos remotos e monitoramento via SSH.
--with-openipmi – Habilitando o monitoramento IPMI
Obs: Caso queira verificar todos os módulos disponíveis no Zabbix execute o comando ./configure --help
Depois de configurarmos o pacote, vamos compilar e instalar:
# make; make install
Vamos editar o arquivo /etc/services adicionando as portas necessárias para comunicação do Zabbix:
# pico /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
Em alguns casos a linha é adicionada automaticamente, então tente localiza-las antes de inserir manualmente.
Agora, vamos criar alguns links para ficar mais fácil a localização dos arquivos de configuração, tanto do cliente como do servidor Zabbix:
# ln -s /etc/zabbix/etc/zabbix_agentd.conf /etc/zabbix
# ln -s /etc/zabbix/etc/zabbix_server.conf /etc/zabbix
Vamos editar o arquivo /etc/zabbix/zabbix_agentd.conf alterando os seguintes valores:
# pico /etc/zabbix/zabbix_agentd.conf
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=Informe_o_nome_do_seu_servidor
Depois vamos alterar as configurações do arquivo /etc/zabbix/zabbix_agentd.conf, que é a configuração do servidor Zabbix:
# pico /etc/zabbix/zabbix_server.conf
ListenPort=10051
LogFile=/tmp/zabbix_server.log
LogFileSize=2
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=senha do zabbix para acessar o banco de dados
StartIPMIPollers=1
StartDiscoverers=5
FpingLocation=/usr/sbin/fping
Obs: Certifique se o caminho do fping da sua instalação é realmente igual ao do nosso exemplo com o comando whereis fping para que não haja problemas posteriormente.
Vamos configurar agora a parte dos frontends:
# mkdir /var/www/zabbix
# cp -R /etc/zabbix/install/zabbix-2.0.8/frontends/php/* /var/www/zabbix/
# chown -R www-data:www-data /var/www/zabbix/
# /etc/init.d/apache2 restart
Agora, precisamos criar os scripts de start-stop-restart tanto do servidor quanto do cliente Zabbix:
# pico /etc/init.d/zabbix_agentd
#!/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
# pico /etc/init.d/zabbix_server
#!/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
Vamos dar permissão aos scripts e iniciar o agente e o servidor Zabbix:
# chmod +x /etc/init.d/zabbix_server /etc/init.d/zabbix_agentd
# /etc/init.d/zabbix_server start
# /etc/init.d/zabbix_agentd start
Vamos configurar a inicialização do sistema para que os serviços sejam devidamente iniciados junto com o sistema:
# update-rc.d -f zabbix_server defaults
# update-rc.d -f zabbix_agentd defaults
Pronto, já fizemos todas as configurações necessárias no Unix, vamos agora a parte gráfica do negócio, para isso devemos acessar o endereço http://ip_do_servidor/zabbix, uma janela semelhante a essa será exibida, Clique em Next:
Verifique todas as dependências e se estiver tudo OK clique em Next.
Preencha os campos para conexão com o banco de dados, clique em Test connection para testar a conexão e se estiver OK clique em Next.
Deixe padrão o nome do host e a porta, e em Name insira o nome do seu servidor e clique Next.
Confira os dados inseridos e clique em Next.
Pronto, o Zabbix já está configurado. Logo após clicar em Finish será exibida a tela de login, por padrão o usuário é admin e a senha é zabbix.
Por padrão, o monitoramento via agente no servidor Zabbix é desabilitado, para habilita-lo vá em Configuration, depois em Host e logo você visualizará o servidor e em Status estará como Not monitored, basta clicar em cima que o status ficará como Monitored.
4. Instalação e Configuração Cliente Linux
Antes de configurarmos o cliente, devemos criar os diretórios que irão alocar os arquivos de instalação:
# mkdir -pv /etc/zabbix/install
# cd /etc/zabbix/install
Já dentro do diretório, vamos baixar e descompactar o pacote do Zabbix:
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.8/zabbix-2.0.8.tar.gz
# tar -xzvf zabbix-2.0.8.tar.gz
# cd zabbix-2.0.8/
O próximo passo seria a compilação dos módulos que vamos instalar, mas antes vamos instalar o gcc e o make:
# apt-get update
# apt-get install –y gcc make
Depois de instalado o gcc e o make, vamos compilar nossa instalação:
# ./configure --prefix=/etc/zabbix --enable-agent --enable-static
--prefix=/etc/zabbix – Indicando o diretório dos arquivos de instalação.
--enable-agent – Habilitando o agente Zabbix.
--enable-static – Criando links estáticos para os binários.
Depois de compilado, vamos instalar:
# make; make install
Vamos agora, depois de instalado criar alguns links para facilitar o acesso ao arquivo de configuração do agente:
# ln -s /etc/zabbix/etc/zabbix_agentd.conf /etc/zabbix/
Agora vamos configurar o script de gerenciamento (start / stop / ... /):
# pico /etc/init.d/zabbix_agentd
#!/bin/sh
#
# Zabbix agent start/stop script.
#
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
Vamos aplicar permissão de execução ao script:
# chmod +x /etc/init.d/zabbix_agentd
Vamos alterar algumas configurações para que o agente funcione corretamente:
# pico /etc/zabbix/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=1
EnableRemoteCommands=1
LogRemoteCommands=1
Server=IP_SERVIDOR_ZABBIX
ListenPort=10050
StartAgents=3
#ServerActive=127.0.0.1
Hostname=NOME_CLIENTE
Obs: Note que em Server você deve colocar o IP do seu servidor Zabbix, deve também comentar a linha ServerActive e em Hostname você deve colocar o nome do seu cliente, do mesmo jeito que aparece no shell.
Antes de iniciarmos o nosso agente, vamos criar um usuário no sistema para o Zabbix:
# useradd -s /bin/false zabbix
Agora vamos finalmente iniciar nosso agente:
# /etc/init.d/zabbix_agentd start
Se tudo estiver OK o agente será iniciado. Vamos configura-lo para iniciar junto com o sistema:
# update-rc.d -f zabbix_agentd defaults
Pronto, o nosso agente está configurado no nosso cliente, basta configurar no console de administração do Zabbix para iniciar o monitoramento.
Obs: Lembrando que caso haja um firewall rodando no cliente, é necessário abrir as portas 10050/10051 UDP e 10050/10051 TCP para que o servidor consiga se comunicar com o agente.
5. Instalação e Configuração Cliente Windows
Para configurarmos o agente no Windows devemos primeiramente criar um diretório chamado ZABBIX em C:, depois devemos coletar alguns arquivos que estão no pacote que baixamos tanto para instalação do servidor quanto para a instalação do cliente Linux, depois de descompactado entre no diretório bin, dentro deste diretório há duas pastas win32 e win64, verifique a arquitetura do seu Sistema Operacional e copie todo o conteúdo da pasta correspondente para a pasta ZABBIX que criamos anteriormente, você pode usar o Filezilla por exemplo para transferir do Linux para o Windows ou baixar o pacote diretamente no Windows pelo link para download do pacote Zabbix, usando o 7-zip ou Winrar para descompactar.
Depois de todos os arquivos transferidos, devemos criar o nosso arquivo de configuração com o nome zabbix_agentd.conf que deverá ter o seguinte conteúdo:
# This is a config file for Zabbix Agent (Windows)
# To get more information about Zabbix, go to http://www.zabbix.com
############ GENERAL PARAMETERS #################
LogFile=c:\ZABBIX\zabbix_agentd.log
DebugLevel=3
Server=IP_SERVER
StartAgents=5
Hostname=HOSTNAME_CLIENTE
############ ADVANCED PARAMETERS #################
Timeout=3
Obs: Em IP_SERVER coloque o que IP do seu servidor Zabbix e em HOSTNAME_CLIENTE coloque o nome do cliente que está sendo configurado.
Agora, vamos abrir o prompt de comando como administrador, e navegar até o diretório C:\ZABBIX que criamos anteriormente, para isso digite o seguinte comando:
C:\Windows\System32> cd C:\ZABBIX
Obs: Note que o prefixo C:\Windows\System32> é somente para indicar que estamos dentro do Prompt de comando do Windows.
Depois vamos criar o serviço:
C:\ZABBIX> zabbix_agentd.exe -i -c zabbix_agentd.conf
Agora vamos iniciar o serviço:
C:\ZABBIX> zabbix_agentd.exe -s -c zabbix_agentd.conf
Pronto, o nosso agente está configurado no nosso cliente, basta configurar no console de administração do Zabbix para iniciar o monitoramento.
Obs: Assim como no Linux, caso haja um firewall rodando, deve-se abrir as portas 10050/10051 UDP e 10050/10051 TCP para que o servidor Zabbix consiga se comunicar com o agente.
6. Criando um Host no Console de Administração.
Depois de configurarmos corretamente os agentes, vamos criar os Hosts no console de administração do Zabbix para que seja iniciado o monitoramento. No console de administração posicione o mouse sobre Configuration e clique em Hosts, já na janela de configuração de Hosts, clique em Create Host e você verá uma janela semelhante a essa:
Preencha todos os dados conforme sua necessidade. Depois de preenchido, devemos definir o que será monitorado, para isso é utilizado os templates. Para definirmos um template ao nosso Host, clique no guia Templates e depois clique em Add, selecione o template desejado, clique em Select e depois em Save para finalizar a configuração do Host.
Sem comentários:
Enviar um comentário