Índice
- 1. Instale dependências
- 2. Instale o banco de dados MariaDB e suas bibliotecas
- 3. Instale o servidor Apache e o PHP
- 4. Baixe e compile o servidor Zabbix
- 5. Configurações após a instalação
- 6) Configure o banco de dados MariaDB para Zabbix
- 7. Configure o servidor Apache para Zabbix
- 8. Configure o Servidor Zabbix
- 9. Instale a interface da Web do Zabbix
O que é Zabbix?
É um sistema de monitoramento de rede criado por Alexei Vladishev. Ele é projetado para monitorar e registrar o status de vários serviços de rede, servidores e hardware de rede.
Usos MySQL, PostgreSQL, SQLite, Oracle ou IBM DB2 como um banco de dados. Seu backend é escrito em C e o frontend da web é escrito em PHP. O Zabbix oferece várias opções de monitoramento:
- Verificações simples que podem verificar a disponibilidade e o nível de resposta de serviços padrão, como SMTP ou HTTP, sem a necessidade de instalar nenhum software no host monitorado.
- Um agente Zabbix também pode ser instalado em máquinas UNIX e Windows para monitorar estatísticas como carga de CPU, utilização de rede, espaço em disco, etc.
- Como alternativa à instalação do agente nos hosts, o Zabbix inclui suporte para monitoramento via protocolos SNMP, TCP e ICMP, bem como sobre IPMI, JMX, SSH, telnet e usando parâmetros de configuração personalizados. O Zabbix suporta uma variedade de mecanismos de notificação em tempo real, incluindo XMPP.
Principais recursos do Zabbix
- Alto desempenho e recursos de monitoramento de dispositivos (Servidores, Hardware como Impressoras, Roteadores, entre outros).
- Monitoramento centralizado por meio do administrador da web (Front-end).
- Agentes que podem ser instalados em diferentes sistemas operacionais, por exemplo: Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64 / OSF1, Windows 2000, Windows Server 2003, Windows XP, Windows Vista, Windows Server 2008, Windows 7, Windows 8 e recentemente Windows 2012
- SLA que permite analisar a qualidade dos serviços prestados por sua TI à sua organização.
Como funciona o Zabbix?
Zabbix oferece monitoramento para "LAN, redes locais" Y "WAN, redes de longa distância". O aplicativo é instalado em um servidor (Linux) e depois é dedicado a "Coletar informação". Ele fornece uma interface WEB na qual todas as informações que coleta são apresentadas graficamente. Possui agentes para Linux, Mac e Windows que são instalados no "Servidores" ou "Postos de Trabalho" que você está interessado em monitorar. Além disso, esta solução permite visualizar o estado de Impressoras, Roteadores, Switches, sensores de temperatura e umidade, entre outros.
Zabbix vs Nagios ou Zenoss?
Os três aplicativos são apresentados como soluções Open Source, porém o único 100% gratuito é o Zabbix. Tanto Nagios e Zenoos baseiam seu modelo de negócios na venda de plug-ins ou versões estendidas do produto. no entanto Zabbix vive de certificações para profissionais de TI, livros e suporte.
No caso do Zabbix tudo o que você precisa para monitorar está disponível gratuitamente, com o detalhe de que a configuração é um pouco mais técnica, porém é fácil de entender.
Instalação do Zabbix no Centos / Red Hat 7
Vamos nos concentrar na instalação dos sistemas Centos e RedHat. Em outro post irei falar sobre a instalação deles no Ubuntu / Debian. No momento em que este tutorial foi escrito, o Zabbix não oferece um pacote pré-compilado, devemos baixar o código-fonte e compilá-lo manualmente.
1. Instale dependências
Para compilar, devemos instalar todas as dependências e ferramentas necessárias. Para a versão 2.4.5, precisamos de: build-essentials, ferramentas de desenvolvimento, GCC, curl, wget e algumas dependências para suporte SNMP.
Entramos em nosso terminal como root e lançamos.
yum install gcc gcc-c ++ make openssl-devel curl wget net-snmp net-snmp-utils net-snmp-libs net-snmp-devel gnutls gnutls-devel libxml2 libxml2-devel
2. Instale o banco de dados MariaDB e suas bibliotecas
Devemos instalar MariaDB e a biblioteca de desenvolvimento MySQL.
yum install mariadb-server mariadb-client mariadb-develcomeçamos o serviço:
systemctl start mariadb.serviceQuando terminarmos a instalação, devemos proteger o banco de dados usando mysql_secure_installation com privilégios administrativos.
mysql_secure_installationUm wizard começa a configurar o Banco de Dados, devemos responder da seguinte forma:
Digite a senha atual para root ## Pressionamos enter Definir senha de root? (S / n) ## Dizemos não Remover usuários anônimos? ## Dizemos que sim Desautorizar login de root remotamente? ## Dizemos que sim Remover banco de dados de teste e acesso a ele? ## Dizemos que sim Recarregar tabelas de privilégios agora? ## Dizemos que sim. Tudo pronto! Se você concluiu todas as etapas acima, a instalação do MariaDB agora deve ser segura.Com isso estaria tudo.
3. Instale o servidor Apache e o PHP
A próxima etapa será instalar o servidor web com PHP. (Em centos, o pacote Apache é httpd).
yum install httpd php php-mysql php-gd pgp-cli php-xml php-bcmath php-mbstring mod_ssl opensslDevemos configurar o interpretador PHP e ajustar alguns valores para que possa ser usado com o servidor Zabbix. Abrimos o php.ini, no meu caso irei usar o editor vim e alteraremos alguns valores, irei mostrar o valor padrão à esquerda e o modificado à direita.
vim /etc/php.ini
post_max_size = 8M → post_max_size = 16M max_execution_time = 30 → max_execution_time = 300 max_input_time = 60 → max_input_time = 300; date.timezone = Continente / Cidade → date.timezone = America / Caracas #Remember para excluir o;; always_populate_raw_post_data = On → always_populate_raw_post_data = -1No meu caso coloquei a hora da Venezuela, você pode ver a lista de fusos horários compatíveis com PHP em ----> http://php.net/manual/en/timezones.php
Fechamos o arquivo salvando as alterações e reiniciando o serviço apache.
systemctl restart httpd.serviceSerá apenas reiniciando.
4. Baixe e compile o servidor Zabbix
Depois de ter preparado o sistema, podemos baixar as versões do Zabbiz de seu site oficial.No momento de escrever o tutorial, a versão estável é 2.4.5, podemos baixá-lo com wget.
wget http: //sourceforge.net/projects/zabbix/files/ZABBIX \ Latest \ \ Stable / 2.4.5 / zabbix-2.4.5.tar.gzVocê pode ver outras versões de seu Repositório Oficial ---> http: //sourceforge.n… s / zabbix / files /
Depois de baixar o tablet, procedemos à descompactação
tar xfz zabbix-2.4.5.tar.gz # cd zabbix-2.4.5.tar.gz / # lsPodemos ver todas as opções ao compilar o binário com ./configure -h no caso deste laboratório, usarei uma instalação típica usando os seguintes parâmetros.
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2Esperamos um pouco e depois rodamos make para criar o executável. (Esta etapa pode demorar mais do que quando configuramos) para terminar usamos make install.
# make # make installFaça a instalação.
5. Configurações após a instalação
Depois de instalado, devemos criar um usuário sem privilégios administrativos para executar os processos do Zabbix como um daemon. Podemos usar useradd.
groupadd zabbix useradd -g zabbix -d / usr / local / share / zabbix -s / bin / false zabbix useradd: aviso: o diretório inicial já existe. Não copiar qualquer arquivo do diretório skel para ele.
6) Configure o banco de dados MariaDB para Zabbix
Vamos criar um banco de dados para Zabbix que pode ser acessado a partir do usuário zabbix.
mysql -u root -p MariaDB> criar banco de dados zabbix; MariaDB> concede todos os privilégios no zabbix. * Para 'zabbix' @ 'localhost' identificado por 'sua senha'; MariaDB> privilégios de liberação; MariaDB> sairLembre-se de alterar a senha do banco de dados para a sua própria. Caso desejemos utilizar um DB externo ao nosso servidor utilizamos.
MariaDB> concede todos os privilégios no zabbix. * Para 'zabbix' @ '%' identificado por 'your_password';Devemos retornar ao diretório do instalador do Zabbix se não estiver lá. Liste as tabelas do MySQL e importe-as para o novo banco de dados que criamos usando.
[root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <database / mysql / schema.sql Digite a senha: [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <database / mysql / images.sql Digite a senha: [root @ Joncak1 zabbix-2.4.5] # mysql -u zabbix -p zabbix <banco de dados / mysql / data.sql Digite a senha: [root @ Joncak1 zabbix-2.4.5] #
7. Configure o servidor Apache para Zabbix
Já importamos as pastas, agora devemos fazer o mesmo para os arquivos do servidor web. Devemos remover todo o conteúdo que está em / var / www / html /
rm /var/www/html/index.html cp -rf frontends / php / * / var / www / html /Devemos adicionar o usuário zabbix que criamos ao grupo apache, adicionalmente habilitar SSL Apache ser capaz de correr Zabbix em https
usermod -aG apache zabbix a2enmod ssl a2ensite default-sslDevemos reiniciar o servidor web para que as mudanças possam ser aplicadas.
systemctl restart httpd.serviceEles serão aplicados.
8. Configure o Servidor Zabbix
Agora devemos modificar o arquivo de configuração do Zabbix, lembre-se de usar o editor de texto de sua preferência, no meu caso usarei o vim.
vim /usr/local/etc/zabbix_server.conf # ListenPort = 10051 → ListenPort = 10051 LogFile = / tmp / zabbix_server.log → LogFile = / var / log / zabbix_server.log # DBHost = localhost → DBHost = localhost # No caso de DB é Remoto coloque o ip aqui. DBName = zabbix → #Coloque o nome do banco de dados. DBUser = root → DBUser = zabbix # DBPassword = → DBPassword = 'svradm2010' DBSocket = / tmp / mysql.sock → DBSocket = / var / run / mysqld / mysqld.sock # DBPort = 3306 → DBPort = 3306Devemos criar o arquivo onde o Zabbix irá colocar os logs e adicionar permissões para que o Zabbix possa escrever nele.
touch /var/log/zabbix_server.log chmod 775 /var/log/zabbix_server.log chgrp zabbix /var/log/zabbix_server.logFinalmente, após concluir com todas as configurações, podemos iniciar o Servidor Zabbix e seu Agente para que ele possa coletar informações localmente.
/ usr / local / sbin / zabbix_server / usr / local / sbin / zabbix_agentd / usr / local / sbin / zabbix_agentPodemos verificar se ele está sendo executado usando o netstat.
[root @ Joncak1 local] # netstat -tulpn Conexões ativas com a Internet (somente servidores) Proto Recv-Q Send-Q Endereço local Endereço estrangeiro Estado PID / Nome do programa tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13512 / mysqld tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 977 / Xvnc tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 591 / rpcbind tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 977 / Xvnc tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 962 / sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1005 / master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 23811 / zabbix_agentd tcp6 0 0 ::: 111 ::: * LISTEN 591 / rpcbind tcp6 0 0 ::: 80 ::: * LISTEN 23778 / httpd tcp6 0 0 ::: 6001 ::: * LISTEN 977 / Xvnc tcp6 0 0 ::: 22 ::: * LISTEN 962 / sshd tcp6 0 0 :: 1: 25 ::: * LISTEN 1005 / master tcp6 0 0 ::: 443 ::: * LISTEN 23778 / httpd tcp6 0 0 ::: 10050 ::: * LISTEN 23811 / zabbix_agentd udp 0 0 0.0.0.0:68 0.0.0.0:* 815 / dhclient udp 0 0 0.0.0.0:23110 0.0.0.0:* 815 / dhclient udp 0 0 0.0.0.0:111 0.0.0.0:* 591 / rpcbind udp 0 0 0.0.0.0:123 0.0.0.0:* 592 / chronyd udp 0 0 0.0.0.0:41601 0.0. 0.0: * 583 / avahi-daemon: r udp 0 0 0.0.0.0:5353 0.0.0.0:* 583 / avahi-daemon: r udp 0 0 0.0.0.0:752 0.0.0.0:* 591 / rpcbind udp 0 0 127.0 .0.1: 323 0.0.0.0:* 592 / chronyd udp6 0 0 ::: 111 ::: * 591 / rpcbind udp6 0 0 ::: 123 ::: * 592 / chronyd udp6 0 0 ::: 18 132 :: : * 815 / dhclient udp6 0 0 ::: 752 ::: * 591 / rpcbind udp6 0 0 :: 1: 323 ::: * 592 / chronydAgora passamos para a instalação.
9. Instale a interface da Web do Zabbix
Finalmente, devemos instalar e configurar a interface web do Zabbix. Devemos usar um navegador e inserir o endereço do servidor que configuramos.
http: //IP_address/setup.php
ou entre por SSL
https: //IP_address/setup.php
PROLONGAR
chown -R apache / var / www / html / conf /E voltamos ao navegador e pressionamos próximo.
Se estiver correto, veremos esta tela.
chown -R apache / var / www / html / conf /Parabéns, você instalou o servidor Zabbix e pode fazer o login com o nome de usuário padrão.
usuário: senha de administrador: zabbix