You are on page 1of 76

Zabbix 3.

0
Aula 01

Treinamento EAD Unirede


Aula 01
Tpicos abordados:

Entendendo e instalando as dependncias


Download e instalao do Zabbix 3.0
Ajustes no Apache e MySQL

Objetivo:

Instalar componentes da plataforma (Zabbix Server, Web Server e Database)


Aula 01

Consideraes iniciais da instalao


Aula 01

Nosso servidor GNU/Linux Debian 8 em sua arquitetura i386 deve ser


instalado no ambiente Oracle Virtualbox para que iniciemos nossa primeira
aula.
Aula 01
Por que Debian?

R: Nenhum motivo especial. Debian uma das distribuies GNU/Linux mais


estveis existentes, porm, no corporativa. Se sua empresa pretende obter
suporte de S.O., recomenda-se a utilizao de distribuies corporativas,
RHEL, Suse, dentre outras.
Veja o prximo slide!
Aula 01
Aula 01
Por qu AMD64?

R: a arquitetura de um sistema de 64 bits e importante pensar no


crescimento de seu Zabbix no que se refere ao suporte a mais processamento
e memria, dentre outros recursos, embora a preocupao que veremos
adiante com I/O do banco de dados, que pode ganhar um servidor dedicado.
Aula 01
Por qu particionamento simples?

R: Para nosso laboratrio, no h necessidade de particionar de forma


avanada nosso disco, porm, ao final do curso, estaremos aptos a identificar
e quantificar os recursos computacionais necessrios para uma boa
performance de nosso servidor Zabbix.
Aula 01
Quanto de memria devo reservar?

R: Para nosso laboratrio, sugere-se ao menos 512MB, porm, importante


observar as recomendaes da Zabbix SIA quanto aos requisitos.

Veja no prximo slide!


Aula 01

Consulte o manual oficial aqui!


Aula 01
Q: Por que Oracle VirtualBox?

R: Nenhum motivo especial, alm das observaes de facilidade de operao


para nosso laboratrio.

Q: Posso usar outro ambiente de virtualizao?

R: No recomendado para o laboratrio, para no gerar despadronizao de


ambiente proposto e consequente atraso nas aulas!
Aula 01

Repositrios
Aula 01

Confira os repositrios e atualize o sistema operacional:

/etc/apt/sources.list :

deb http://ftp.br.debian.org/debian/ jessie main contrib non-free


deb http://ftp.us.debian.org/debian/ jessie main contrib non-free

# aptitude update && aptitude upgrade


Aula 01

LAMP
Aula 01

LAMP o acrnimo para Linux + Apache + Mysql + PHP - Essa ser a


plataforma base para nosso servidor Zabbix, sobre Debian 8.
Logado como root do sistema, instale os pacotes com o comando a seguir:

# aptitude install apache2 mysql-server php5 php5-mysql php5-gd php5-ldap


php5-snmp
Aula 01

SGBD
Aula 01
Q: Por qu MySQL?

R: Esse o banco de dados mais indicado pois o prprio desenvolvimento do


Zabbix feito com ele, embora haja suporte para outros bancos, com
ressalvas.

Veja o prximo slide!


Aula 01
Aula 01

Dependncias do Zabbix Server


Aula 01
Nas prximas etapas, instalaremos alguns pacotes necessrios s funes do
Zabbix, como consultas em padres flex e bibliotecas necessrias para
monitoramento de pginas web, monitoramento por SNMP, suporte IPMI,
dentre vrios outros.

recomendado que se busque informaes sobre os pacotes a seguir, a


exemplo do prximo slide.
Aula 01
Logado como root, busque informaes como no exemplo abaixo:

# aptitude show flex

Dessa forma, ciente da prxima etapa, execute:

# aptitude install flex gpp php-net-socket libpq5 libpq-dev snmp libiksemel-dev


libcurl4-gnutls-dev libssh2-1-dev libssh2-1 libopenipmi-dev libsnmp-dev
libmysqld-dev curl fping libnet-snmp-perl libldap2-dev libssl-dev

