Home / Dicas e Tutoriais / Como Instalar o Zabbix Server no Ubuntu, Debian e Derivados

Como Instalar o Zabbix Server no Ubuntu, Debian e Derivados

Olá pessoal,

Existem diversas ferramentas de Gestão de Ativos (Asset Management segundo o ITIL), e a maioria delas são pagas e muito caras. Estas ferramentas podem monitorar computadores, servidores, tráfego na rede e diversas outras atividades. Elas são amplamente usadas e necessárias para o pessoal da infraestrutura de TI, e permite o controle proativo dos itens que citei.

Existem também ferramentas open source que fazem estas coisas.

Uma destas ferramentas é o Zabbix que é open source e provavelmente a mais popular delas.

Network_maps

Custom_graphs1

Exemplos de monitoramentos na console configurada do Zabbix

Também existem outras ferramentas open source como o Nagios que citarei em outra ocasião.

Vou mostrar como instalar o Zabbix no Ubuntu, mas você poderá instalá-lo no Debian também.

Vamos lá?!

Instalação

1 – 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.6 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’.

zabbix1

2 – Login como root

Vamos fazer todo o restante daqui para frente como root, faça login.

sudo su
sua senha

3 – Criação de Diretórios de Configuração

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

4 – Baixando o Zabbix

Agora baixe o pacote de instalação com o seguinte comando:

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

5 – Criando Base de Dados

Login no Mysql:

mysql -u root -p

Criar a Base de Dados:

create database zabbix character set utf8;

Definir Senha e Garantir Privilégios:

Obs. No parâmetro abaixo “IDENTIFIED BY” ‘12345’, troque este valor numérico pela sua senha do Mysql

mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '12345' WITH GRANT OPTION;

Sair do MySql:

quit;

6 – Criando Usuário zabbix No Linux (sem pasta home):

useradd -s /bin/false zabbix

7 – Configurando o PHP

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. Você pode usar o “nano” como editor de texto, o “vi” ou o “vim“, ou se estiver utilizando interface gráfica, o “gedit“. Faça conforme preferir.

gedit /etc/php5/apache2/php.ini

