Zabbix server no CentOS 7

O Zabbix é uma solução open source de monitoramento para servidores, serviços, aplicações e dispositivos de rede. Oferece excelentes relatórios e visualização de dados de recursos com base nos dados armazenados. O Zabbix usa um mecanismo de notificação flexível que permite aos usuários configurar e-mail com alertas para qualquer evento, o que permite uma reação rápida para os problemas dos servidores.

Corretamente configurado, o Zabbix pode desempenhar um papel importante no controle da infraestrutura de TI. Isto é igualmente verdade para as pequenas organizações com alguns servidores e para grandes empresas com um grande número de servidores.

O Zabbix é escrito e distribuído sob a GNU General Public License versão 2. Isso significa que seu código-fonte é distribuído gratuitamente e está disponível para o público em geral.

COMPONENTES DO ZABBIX

Zabbix Server – Este é o centro do Software Zabbix. O servidor pode verificar remotamente os serviços de rede (como servidores web e servidores de e-mail), utilizando controles simples. Ele é o componente central para o qual os agentes reportam a disponibilidade, integridade de informações e estatísticas dos servidores. É nele que toda a configuração, estatísticas e dados operacionais são armazenados, sendo o componente que participará ativamente alertando os administradores quando surgirem problemas em qualquer um dos sistemas monitorados;

Zabbix Proxy – É uma parte opcional da implantação do Zabbix. O Proxy coleta dados de desempenho e disponibilidade, em nome do Zabbix Server. Todos os dados coletados localmente são transferidos para o Zabbix Server Proxy. O Zabbix Proxy é uma solução ideal para um controle centralizado de locais remotos, filiais, não havendo a necessidade dos administradores de redes locais;

Zabbix Agent – A fim de acompanhar ativamente recursos e aplicações locais (como discos rígidos, memória, processador, etc.) em sistemas em rede, os sistemas devem executar o Agente Zabbix. O agente vai reunir informações operacionais do sistema em que está em execução, e informar esses dados ao Zabbix para posterior processamento. Em caso de falhas (como um disco rígido estar lotado, ou um processo parar), o servidor Zabbix pode ativamente alertar os administradores da máquina que relatou o problema;

Interface Web – Permite fácil acesso aos dados de monitoração e configuração do Zabbix em qualquer lugar e em qualquer plataforma. A interface é uma parte do servidor Zabbix, e é geralmente (mas não necessariamente) executada na mesma máquina física como uma execução do servidor Zabbix.ga

Antes de instalarmos o Zabbix precisamos nos certificar que temos os seguintes pré-requisitos instalados:

  • Apache: 1.3.12 or later.
  • PHP: 5.4.0 or later (PHP 7 not supported).
  • MySQL: 5.0.3 or later.
  • OpenIPMI: Required for IPMI support.
  • libssh2: Required for SSH support. Version 1.0 or higher.
  • fping: Required for ICMP ping items.
  • libcurl: Required for web monitoring.
  • libiksemel: Required for Jabber support.
  • net-snmp: Required for SNMP support.
INSTALANDO OS SERVIÇOS
[root@centos7 ~]# yum install -y httpd.x86_64 httpd-devel.x86_64
[root@centos7 ~]# yum install php php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml -y

Para o banco de dados vou utilizar o MariaDB:

[root@centos7 ~]# rpm -qa | grep MariaDB
MariaDB-common-10.1.22-1.el7.centos.x86_64
MariaDB-shared-10.1.22-1.el7.centos.x86_64
MariaDB-client-10.1.22-1.el7.centos.x86_64
MariaDB-devel-10.1.22-1.el7.centos.x86_64
MariaDB-server-10.1.22-1.el7.centos.x86_64

Habilitamos o Apache:

[root@centos7 ~]# systemctl enable httpd.service && systemctl start httpd.service
[root@centos7 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-mysql-3.2.0-1.el7.x86_64.rpm

[root@centos7 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-3.2.0-1.el7.noarch.rpm

[root@centos7 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.0-1.el7.x86_64.rpm

[root@centos7 ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.0-1.el7.x86_64.rpm

Instalamos as dependências:

[root@centos7 ~]# yum install -y fping.x86_64 \
OpenIPMI.x86_64
iksemel.x86_64
php-bcmath.x86_64
php-ldap.x86_64
libiodbc.x86_64
libiodbc-devel.x86_64
unixODBC.x86_64
unixODBC-devel.x86_64

Instalando o Zabbix:

[root@centos7 zabbix]# rpm -ivh zabbix-*
Preparando... ################################# [100%]
Updating / installing...
1:zabbix-web-mysql-3.2.0-1.el7 ################################# [ 20%]
2:zabbix-web-3.2.0-1.el7 ################################# [ 40%]
3:zabbix-server-mysql-3.2.0-1.el7 ################################# [ 60%]
4:zabbix-java-gateway-3.2.0-1.el7 ################################# [ 80%]
5:zabbix-agent-3.2.0-1.el7 ################################# [100%]

O Zabbix cria seu próprio arquivo de configuração do Apache:

[root@centos7 zabbix]# cd /etc/httpd/conf.d/

[root@centos7 conf.d]# ll
total 24
-rw-r--r-- 1 root root 2926 Nov 14 16:04 autoindex.conf
-rw-r--r-- 1 root root 691 Nov 5 22:32 php.conf
-rw-r--r-- 1 root root 366 Nov 14 16:05 README
-rw-r--r-- 1 root root 1252 Nov 14 14:53 userdir.conf
-rw-r--r-- 1 root root 824 Nov 14 14:53 welcome.conf
-rw-r--r-- 1 root root 831 Set 13 2016 zabbix.conf

Adicionamos o timezone:

php_value date.timezone America/Sao_Paulo

Restartamos o Apache:

[root@centos7 conf.d]# systemctl restart httpd

No banco de dados:

MariaDB [(none)] > create database zabbix character set utf8;
Query OK, 1 row affected (0.12 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123';
Query OK, 0 rows affected (0.03 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> quit;
Bye

Também podemos importar o banco do Zabbix:

[root@centos7 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.0

[root@centos7 zabbix-server-mysql-3.2.0]# gzip -d create.sql.gz

[root@centos7 zabbix-server-mysql-3.2.0]# mysql -u root -p zabbix 
> create.sql 

Vamos habilitar o Zabbix:

[root@centos7 ~]# systemctl enable zabbix-server.service 
[root@centos7 ~]# systemctl enable zabbix-agent.service 
[root@centos7 ~]# systemctl enable zabbix-java-gateway.service 
[root@centos7 ~]# systemctl start zabbix-server.service

E no /etc/zabbix/zabbix_server.conf

ListenPort=10051
SourceIP=192.168.56.2 #IP do Host
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix123
DBPort=3306

E terminamos a configuração utilizando a URL no Browser:

http://centos7.cissaspike.net/zabbix/

Checamos os pré-requisitos e se tudo estiver ok “Next Step”, seguimos as próximas telas entramos com os dados usados durante a instalação e clicamos em “Next Step” and we are done.

Referência:
https://tecadmin.net/install-zabbix-network-monitoring-on-centos-rhel-and-fedora/https://www.zabbix.com/documentation/3.0/pt/manual/introduction/about
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-zabbix-to-securely-monitor-remote-servers-on-centos-7
https://pt.wikipedia.org/wiki/Zabbixhttps://www.zabbix.com/documentation/3.0/pt/manual/installation/install#from_distribution_packages