Novidade Zabbix 3.0 - suporte a criptografia entre Zabbix Server x Zabbix Agent x Zabbix Proxy
Aula 01

Observao importante: Algumas dependncias instaladas no slide anterior


podem ser encontradas em outras distribuies Linux com outros nomes ou
em outros pacotes! Deixe sua dica no frum!
Aula 01

Estrutura bsica da soluo


Aula 01

Como comentado em outro momento, a arquitetura do Zabbix pode ser


modular, onde aplicao web, zabbix server e banco de dados podem estar
rodando em servidores dedicados para ganho de performance! O que
ganhamos na implementao do Zabbix de forma modular? As respostas
sempre chegam mesma abordagem: ganho de performance, principalmente
no que se refere ao banco de dados. Pense no I/O (escrita e leitura do disco)
que essa aplicao pode requerer se seu ambiente de TIC inteiro for
monitorado!
Aula 01

Uma possvel implementao modular para o Zabbix, distribuindo os recursos


em: Database Server, Web Server e Zabbix server!

Fonte: Zabbix 1.8 Network Monitoring, by Rihards Olups


Aula 01
Em nosso primeiro laboratrio a instalao ser realizada em um nico
servidor. Vamos continuar nossa preparao para o momento da compilao
do Zabbix pelo seu cdigo fonte.

Logado como root, execute o comando que vai instalar as bibliotecas


necessrias para compilao dos binrios:

# aptitude install build-essential


Aula 01

Download do Zabbix
Aula 01
Download do cdigo fonte do Zabbix 3.0
O site oficial http://www.zabbix.com o melhor local para baixar a aplicao
em sua verso mais atual.
Siga at o site e verifique a verso estvel mais atual disponvel e faa o
download.
Aula 01
FHS - Filesystem Hierarchy Standard

Seguindo a boa prtica sugerida pela FHS, vamos descompactar nosso pacote
Zabbix em /opt

# tar zxvf zabbix-3.0.0.tar.gz -C /opt

Essa uma boa prtica para o caso de padronizao da localizao dos


arquivos que vamos utilizar, mas no influencia na instalao do Zabbix.
Aula 01

Criando o banco de dados


Aula 01
Preparando nosso banco de dados MySQL

A instalao do Zabbix requer a criao de um banco vazio para que


posteriormente possa ser populada por scripts por ele mesmo disponibilizados.
Sigamos: os passos:

# mysql -u root -p

A senha solicitada deve ser a de root gerada no momento da instalao do


LAMP!
Aula 01
J no prompt de comandos do MySQL, execute:

> create database zabbix;


> grant all privileges on zabbix.* to usuzabbix@localhost identified by usuzabbix123##;
> flush privileges;
> quit;

At aqui, criamos o banco de dados zabbix vazio, criamos um usurio


chamado usuzabbix e uma senha qualquer, no caso, usuzabbix123## que
ser utilizada pelo usurio do banco, que no ser o root, por questes de
segurana!
Aula 01

Populando o banco de dados


Aula 01
Quando escolhemos o banco de dados a ser utilizado, j contamos com uma srie de
dados para gerar uma carga inicial. Siga at /opt/zabbix-3.0.0/database/mysql e execute:

# mysql -D zabbix -u usuzabbix -p < schema.sql


# mysql -D zabbix -u usuzabbix -p < images.sql
# mysql -D zabbix -u usuzabbix -p < data.sql
Aula 01

Criando usurio da aplicao


Aula 01
Nosso Zabbix Server e Zabbix Agent no utilizam os privilgios diretos do root
do sistema para executar suas tarefas. Precisamos criar um usurio por
padro chamado zabbix para que o sistema opere de forma segura. Basta
que esse usurio exista, mas voc pode aplicar alguns padres de segurana
que sua empresa exige ao realizar esse procedimento.

# useradd -m -s /bin/bash -c App Zabbix zabbix


Aula 01

Consideraes para compilao


Aula 01

Existem alguns mtodos de instalao do Zabbix e o que ser abordado no


