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/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”:
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”:
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:
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”:
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 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:
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