Instalar o Zabbix Network Monitoring no CentOS (Parte I)
A complexidade e quantidade de sistemas geridos pelos administradores de redes, obrigam à implementação de soluções que permitam ter uma visão rápida da rede e eventuais problemas da mesma. No início deste ano, apresentamos aqui o Zabbix Network Monitoring, um software Open Source para monitorização de rede, activos, serviços.
Hoje vamos aprender como podem instalar o Zabbix no CentOS.
O Zabbix possui suporte a maioria dos sistemas operativos: Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, NetBSD, Mac OS, Windows, entre outros. Monitoriza serviços simples (http, pop3, imap, ssh) sem a necessidade de uso de agentes.
É capaz de monitorizar a disponibilidade e performance de toda a infraestrutura de rede, suas aplicações e ainda providenciar uma visão de negócio para os gestores!
Principais características
- All-in-one única solução quando se trata de monitorização.
- Todos os dados históricos, tendências e configuração são armazenados numa base de dados.
- Preparado para controlo dos pequenos até os grandes ambientes distribuídos.
- Solução verdadeiramente Software Livre (GPLv2), não existe versões comerciais.
- Toda a lógica está do lado do servidor, os agentes são usados apenas para recolha de dados.
- Extremamente flexível! Triggers, Escalonamento, Novas Verificações, Ecrãs e muito mais.
- Projectado para lidar com as comunicações instáveis.
- Suporte total para IPv6.
- Suporte para IPMI.
- Monitorização de Aplicações Java.
- Descoberta automática de Hardware.
- Envio de alertas para: e-mail, Jabber, SMS e scripts personalizados.
- Suporte nativo ao protocolo SNMP (v1, v2c e v3).
- Interface de gestão Web de fácil utilização.
- Integração com base de dados (MySQL, Oracle, PostgreSQL, SQLite e DB2).
- Fácil instalação e personalização;
- Agentes específicos para plataformas 32 bits e 64 bits.
- Integração com os Contadores de Performance do Windows.
- Descoberta automática de dispositivos e configuração através do LLD (Low Level Discovery).
- Suporte a scripts externos para adicionar funcionalidades de monitorização não previstas originalmente no produto.
- Interface web e bases de dados padrão SQL que garantem integração com softwares legacy.
- Geração de gráficos em tempo real.
Como instalar o Zabbix no CentOS?
As distribuições GNU/Linux têm as características perfeitas para implementar serviços de rede. As configurações dos serviços são normalmente realizadas em ficheiros, podemos gerir/controlar facilmente qualquer serviço remotamente usando por exemplo SSH e o backups das configurações é também algo simples de implementar. Ao nível das distribuições Linux, o CentOS é provavelmente uma das mais estáveis para servidores. Nesse sentido, o tutorial de hoje terá como base essa distribuição.
Para transformarem o vosso CentOS num autêntico LAMP devem seguir os seguintes passos:
1) Instalação do Apache
A instalação do Apache no CentOS é algo relativamente simples. Para isso basta abrirem o terminal e inserir o seguinte comando:
yum install httpd httpd-devel -y |
Depois de instalado, o serviço pode ser iniciado através do comando:
/etc/init.d/httpd start |
Para verificar se o serviço está a correr correctamente, abram o browser na própria máquina e insiram o endereço http://localhost
Por omissão, no CentOS a directoria por omissão para colocar sites é em /var/www/html. Relativamente à configuração do Apache, o ficheiro principal de configuração encontra-se em /etc/httpd/conf/httpd.conf Caso pretendam que o serviço inicie automaticamente após reiniciarem a máquina no runlevel 3 ou 5 (Saber mais sobre RunLevels aqui) devem executar o comando:
chkconfig --levels 235 httpd on |
2) Instalação do MySQL
Para instalar o MySQL, basta correr o seguinte comando.
yum install mysql mysql-server –y |
Em seguida, mande iniciar o serviço e configure de imediato o serviço para que este arranque automaticamente aquando do arranque do sistema.
/etc/init.d/mysqld start chkconfig --levels 235 mysqld on |
Configurar o MySQL Para configurar uma password de acesso ao MySQL com o utilizador root, deverá executar o seguinte comando:
/usr/bin/mysql_secure_installation |
Durante a configuração, devem seguir os seguintes passos:
- Enter current password for root (enter for none): # DAR ENTER #
- Set root password? [Y/n] # DAR ENTER #
- New password: # Redefinir Password #
- Re-enter new password: # Redefinir Password #
- Remove anonymous users? [Y/n] Y
- Disallow root login remotely? [Y/n] Y
- Remove test database and access to it? [Y/n] Y
- Reload privilege tables now? [Y/n] Y
3) Instalar PHP
Para instalar o PHP basta executar o seguinte comando
yum install php –y |
Para que o Zabbix funcione, é também necessário instalar outras bibliotecas adicionais
yum install php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml
Em seguida devemos reiniciar o Apache
/etc/init.d/httpd restart |
Se quisermos testar o suporte para PHP e ver todos os parâmetros associados ao Apache+PHP+MySQL, podemos criar um pequeno script com as seguintes linhas:
<?php phpinfo(); ?> |
e gravar, por exemplo, num ficheiro com o nome phpinfo.php e colocar no directório /var/www/html Depois basta ir ao browser e escrever http://localhost/phpinfo.php
Para que o MySQL tenha suporte para PHP, basta que executar o seguinte comando para instalar o pacote php-mysql -y:
yum install php-mysql –y |
Em seguida mandamos novamente reiniciar o Apache e voltamos a abrir o endereço http://localhost/phpinfo.php para verificarmos que o MySQL já tem suporte para PHP.
4) Criar a Base de dados e Utilizador
Para criar a base de dados (ex. zabbix) e utilizador (ex. pplware, com a password ‘password’) para manter toda a informação do zabbix, devem seguir os seguintes passos:
mysql -u root -p CREATE DATABASE zabbix; CREATE USER pplware@localhost; SET PASSWORD FOR pplware@localhost= PASSWORD("123qwe"); GRANT ALL PRIVILEGES ON zabbix.* TO pplware@localhost IDENTIFIED BY "123qwe"; FLUSH PRIVILEGES; exit |
Depois de criada a base de dados, vamos criar a estrutura da mesma recorrendo aos seguintes comandos:
# mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-2.0.9/create/schema.sql # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-2.0.9/create/images.sql # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-2.0.9/create/data.sql
5) Configurar repositório e obter o Zabbix
Antes de instalar o Zabbix é necessário configurar adicionar à lista dos repositórios o zabbixzone
rpm --import http://repo.zabbixzone.com/centos/RPM-GPG-KEY-zabbixzone rpm -Uv http://repo.zabbixzone.com/centos/zabbixzone-release-0.0-1.noarch.rpm |
6) Instalação do Zabbix
Depois de adicionar o repositório, podemos proceder à instalação propriamente dita do zabbix (cerca de 120 MB) com o seguinte comando:
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway |
7) Configuração do Zabbix
Depois da instalação, o Zabbix cria o ficheiro de configuração /etc/httpd/conf.d/zabbix.conf. Aí dentro devem alterar o mesmo para a vossa timezone
php_value date.timezone Europe/Lisbon |
8) Iniciar o Zabbix
Para iniciarem o serviço zabbix, basta usar o comando:
service zabbix-server start |
9) O próximo passo é a configuração do Zabbix que será apresentada na parte 2 deste tutorial.
O Zabbix é uma ferramenta fantástica. Esperamos que consigam instalar a mesma sem problemas. Qualquer duvida ou questão não hesitem em deixar as vossas questões.
Homepage: Zabbix
Este artigo tem mais de um ano
Muito bom artigo, mas o Zabbix já parece do século passado, hoje em dia, existem soluções como esta:
http://piwik.org
Que dão mesmo 15 a 0 😉
são coisas diferentes …. o zabbix e bem mais abrangente que o piwik….
Mais abrangente aonde?
O Piwik faz o que o Zabix faz e mais 300 milhões de coisas…
com o Zabbix conseguem saber um estado de um determinado processo, o espaço dos discos, a utilização do CPU, etc.
Pelo que percebi com Piwik tens acesso a estatísticas do teu website ou blog, ou seja, são coisas completamente diferentes.
Sim, nisso, o Zabbix é mais indicado. 😉
e o mais interessante do zabbix é a criação de alertas para uma determinada ocorrência
Coisa que o piwik faz por Mail, SMS…
Nelson, é so pedires…no Pplware encontras de tudo 🙂
https://pplware.sapo.pt/linux/piwik-relatrios-detalhados-dos-acessos-aos-seus-sites/
Vocês não dormem!
Existe também o netxms que funciona bastante bem.
O NetXMS é um espetáculo mesmo! Mas não tem nada a ver com o Zabbix…
O NetXMS é direccionado para monitorizar equipamentos de rede, através de SNMP primariamente.
O Zabbix é direccionado para monitorizar execução de software, como servidores Web. Também monitoriza SNMP, mas é mais um “extra” que a sua função.
Desculpa Nelson a frontalidade, mas acho que não fazes a mínima ideia do que o zabbix faz.
O Zabbix é das ferramentas mais potentes do mercado a nível de monitorização, e dizeres que a monitorização de rede é um extra mostra esse desconhecimento.
Se queres comparar alguma coisa com o zabbix experimenta falar do Nagios e de todas as suas forks e implementações.
O zabbix é “super pontente” a nivel de monitorização de aplicações como de rede, inclusive como referido em ambientes distribuídos.
Posso-te só adiantar que tanto monitoriza o espaço em disco de um servidor windows (utilização básica), como monitoriza grandes infra-estruturas WAN de equipamentos de rede.
Frontalidade ou arrogância?
No tempo do Zabbix e do Nagios e outros que mais, havia só um tipo de ferramentas de monitorização… e servia para essa altura…
Mas hoje em dia, evoluíram, e há três tipos de essenciais de monitorização:
1. Web
2. Processos
3. Rede
O Zabbix é “super potente” para o (2), quanto ao (1) e ao (3), é “super básico”
Sendo que o SNMP é um standard capaz de monitorizar a utilização de CPU, memória, swap file, etc. “tudo de uma vez”, se você acha que o Zabbix é “bom”, então nem lhe deve passar pela cabeça o que é um NetXMS, como aqui foi já referido…
E sendo que hoje em dia, a tendência é comprar/alugar servidores virtuais que correm um único serviço, ou mesmo correr máquinas virtuais no mesmo servidor, que só fornecem uma aplicação (por uma questão de fiabilidade e segurança), para que é que vai querer monitorizar mesmo processos individuais, se cada máquina virtual pode ter obviamente o seu próprio SNMP?
Se calhar, foi isto que você aprendeu, e foi com isto que você ficou, mas ainda achar que nada evolui nos últimos 10 anos?????? Está mesmo a falar a sério?
PS: para que fique bem claro, o SNMP monitoriza a utilização do CPU, RAM, espaço no disco, etc… a única coisa que o Zabbix faz que os outros não fazem, é monitorar processos individuais, mas nada que não se resolva, se for realmente preciso.
EDIT: afinal fui ao Google, e o SNMP também permite monitorar processos individuais, nem sabia… mais um prego nos monitores de processos… 😀
Nelson, a finalidade do zabbix é para Verdadeiros NOC gerenciar a infraestrutura de toda uma empresa.
Se voce se desse ao trabalho de ir ate o site oficial do zabbix e ler as feature saberia a gama de recursos que o zabbix tem. UM dos principais é o recurso de Script, que torna o zabbix muito poderoso deixando apenas como limite a criatividade do admin de redes que o administra. Fora isso o zabbix te manda alertas por email, sms, pelo whatsapp, por voip se combinado ao asterisk. Faz inventario de Rede, emite alerta sonoro, consegue reagir a um problema, se o disco ficar lotado a 90% ele pode executar um script e liberar espaço em disco, faz relatorios com graficos; se integrado ao GLPI, a cada alerta ele abre chamado; se integrado ao OCS Inventory, a cada problema ele documenta o equipamento, gera alerta se algum hardware for modificado; se bem configurado, exibe belos graficos, exibe mapa de rede bem detalhado e dinamico. va ate http://www.zabbix.com estude a documentação.
Falou certo, se é para comparar o zabbix com outras ferramenta, que uso e não abro mão dela chama-se nagios, pelo visto o nosso colega Nelson tem pouco conhecimento sobre monitoramento de rede e serviços, e estas duas ferramentas são ótimas e todo administrador de rede experiente geralmente instala o nagios ou o zabbix para monitoração de sua rede e serviços, a decisão na hora de optar por uma destas duas esta na variedades de plugins que cada uma oferece.O nagios por exemplo, tem uma variedade enorme de plugins sem contar que você mesmo pode desenvolver seus próprios plugins.
Tem pouco conhecimento? LOL
Você usa ferramentas do século passado, que hoje não é utilizada para além da esfera do amador, e vem-me dizer que eu é que tenho pouco conhecimento…
Provavelmente você nem deve saber o que é o SNMP ou nem deve ter conhecimentos para o instalar e quais as vantagens, nem deve ter ideia do valor do profiling dos utilizadores que ferramentas baseadas em JavaScript (embroma com possibilidade de importação de dados do apache) como o piwik têm para os developers de um site…
Eu conheço bem o zabbix, fácil de instalar, roda muito rápido, poucos recursos, mas praticamente irrelevante nos dias de hoje, o zabbix e o nagios, podem argumentar que têm SNMP, mas experimentem gerir centenas ou milhares de computadores, experimentem por isso a receber traps, experimentem usar isso para criar mapas de rede extremamente complexos, experimentem para criar relatórios 100% á medida… gauges, etc… Pois…
Sim em linux o net-snnmp tem algo que se chama extension:
extend name /sbin/script.sh
NET-SNMP-EXTEND-MIB.txt
Contudo o grande forte do netxms é mesmo o uso de agentes e de uma linguagem própria: NXSL
Podem construir inclusive dashboards, etc, etc.
Enquanto continuar opensource não deixa de ser uma das melhores ferramentas de monitorização. É dos mais completos!
Esta juventude…mas que raio é que tem o piwik a ver com o Zabbix?! Nada! Têm objectivos completamente diferentes.
pessoalmente prefiro o pandorafms.
ainda tem uma comunidade menor mas esta a avancar muito bem
Sou o único que tenho nagios e mrtg como standard?:(
Ó diabo…
cmps
Muito bom seu tutorial de instalação do zabbix meus parabéns. E convido a todos a dar uma olhada na comunidade brasileira do zabbix em http://zabbixbrasil.org/.
Edd, Comunidade Brasileira, mas aberta a todos de Língua Portuguesa, será um prazer recebe-los em nossa comunidade.
Abraços,
Déo
E o check-mk? Já usaram? Corre junto com o nagios mas tem um agente melhor e é mais leve.
Aproveitem e vejam o zenoss em http://www.zenoss.com/
Amigos,
Em breve vou mandar ao Pedro um artigo com as novidades da versão 2.2 (E não são poucas), entre elas o monitoramento de Máquinas Virtuais em Servidores VMWare 😉
Excelente artigo como sempre Pedro.
Abraços,
Déo
Parabéns e obrigado.
Galera, qual a necessidade dessa discussão?
Primeiramente, Nelson, este é um tópico onde é mostrado a instalação do Zabbix, se já pensas que é um ferramenta ultrapassada, tudo bem, sua opinião, mas não menospreze a mesma.
Se quer falar bem do piwik, cate um fórum sobre esta ferramenta e seja feliz.
Segundo, parabéns pelo tutorial, ficou muito bom mesmo! Acabei de instalar o Nagio graças a ajuda do Pplware e após as configurações começarei a aventurar-me dentro do Zabbix. Salve Applware! Abraço.
Salve Pplware*
Bom dia sou novo com essas ferramentas não estou acostumado com o Centos, acabei de instalar a versão 7 para seguir esse tutorial mas no primeiro comando instalei o httpd mas ao dar o start da erro de bash que não encontrou o arquivo. Na versão 7 fica em outro lugar o arquivo httpd ?
Atenciosamente Eduardo
saudacoes,
aqui nao tem nenhuma sugestao para windows???
Segue ótimo laboratório para iniciantes Zabbix e profissionais de TI que queiram monitorar seu ambiente…
http://www.zabbixlab.eti.br