Com o arquivo aberto, procure os parâmetros abaixo e altere seus respectivos valores. Se eles estiverem “comentados” (símbolo # antes do texto), remova-o. E após o sinal “=”, coloque o valores descritos abaixo.

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

Exemplo de busca no Gedit com Ctrl + F

zabbix7

Daí, nesse caso basta editar essa linha para: date.timezone = ‘America/Sao_Paulo’
Então basta continuar com o processo em cada linha seguinte citada acima.

Terminando, Basta reiniciar o apache

service apache2 restart

8 – Criando Serviços no Linux

Vamos editar o arquivo /etc/services e adicionaremos algumas linhas ao final dele:

gedit /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

9 – 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

Compile:

Rode os comandos abaixo um a um:

cd /etc/zabbix/install/zabbix-2.4.5/
./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 criar alguns links dos arquivos de configuração para facilitar as coisas depois.

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

10 – Configurando o Agente do Zabbix no Próprio Server

Edite o arquivo /etc/zabbix_agentd.conf:

gedit /etc/zabbix/zabbix_agentd.conf

Com o arquivo aberto, procure os parâmetros abaixo e altere seus respectivos valores. Se eles estiverem “comentados” (símbolo # antes do texto), remova-o. E após o sinal “=”, coloque o valores descritos abaixo.

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

11 – Configurando o Servidor do Zabbix

Faremos isso editando o arquivo /etc/zabbix/zabbix_server.conf:

gedit /etc/zabbix/zabbix_server.conf

Com o arquivo aberto, procure os parâmetros abaixo e altere seus respectivos valores. Se eles estiverem “comentados” (símbolo # antes do texto), remova-o. E após o sinal “=”, coloque o valores descritos abaixo.

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

12 – Configurando a Front-end PHP 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 ou Ubuntu

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

13 – Criando os Scripts de Inicialização em 4 Etapas

13.1 – Inicialização do zabbix agent

gedit /etc/init.d/zabbix_agentd

Cole o conteúdo, depois salve e feche:

#!/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

13.2 – Agora edite o arquivo de Inicialização do Server

gedit /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

13.3 – Dando permissão de Execução dos Serviços e Iniciando-os

Rode os Seguintes Comandos.

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

13.4 – Fazendo os scripts rodem na inicialização do sistema

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

14 – Finalizando a Instalação Pela Interface Web

Acesse o IP do servidor pelo seu navegador web:

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

zabbix web 1

Neste primeiro acesso ele irá validar se todas as configurações estão ok, então se você configurou o PHP e o MySQL corretamente no inicio da postagem, estará tudo OK e você poderá avançar até terminar.

Obs. Caso ainda ocorra algum erro, volte até os passos das configurações. Edite o arquivo /etc/php5/apache2/php.ini e revise as configurações que fizemos.

zabbix web 2
zabbix web 3

Avançando, neste passo será exigido definir ou confirmar as informações de Servidor.
Coloque o IP do Servidor, e o nome. A porta é esta mesmo 10051.

zabbix web 5

Neste passo, é necessário definir o nome da base e usuário root do nosso MySQL, conforme definimos no começo do tutorial.
O nome do banco é “zabbix”, e o usuário que usei aqui é o root (mas você pode criar algum específico no MySQL) e a senha é aquela que atribuímos, para o banco, clique em “Test” para validar, se aparecer um “OK” é porque o teste de login no banco está correto.

zabbix web 10

Clicando em “Next” mais uma vez, será exibido um Sumário.

zabbix web 6

Sucesso! Clique em Finish.

zabbix web 7

Agora você será redirecionado ao painel de controle do Zabbix.

Faça login com estas credenciais:

Login: admin
Senha: zabbix

zabbix web 8

zabbix web 9

 

Dicas Para Ir Além

Se quiser saber mais como adicionar clientes, e realizar configurações de monitoramento, pesquise no site do projeto, estude o material, ou faça um curso oficial do Zabbix.

Material

Zabbix Manual – Português

Cursos

Centro de Treinamento do Brasil Credenciado no Site do Zabbix:

Unirede Soluções Corporativas
www.unirede.net
Tel: +55 51 3012-1920 – Porto Alegre, Brazil
Tel: +55 11 3522-9045 – São Paulo, Brazil
Tel: +55 21 3527-0531 – Rio de Janeiro, Brazil
Tel: +1 (786) 471-8227 – Miami, USA

Webnars em Português do Brasil

http://www.zabbix.com/webinars.php

Conclusão

Você acabou de instalar um servidor web LAMP – (Linux + Apache + MySQL + PHP), e depois configurando ele e preparando-o para a instalação do Zabbix.
Instalou o Zabbix e agora está apto a instalar clientes do Zabbix no Windows, Linux, e de rede, coletar informações de dispositivos através de protocolo snmp e muito mais.

Quer saber mais sobre Web Server?

Mais Sobre Web Server?

Se quiser saber como criar um Web Server para outros fins no Ubuntu com o LAMP (Linux + Apache + Mysql + PHP) dê uma olhada neste artigo: http://cleuber.com.br/index.php/2014/08/25/instalando-um-servidor-web-passo-a-passo-com-o-lamp-no-ubuntu-14-04

Também poderá instalar o WordPress no Ubuntu 14.04: http://cleuber.com.br/index.php/2014/08/25/instalando-o-wordpress-no-ubuntu-14-04

E ainda mais, instalar o Webmin no Ubuntu 14.04: http://cleuber.com.br/index.php/2014/09/02/webmin-seu-portal-web-para-gerenciar-seu-linux

Pydio – Portal de arquivos corporativo: http://cleuber.com.br/index.php/2015/01/29/crie-seu-proprio-dropbox-com-pydio-no-linux

Owncloud – Portal de arquivos corporativo: http://cleuber.com.br/index.php/2015/02/27/instale-o-owncloud-no-ubuntu-14-04-lts-ou-14-10

Abraços,

Cleuber

About Cleuber

Cleuber Silva Hashimoto. Administrador

14 comments

  1. Olá, primeiro obrigado pelo tutorial extremamente prático! Sou novato em linux, perdoe a falta de conhecimento.
    Estou com um problema e preciso de ajuda no item 10, estou usando o nano para editar o arquivo /etc/zabbix/zabbix_agentd.conf mas quando abro o arquivo ele está vazio, não há nenhum parâmetro e quando escrevo os parâmetros indicados e vou salvar ele apresenta erro de que o arquivo não pode ser salvo, conforme mostra a cópia de tela: http://i63.tinypic.com/f2sgig.jpg

    Grato

    • Oi Adler. Opa, valeu!
      Amigo, estes artigos para servidores Linux são meio avançados para quem está começando, mas admiro seu esforço e é assim mesmo que a gente pega prática.
      Refaça com calma passo a passo que vai dar certo. O que acontece é que o passo 2, você deverá fazer login no terminal como root. Talvez isso resolva o problema de não conseguir salvar o arquivo. Quanto ao problema de arquivo em branco, você deve ter pulado algum passo na instalação, pois só abre em branco se o arquivo ainda não existir.

      Falou, Abraço

      • Retornou rápido! 🙂
        Esqueci de mencionar antes mas realizei todos os precedimentos logado como root, eu consultei o diretório e o arquivo existe, bem como o zabbix_server.conf e a pasta install.
        Estou usando o ubuntu server 15.10 atualizado.
        Bom, criei outra VM do zero novamente e refiz os procedimentos, no item 9, no “Compile”, quando executo a primeira lista de comandos dentro do diretório indicado, ao final ele indica que a biblioteca Jabber não existe. -http://i65.tinypic.com/2ui7lg2.jpg
        Todos os procedimentos anteriores foram executados sem erros.
        Como posso resolver isso?

        • Puxa, se o arquivo existe, deveria ter conteúdo para editar. Creio que algo deu errado.
          Fiz a instalação no Ubuntu server 15.04 e Debian, e deu certo. Tente criar uma nova vm com o Debian ou o Ubuntu 15.04.
          No caso de servidor, é interessante usar versões LTS como o 14.04, mas creio que isso pode ser resolvido no 15.10.
          Tente habilitar as fontes do softwares de terceiros, como “os parceiros da canonical”, e depois atualize o sistema e tente rodar a instalação novamente.
          Se você está trabalhando com interface gráfica, abra o “Programas e Atualizações” e vá até a aba “Outros Programas” e habilite os “Parceiros da Canonical”, se estiver apenas em modo texto, edite o arquivo /etc/apt/sources.list, descomentando os itens:
          deb http://archive.canonical.com/ubuntu wily partner
          deb-src http://archive.canonical.com/ubuntu wily partner

          Salve e feche e depois dê um apt-get update e tente instalar novamente.

          Espero que ajude.

          • Habilitei as duas linhas do sources.list reiniciei a vm e fiz a atualização, porém o mesmo erro persiste, dá para instalar essa lib do Jabber manualmente?

          • Opa Adler, daí eu já não sei, mas tente procurar via apt se existe, eu procurei aqui e encontrei a “libphp-jabber”, acho que pode ser ela. Se for, basta um “apt-get install libphp-jabber” que resolveria. Vou testar aqui e já te falo.

          • Achei uma lib chamada “libksemel3”, tente instalá-la.

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

  3. Raphael Morais

    Tutorial show de bola, parabéns e obrigado por dedicar seu tempo em ajudar os outros.

    Não entendo praticamente nada de linux mas consegui fazer numa boa e digamos que esta 99,9% pronto, só apareceu um probleminha.

    No final, quando já loguei no painel de controle aparece a mensagem “zabbix server is not running: the information displayed may not be current” logo no topo da pagina.

    Sabe me dizer o que fazer pra corrigir este problema?

    At.
    Raphael Morais

    • A mensagem diz que “o serviço do Zabbix no servidor não está rodando, mas que esta informação pode não ser atual”. Cheque no servidor se o serviço está rodando. Se estiver ignore a mensagem, se não reveja/refaça o processo de instalação. 😉

      • Raphael Morais

        Então… Hoje ainda esta aparecendo a mensagem.

        Como faço pra verificar se o serviço esta rodando? Fiz todo o passo a passo do tutorial e não apresentou erro em nenhum momento da instalação.

        • Depende da sua versão do Ubuntu. /etc/init.d/zabbix-server status, ou sudo service zabbix-server status. Para reiniciar, parar ou iniciar (restart, stop, start).

          • Raphael Morais

            Resultado. Estou usando o Ubuntu 15.10 x64

            zabbix@zabbix-virtual-machine:~$ sudo service zabbix-server status
            [sudo] senha para zabbix:
            ● zabbix-server.service
            Loaded: not-found (Reason: No such file or directory)
            Active: inactive (dead)
            zabbix@zabbix-virtual-machine:~$ sudo service zabbix-server status start
            ● zabbix-server.service
            Loaded: not-found (Reason: No such file or directory)
            Active: inactive (dead)
            zabbix@zabbix-virtual-machine:~$ sudo service zabbix-server start
            Failed to start zabbix-server.service: Unit zabbix-server.service failed to load: No such file or directory.
            zabbix@zabbix-virtual-machine:~$ ^C

Leave a Reply

x

Check Also

Elementary OS 6 Odin Lançado – Confira as Novidades

Desenvolver um sistema operacional não é ...