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.
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’.
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
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
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.
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.
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.
Sucesso! Clique em Finish.
Agora você será redirecionado ao painel de controle do Zabbix.
Faça login com estas credenciais:
Login: admin
Senha: zabbix
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êsCursos
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: https://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: https://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: https://cleuber.com.br/index.php/2014/09/02/webmin-seu-portal-web-para-gerenciar-seu-linux
Pydio – Portal de arquivos corporativo: https://cleuber.com.br/index.php/2015/01/29/crie-seu-proprio-dropbox-com-pydio-no-linux
Owncloud – Portal de arquivos corporativo: https://cleuber.com.br/index.php/2015/02/27/instale-o-owncloud-no-ubuntu-14-04-lts-ou-14-10
Abraços,
Cleuber
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.
Segue ótimo laboratório para iniciantes Zabbix e profissionais de TI que queiram monitorar seu ambiente…
http://www.zabbixlab.eti.br
Obrigado pela dica Breno!
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. 😉
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).
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