curso ser por compilao do cdigo fonte. Porm, visite o site oficial e veja as
opes. Existem pacotes .rpm e .deb, por exemplo!
Aula 01
Em nosso laboratrio optamos pelo Debian 8, logo, ser necessrio instalar o
(s) pacote (s) que possui as bibliotecas para compilao em C e outras.

Obs.: Um pouco antes, foram instaladas as dependncias para o Zabbix


Server. Essas dependncias foram sinalizadas na apostila para satisfazer
nosso laboratrio, porm, existem outras instalaes e funcionalidades que
podem requerer outras dependncias. Fique atento!!!
Aula 01

Estudando a compilao
Aula 01
Estando no diretrio /opt/zabbix-3.0.0/

Estude as possibilidades da compilao do Zabbix 3.0

# ./configure --help | less

Novidade 3.0 - Suporte a criptografia:

--with-mbedtls
--with-gnutls
--with-openssl
Aula 01
Algumas abordagens para compilao

Existem muitas opes para compilao do Zabbix em nosso servidor e


algumas delas podem ser compreendidas se por exemplo, soubermos fazer a
ns mesmos algumas perguntas-chave como por exemplo:

Q: Com qual banco de dados vamos trabalhar?


Q: Haver autenticao LDAP no Zabbix?
Q: Vamos habilitar o monitoramento por SNMP?
Q: Meu ambiente precisa de um monitoramento criptografado?
Aula 01
Algumas abordagens para compilao - parte 2

Q: Habilitaremos o monitoramento por Zabbix Proxy?


Q: Habilitaremos suporte a monitoramento java?
Q: Habilitaremos suporte a notificaes por jabber?
Q: Habilitaremos suporte ao IPv6?
Q: Habilitaremos suporte ao monitoramento de pginas Web?
Q: Qual tipo de criptografia utilizar no meu monitoramento, se necessrio?
Aula 01

Ajustando data e hora do sistema para compilao


Aula 01
Instalao do ntpdate

Durante a compilao do Zabbix Server, so criticados alguns itens e dentre


eles, data e hora do sistema. Se for o caso, atualize o horrio com um NTP
Server:

# aptitude install ntpdate


# ntpdate 0.br.pool.ntp.org
Aula 01

http://www.pool.ntp.org/zone/br
Aula 01

Compilando o Zabbix Server e suporte a recursos


Aula 01

As perguntas que nos fizemos agora h pouco nos ajudaram a entender o


ambiente que queremos para nosso monitoramento e assim, chegamos
construo da seguinte linha de comando a ser executada:

# ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --


enable-agent --with-openipmi --with-ldap --with-ssh2 --with-openssl

# make && make install


Aula 01
# ./configure --help
--enable-server # compila o daemon do servidor
--with-mysql # compila o suporte ao mysql
--with-net-snmp # compila o suporte ao protocolo SNMP
--with-libcurl # biblioteca necessria para monitorar pginas web
--enable-agent # compila o daemon do agente zabbix
--with-openipmi # compila o suporte ao protocolo IPMI
--with-ldap # compila o suporte ao LDAP para login
--with-ssh2 # habilita checks por ssh
--with-openssl # habilita a criptografia na comunicao entre componentes do zabbix
Aula 01

Scripts de inicializao
Aula 01
Ao descompactarmos o zabbix-3.0.0.tar.gz em /opt, tambm podemos usufruir dos
scripts de inicializao criados pela Zabbix SIA para nosso sistema Debian 8, dentre
outras distribuies.

Para nosso laboratrio, faa da seguinte forma:

# cp /opt/zabbix-3.0.0/misc/init.d/debian/zabbix-* /etc/init.d
# update-rc.d zabbix-server defaults
# update-rc.d zabbix-agent defaults
Aula 01

Consideraes
Aula 01

Se tudo correu bem at aqui, nosso Zabbix 3.0 j est compilado. As opes que
escolhemos anteriormente habilitam uma srie de recursos em nosso servidor, porm,
outras opes no foram habilitadas e desejvel que em seus estudos off-line sejam
consideradas.

