Zabbix server 2.0 no Centos – Instalação e configuraçao

Introdução e preparação

Introdução

O Zabbix é um software de gerenciamento de rede, que verifica a saúde dos ativos de redes. Ele faz estas monitorações através do protocolo SNMP, checagens simples e configurações através de agentes.

Então, só mudarei as particularidades do sistema.

Após a instalação do CentOS e serviços básicos, vamos resolver as dependências da aplicação, para que a instalação do Zabbix tenha sucesso.

Nesta instalação, optei pelos seguintes pacotes:

  • Banco de dados MySQL
  • Front-end Apache 2
  • PHP 5 e extensões do PHP

Preparando o sistema

Comece a instalar os pacotes:

# yum update
# yum install [NOME_DO_PACOTE]

Instalando o MySQL:

# yum install apr-util-mysql mod_auth_mysql mysql mysql-connector-odbc mysql-devel mysql-embedded mysql-embedded-devel mysql-libs mysql-server php-mysql perl-DBD-MySQL qt-mysql qt3-MySQL

Configurando a inicialização:

# chkconfig mysqld on

Instalando a base:

# mysql_install_db

Inicie o serviço:

# service mysqld start

Configure a senha e teste o acesso:

# mysqladmin -u root password ‘zabbix’
# mysql -uroot -p

Instalando o Apache:

# yum install httpd httpd-devel httpd-tools mod_auth_mysql mod_perl mod_ssl php-zts ws-commons-util

Instalando o PHP:

# yum install php php-cli php-common php-dba php-devel php-gd php-mysql php-pear php-process php-snmp php-xmlrpc php-xml rrdtool-php php-gd php-bcmath php-mbstring php-mcrypt php-mhash php-ncurses

Outros pacotes importantes:

# yum install OpenIPMI OpenIPMI-devel OpenIPMI-libs OpenIPMI-perl
# yum install libssh2 libssh2-devel openssh
# yum install libcurl curl libcurl-devel
# yum install net-snmp net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils php-snmp
# yum install make MAKEDEV
# yum install gcc wget mlocate

Instalando o fping:

# wget http://pkgs.repoforge.org/fping/fping-3.1- 1.el6.rf.i686.rpm
# rpm -ivh fping-3.1-1.el6.rf.i686.rpm

Obs.: eu prefiro instalar um pacote de cada vez, para verificar o passo a passo.

Instalação e configuração

Instalando o Zabbix Server

Depois das dependências resolvidas, vamos baixar o source do Zabbix, em:

Crie um diretório “/srv/zabbix” e copie o source do Zabbix. Depois, extraia os arquivos:

$ tar -xvzf zabbix-[Versão].tar.gz

Crie o usuário “zabbix” em seu sistema:

# groupadd zabbix
# useradd -g zabbix zabbix

Preparando o banco de dados MySQL

Entre no MySQL e digite a senha:

# mysql -uroot -p

Crie a database:

mysql> create database zabbixdb;
mysql> quit;

Configure a permissão ao usuário “zabbix”:

# mysql -uroot -p -e “grant all privileges on zabbixdb.* to zabbix@localhost identified by ‘zabbix’;”

Obs.: vá até o diretório descompactado do Zabbix, que possui os arquivos “.sql”, no caso desta versão (/srv/zabbix/zabbix- 2.0.6/database/mysql) e, estando neste diretório, digite:

# mysql -u zabbix -p zabbixdb < schema.sql
# mysql -u zabbix -p zabbixdb < images.sql
# mysql -u zabbix -p zabbixdb < data.sql

Agora, o banco de dados está preparado para a instalação do Zabbix.

Configurando os pacotes (sources)

Dentro do diretório do Zabbix (/srv/zabbix/zabbix-2.0.6/), vamos compilá-lo com os seguintes parâmetros:

# ./configure –enable-server –enable-agent –with-mysql –enable-ipv6 –with-snmp –with-libcurl3 –with-ssh2 # make install

Adicione, ao final do arquivo “/etc/services”, as seguintes linhas:

zabbix-agent      10050/tcp  #Zabbix Agent
zabbix-agent      10050/udp  #Zabbix Agent
zabbix-trapper   10051/tcp  #Zabbix Trapper
zabbix-trapper   10051/udp  #Zabbix Trapper

Edite as seguintes linhas do arquivo “/usr/local/etc/zabbix_agentd.conf”:

PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
LogFileSize=1
DebugLevel=3
EnableRemoteCommands=1
LogRemoteCommands=1
Server=127.0.0.1
ListenPort=10050
Hostname=[Nome_do_HOST]

Edite as seguintes linhas do arquivo “/usr/local/etc/zabbix_server.conf”:

ListenPort=10051
LogFile=/tmp/zabbix_server.log
LogFileSize=2
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbixdb
DBUser=zabbix
DBPassword=senha do zabbix para acessar o banco de dados
StartIPMIPollers=1
StartDiscoverers=5
Timeout=3
FpingLocation=/usr/bin/fping

 

Configurando o front-end PHP

Precisamos ajustar algumas informações do PHP, para os pré-requisitos do Zabbix. Edite o arquivo “/etc/php.ini”, com as seguintes opções:

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

Configure o Apache para iniciar com o sistema:

# chkconfig –add httpd
# chkconfig –level 35 httpd on

Após editar o arquivo, reinicie o Apache:

# service httpd start

Como estamos configurando um servidor CentOS, o diretório default do Apache é “/var/www/html/”. É aconselhável criar um diretório “zabbix”:

# mkdir /var/www/html/zabbix

Entre no diretório dos fontes “/srv/zabbix/zabbix-2.0.6/frontends/php” e copie todo o conteúdo para “/var/www/html/zabbix”:

# cp -a * /var/www/html/zabbix/
# chown -R apache:apache /var/www/html/zabbix/

Configurando a inicialização do sistema

Entre no diretório “/srv/zabbix/zabbix-2.0.6/misc/init.d/fedora/core” e copie os arquivos para “/etc/init.d”:

# cp zabbix-agent /etc/init.d
# cp zabbix-server /etc/init.d

Dê permissão de execução para estes arquivos:

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

Inicie os serviços:

# /etc/init.d/zabbix_server start
# /etc/init.d/zabbix_agentd start

Verifique se os processos estão rodando:

# ps -ef|grep zabbix

 zabbix 15833     1  0 10:19 ?  00:00:00 /usr/local/sbin/zabbix_server
 zabbix 15835 15833  0 10:19 ?  00:00:00 /usr/local/sbin/zabbix_server
 zabbix 15836 15833  0 10:19 ?  00:00:00 /usr/local/sbin/zabbix_server
 zabbix 15838 15833  0 10:19 ?  00:00:00 /usr/local/sbin/zabbix_server

Atualize os arquivos de inicialização do sistema. Adicione os serviços:

# chkconfig –add zabbix_agentd
# chkconfig –add zabbix_server
# chkconfig –level 35 zabbix_agentd on
# chkconfig –level 35 zabbix_server on

Verificando:

# chkconfig –list|grep zabbix

 zabbix_agentd 0:off 1:off 2:off 3:on  4:off 5:on  6:off
 zabbix_server 0:off 1:off 2:off 3:on  4:off 5:on  6:off

Configurando o firewall

Nós precisamos configurar uma regra de firewall permitindo o acesso do servidor na porta 80, para que a publicação do site seja visível a todos os hosts.

Adicione a seguinte linha no arquivo “/etc/sysconfig/iptables”:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

Adicione, também, estas duas linhas que são as portas que o Zabbix trabalha:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 10050 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 10051 -j ACCEPT

Obs.: estas linhas devem ser adicionadas antes das regras de REJECT, deste arquivo.

Agora, atualize as regras:

# iptables-restore /etc/sysconfig/iptables

Temos também que desabilitar o SELinux para o site funcionar.

Edite o arquivo /etc/sysconfig/selinux:

SELINUX=permissive

Reinicie o servidor para que as configurações tenham efeito.

Finalizando a instalação pela interface gráfica

 

Agora, já pode acessar o Zabbix através da URL:

Vejas se está tudo OK:

Configure a conexão com o MySQL:

Detalhes do servidor:

Instalação efetuada com sucesso:

Agora, é só começar a usá-lo:

Username: admin
Password: zabbix

Linux: 
Zabbix Server 2.0 no CentOS - Instalação e configuração   Linux: 
Zabbix Server 2.0 no CentOS - Instalação e configuração