Troque dicas com seus colegas em nossos frums!


Aula 01

Configurando zabbix_server.conf
Aula 01

Ao compilarmos o Zabbix 3.0, so gerados alguns arquivos de configurao em


/usr/local/etc/

Dentre esses arquivos, temos o zabbix_server.conf

Vamos edit-lo e prepar-lo conforme nosso ambiente:

# vi /usr/local/etc/zabbix_server.conf
Aula 01
Abaixo, as diretivas que inicialmente mudaremos para nosso laboratrio
(outras diretivas sero tratadas ao longo do curso):

DBHost=localhost
DBName=zabbix
DBUser=usuzabbix
DBPassword=usuzabbix123##
Aula 01

Configurando zabbix_agentd.conf
Aula 01
Abaixo, as diretivas que inicialmente mudaremos para nosso laboratrio
(outras diretivas sero tratadas ao longo do curso):

Server=127.0.0.1
Hostname=Zabbix server

Obs.: Em nosso servidor, o arquivo de configurao do Zabbix Agent no


sofrer nenhuma mudana inicialmente.
Aula 01

Inicializando os servios
Aula 01
Inicializando os servios manualmente

# /usr/local/sbin/zabbix_server
# /usr/local/sbin/zabbix_agentd
# netstat -ntpl

Inicializando os servios por daemons:

# invoke-rc.d zabbix-server start


# invoke-rc.d zabbix-agent start
Aula 01

Verificaes dos servios


Aula 01
Verificando portas e logs

Ao executar os daemons do zabbix, temos de conferir se as portas 10051


(server) e 10050 (agent) esto abertas:

# netstat -ntpl | grep zabbix

Confira tambm os logs gerados:

# tail -f /tmp/zabbix_server.log
# tail -f /tmp/zabbix_agentd.log
Aula 01
Aula 01
Verificando processos

Tambm possvel visualizar os processos do Zabbix no Linux:


# ps -ef | grep -i zabbix

Arquivos contendo o PID dos daemons tambm podem ser visualizados:


# ls -l /tmp

A localizao dos arquivos de processos e logs podem mudar, basta alterar os


arquivos de configurao.
Aula 01

Preparando o frontend - cpia dos arquivos


Aula 01

O Zabbix trabalha com o frontend em php, por isso instalamos o LAMP. Agora,
precisamos fazer a cpia dos arquivos para leitura e breve gravao pelo apache!

# mkdir -m 750 /var/www/html/zabbix


# cp -r /opt/zabbix-3.0.0/frontends/php/* /var/www/zabbix/
# chown -R www-data:www-data /var/www/html/zabbix/
Aula 01

Preparando o frontend - acesso


Aula 01

Ao acessar a URL de nosso servidor Zabbix, teremos a fase da instalao pelo


frontend. Talvez seja preciso realizar alguns ajustes no php.ini de nosso
servidor, para que tenha os requisitos mnimos exigidos pelo Zabbix.

http://zbx.lab.com.br/zabbix
Aula 01
Aula 01
Todos os ajustes
devem ser realizados
at alcanarmos um
ok em todos os itens
dessa tela.
Faa junto ao instrutor!
Aula 01
Em instalao de
laboratrio, nosso
Zabbix possui o
banco de dados
no mesmo host,
localhost, mas
quando nossa
instalao for
modular, atente-
se a esse passo!
Aula 01
Informe dados
sobre o Zabbix
Server!
Lembre-se, na
instalao
modular, as
informaes
podem ser
diferentes!
Aula 01
Reveja suas
configuraes no
sumrio da
instalao, antes
que o arquivo de
configurao seja
gerado!
Se preciso, os
dados podem ser
alterados.
Aula 01
Avanando, o
arquivo de
configurao
contendo
informaes
sobre sua
instalao
gerado.
necessrio que
o apache2
tenha
permisso de
escrita no local
da gravao.
Aula 01

Usurio = admin
Senha = zabbix
Aula 01
Confira o frontend e comece a usar o Zabbix 3.0

http://zbx.lab.com.br

Tarefa concluda!

You might also like