Beruflich Dokumente
Kultur Dokumente
Sobre mim:
Nome: Marcos Vinicius Campez
Formao e Exp.:
- Bacharel em Sistemas de Informao.
- Administrador de Redes (Odebrecht).
- Consultor Linux (Betta Tcnologia).
- Escreve artigos para o site Viva o Linux.
- Militante do uso do Software Livre.
- Usurio Linux desde 2006.
- Fundador da Byte Livre.
Facebook: facebook.com/bytelivre
Twitter: twitter.com/bytelivre
Site: bytelivre.net
E-mail: treinamentos@bytelivre.net
Skype: markintux
Objetivos do Curso:
Entender o funcionamento do Zabbix.
Ser apto em instalar e configurar o Zabbix (Server, Proxy e Agent).
Ser apto em interpretar logs.
Ser apto em administrar a ferramenta.
Ser apto em aplicar Itens, Triggers e Actions em um Template.
Ser apto em criar seus prprios Itens, Triggers e Actions.
Ser apto a aplicar conceitos como: Mapas, SNMP, ICMP, etc.
Ser apto em administrar a interface Web.
O que o Zabbix?!
Software que monitora diversos parmetros de uma rede como a
integridade e desempenho dos servidores.
Oferece excelentes relatrios e visualizao de dados de recursos com
base nos dados armazenados.
Usa um mecanismo de notificao flexvel que permite aos usurios
configurar e-mail com alertas para qualquer evento, o que permite uma
reao rpida para os problemas de qualquer dispositivo de rede
monitorado pelo mesmo.
escrito e distribudo sob a GNU General Public License verso 2. Isso
significa que seu cdigo-fonte distribudo gratuitamente e est disponvel
para o pblico em geral.
Mdulos do Zabbix
zabbix-server
zabbix-proxy
zabbix-agent
zabbix-web
3600
bytes
Dias
bytes
Estatstica
Eventos
PS.: O Histrico foi calculado por ms no exemplo anterior, por isso foi
multiplicado o mesmo por 12, para mostrar o valor anual.
Pr-requisitos:
CentOS Linux instalado na mquina fsica ou virtual.
Acesso a internet.
Processador Intel ou AMD, 32 ou 64 bits com clock de 1.5 Ghz.
Memria RAM de 1GB.
Espao livre em disco de 10GB para instalao e logs.
Iptables e selinux desabilitado.
IP Fixo na rede interna.
Como instalar?!
Download e instalao do fonte, direto do site (Recomendado):
www.zabbix.com/download.php
Download e instalao via YUM direto do repositrio atomic:
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
yum install zabbix-server (...)
Download do Live CD/DVD (.iso) (OpenSuSE + MySQL).
Download do HD para VMware/VBox (.vmdk) (OpenSuSE + MySQL).
Download da imagem do HD para pendrive (OpenSuSE + MySQL).
Instalao - zabbix-server:
SELinux desabilitado:
# vim /etc/selinux/config
Editar linha: SELINUX=disabled
Iptables desabilitado:
# /etc/init.d/iptables stop
# ntsysv
Desmarcar iptables e ip6tables
Instalao - zabbix-server:
Atualizao dos pacotes do sistema:
# yum update
Instalao dos pacotes necessrios para a compilao do Zabbix:
# yum install gcc httpd php php-bcmath php-cli php-gd phpmbstring php-mcrypt php-mysql curl curl-devel net-snmp net-snmp-lib netsnmp-utils net-snmp-devel OpenIPMI OpenIPMI-devel mysql-server mysqldevel php-mysql php-xml gnutls-devel mod_ssl libssh2 libssh2-devel make
Instalao - zabbix-server:
Instalao de outros pacotes que no esto no repositrio do CentOS:
FPING
wget http://pkgs.repoforge.org/fping/fping-2.4-1.b2.2.el5.rf.i386.rpm
rpm -ivh fping-2.4-1.b2.2.el5.rf.i386.rpm
IKSEMEL
wget http://pkgs.repoforge.org/iksemel/iksemel-1.4-1.el6.rf.i686.rpm
rpm -ivh iksemel-1.4-1.el6.rf.i686.rpm
yum install iksemel
Instalao - zabbix-server:
Instalao de outros pacotes que no esto no repositrio do CentOS:
IKSEMEL-DEVEL
wget
http://pkgs.repoforge.org/iksemel/iksemel-devel-1.4-1.el6.rf.i686.rpm
rpm -ivh iksemel-devel-1.4-1.el6.rf.i686.rpm
yum install iksemel-devel
Instalao - zabbix-server:
Configuraes no arquivo php.ini
vim /etc/php.ini
date.timezone=America/Sao_Paulo
max_execution_time = 600
post_max_size = 32M
upload_max_filesize = 16M
max_input_time = 600
Instalao - zabbix-server:
Instalao do zabbix-server:
Download do pacote zabbix-server da ltima verso (2.x.x):
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%2xLatest
%2xStable/2.x.x/zabbix-2.x.x.tar.gz/download
Descompactar o arquivo:
tar -zxvf zabbix-2.x.x.tar.gz
Acessar pasta criada com a descompactao do arquivo:
cd zabbix-2.x.x
Instalao - zabbix-server:
Instalao do zabbix-server:
Pr-compilando o zabbix-server:
./configure --with-mysql --enable-server --enable-agent --enableproxy --with-jabber --with-net-snmp --with-libcurl --with-openipmi --with-ssh
Compilando e instalando o zabbix-server:
make install
Criando pasta /etc/zabbix
mkdir /etc/zabbix
Instalao - zabbix-server:
Instalao do zabbix-server:
Lembrando que o arquivo de configurao do zabbix-server na
verso 2.x.x :
/usr/local/etc/zabbix_server.conf
Criando o usurio zabbix
useradd zabbix
Dando permisses para o usurio zabbix ser dono da pasta /etc/
zabbix:
chown zabbix:zabbix /etc/zabbix/ -R
Instalao - zabbix-server:
Configurao do zabbix-server:
Reiniciando o mysql:
/etc/init.d/mysqld restart
Acessando o mysql:
mysql -u root -p
Criando o banco de dados do zabbix:
mysql> create database zabbix character set utf8;
Instalao - zabbix-server:
Configurao do zabbix-server:
Dando permisso para o usurio zabbix:
mysql> grant ALL on zabbix.* to zabbix@'localhost' identified by
'senha';
Saindo do mysql:
mysql> exit
Instalao - zabbix-server:
Configurao do zabbix-server:
Importando SQL's do zabbix para o banco de dados:
cat database/mysql/schema.sql | mysql -u zabbix -p zabbix
cat database/mysql/images.sql | mysql -u zabbix -p zabbix
cat database/mysql/data.sql | mysql -u zabbix -p zabbix
Instalao - zabbix-server:
Configurao do zabbix-server:
Configurando o arquivo zabbix_server.conf:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=senha
Iniciando o zabbix-server:
zabbix_server
Instalao - zabbix-server:
Configurao do zabbix-server:
Conferindo se o zabbix-server foi mesmo iniciado:
ps aux | grep zabbix
Sada deve ser parecida com essa:
(...)
zabbix 17822 0.0 0.1 52940 1584 ?
zabbix 17823 0.0 0.1 52944 1568 ?
zabbix 17827 0.0 0.1 52940 1344 ?
(...)
S
S
S
Instalao - zabbix-server:
Configurao do zabbix-server, interface WEB:
Criando pasta zabbix para a interface WEB:
mkdir /var/www/html/zabbix
Acessando a pasta com os arquivos para interface WEB:
cd frontends/php/
Copiando todos os arquivos para a pasta zabbix:
cp * -R /var/www/html/zabbix/
Instalao - zabbix-server:
Configurao do zabbix-server, interface WEB:
Dando permisso ao usurio apache ser dono da pasta zabbix:
chown apache:apache /var/www/html/zabbix/ -R
Reiniciando o servidor apache:
/etc/init.d/httpd start
Acessando a interface WEB:
Abra o navegador e digite: localhost/zabbix
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-server:
Instalao - zabbix-proxy:
Realizar o download dos pacotes necessrios ( recomendado ter
instalado os repositrios: rpmforge e atomic):
yum install make gcc gcc-c++ iksemel iksemel-devel net-snmpdevel libcurl-devel fping OpenIPMI-devel libssh2-devel sqlite-devel sqlite
Baixar o cdigo-fonte do Zabbix:
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%2xLatest
%2xStable/2.x.x/zabbix-2.x.x.tar.gz/download
Descompactar o arquivo:
tar -zxvf zabbix-2.x.x.tar.gz
Instalao - zabbix-proxy:
Acessar a pasta criada:
cd zabbix-2.x.x/
Compilar o Zabbix Proxy:
./configure --prefix=/opt/zabbix --enable-proxy --enable-sqlite3 -with-libcurl --with-net-snmp --with-openipmi --with-jabber --with-ssh2
Instalar o Zabbix Proxy:
make install
Instalao - zabbix-proxy:
Criar usurio e grupo do Zabbix:
groupadd zabbix
useradd -m -g zabbix zabbix
Criar a base de dados no SQLite:
mkdir /var/lib/sqlite
sqlite3 /var/lib/sqlite/zabbix.db < database/sqlite3/schema.sql
sqlite3 /var/lib/sqlite/zabbix.db < database/sqlite3/images.sql
sqlite3 /var/lib/sqlite/zabbix.db < database/sqlite3/data.sql
Instalao - zabbix-proxy:
Dar permisso para que o usurio zabbix acesse a pasta criada:
chown -R zabbix. /var/lib/sqlite
Criar estrutura de pastas:
cd /opt/zabbix
mkdir log run tmp alertscripts externalscripts
cp <path_zabbix_folder>/conf/zabbix_proxy.conf /opt/zabbix/etc
ln -s /opt/zabbix/etc/ /etc/zabbix
Instalao - zabbix-proxy:
Editar arquivo de configurao do Zabbix Proxy:
ProxyMode = 0
Server = <ip_zabbix_server>
Hostname = <nome_do_proxy>
DBName = /var/lib/sqlite/zabbix.db
DBUser = zabbix
Salvar e sair do arquivo.
Instalao - zabbix-proxy:
Dar permisso de acesso ao Zabbix na pasta /opt/zabbix:
chown zabbix. /opt/zabbix/ -R
Iniciar servio do Zabbix Proxy:
/opt/zabbix/sbin/zabbix_proxy
Caso queira parar o servio do Zabbix Proxy:
killall zabbix_proxy
necessrio realizar o cadastro do Zabbix Proxy no Zabbix Server
conforme as prximas imagens:
Instalao - zabbix-proxy:
Instalao - zabbix-proxy:
Instalao - zabbix-proxy:
LOGS zabbix-agent!
Configurando o agent arquivo: /etc/zabbix/zabbix_agentd.conf:
vim /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
LogFileSize=1
# Range: 0-1024
DebugLevel=3
#
#
#
#
#
0 - no debug
1 - critical information
2 - error information
3 - warnings
4 - for debugging (produces lots of information)
LOGS zabbix-agent!
Monitorando o Log do zabbix-agent:
tail -f <caminho_do_log>
Sada do Log:
2832:20130326:134510.379 Starting Zabbix Agent. Zabbix 1.8.5 (revision
19050).
2835:20130326:134510.382 agent #2 started [listener]
2834:20130326:134510.382 agent #1 started [listener]
2836:20130326:134510.383 agent #3 started [listener]
2837:20130326:134510.383 agent #4 started [active checks]
2833:20130326:134510.383 agent #0 started [collector]
LOGS zabbix-server!
Configurando o agent arquivo: /etc/zabbix/zabbix_server.conf:
vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
LogFileSize=1
# Range: 0-1024
DebugLevel=3
#
#
#
#
#
0 - no debug
1 - critical information
2 - error information
3 - warnings
4 - for debugging (produces lots of information)
LOGS zabbix-server!
Monitorando o Log do zabbix-server:
tail -f <caminho_do_log>
Sada do Log:
17823:20130325:212828.543 Got signal [signal:15(SIGTERM),sender_pid:
20415,sender_uid:0,reason:0]. Exiting ...
17827:20130325:212828.544 Got signal [signal:15(SIGTERM),sender_pid:
20415,sender_uid:0,reason:0]. Exiting ...
17782:20130325:212830.514 [Z3001] connection to database 'zabbix'
failed: [2002] Can't connect to local MySQL server through socket '/var/lib/
mysql/mysql.sock' (2)
17782:20130325:212830.514 Cannot connect to the database. Exiting...
Criando Usurios!
Administrao > Usurios
Criando Usurios!
Usurios > Novo Grupo
Criando Usurios!
Configurando permisses do novo grupo:
Criando Usurios!
Autorizado Leitura e Escrita em Templates / Banido em Zabbix Servers:
Criando Usurios!
Grupo Criado!
Criando Usurios!
Criar Usurio
Criando Usurios!
Definindo configurao padro.
Criando Usurios!
Usurio criado e j atribudo ao grupo.
Criando Usurios!
Acessando o Zabbix com o usurio criado.
Criando Usurios!
Panel do usurio.
Triggers Dependncias!
O que so e para que servem?!
Dependncias de triggers como o prprio nome j diz, faz com que
uma trigger dependa de outra para que a mesma dispare. Desta maneira
evitamos disparos indesejveis de triggers, podendo nos causar alguns
falsos positivos.
Exemplo:
Teremos duas triggers:
Trigger 1: Dispara caso comunicao com o servidor foi
perdida nos ltimos 2 minutos.
Trigger 2: Dispara caso arquivo /tmp/teste no exista.
Triggers Dependncias!
Exemplo:
Teremos uma dependncia de trigger na Trigger 2 com a Trigger
1, ou seja, a Trigger 2 s ser disparada caso o status da Trigger 1 seja
OK e o dela PROBLEM.
Resumindo:
S ser alertado que o arquivo /tmp/teste2 foi removido se a
conexo com o servidor estiver ativa.
Triggers Dependncias!
Os dois itens foram criados com suas respectivas triggers e j esto
recebendo os dados:
Triggers Dependncias!
Clique na Trigger 2 e v na Aba de Dependncias:
Triggers Dependncias!
Selecione a Trigger 1 como dependncia da Trigger 2 e clique em
Salvar:
Triggers Dependncias!
Para checar se a dependncia das triggers est correta, v em
Monitoramento > Viso Geral. Duas setas indicaro as dependncias.
Triggers Dependncias!
Forando o erro de comunicao com o Servidor, podemos ver que a
Trigger 2 no foi disparada, pois o Status da Trigger 1 est como
PROBLEM.
Triggers Dependncias!
Forando o erro de comunicao com o Servidor, podemos ver que a
Trigger 2 no foi disparada, pois o Status da Trigger 1 est como
PROBLEM.
Ao criada.
{name}=Admin
{password}=zabbix
Monitorando o APACHE!
Um dos monitoramentos mais importantes.
Apache o servidor Web mais utilizado do mundo.
Hoje em dia, qualquer empresa tem um servidor Web Apache tanto
externo quanto interno para criao de Websites ou Sistemas Web
prprios.
Com o monitoramento do Apache, podemos ter acesso a dados que nos
diga o porque do nosso servidor Web est lento, travando ou com gargalo.
Para monitorar o Apache utilizaremos um script bash e um template
muito utilizado na comunidade Zabbix, porm modificado por: Janssen dos
Reis Lima.
Monitorando o APACHE!
necessrio ter instalado no Servidor Zabbix que ir monitorar o
Servidor Apache os programas: fgrep e awk.
Criar as seguintes pastas:
/etc/zabbix/scripts
/opt/zabbix/tmp
Nomear o usurio zabbix como proprietrio da pasta:
chown zabbix:zabbix /etc/zabbix/scripts
Colocar o script apache.sh (anexado no EAD do curso) na pasta: /etc/
zabbix/script
Monitorando o APACHE!
Dar permisso de execuo ao script:
chmod u+x /etc/zabbix/scripts/apache.sh
Tornar o usurio zabbix proprietrio do script:
chown zabbix:zabbix /etc/zabbix/scripts/apache.sh
Adicionar UserParameter referente ao script:
vi /etc/zabbix/zabbix_agentd.conf
UserParameter=apache[*], /etc/zabbix/scripts/apache.sh $1
Monitorando o APACHE!
Acessar arquivo de configurao do apache:
vi /etc/httpd/conf/httpd.conf
Mudar parmetro: ExtendedStatus para On.
Adicionar no final do arquivo:
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
Monitorando o APACHE!
Reiniciar o Apache:
/etc/init.d/httpd restart
Adicionar template Template_Apache_Stats (Anexado ao EAD do curso)
no Zabbix.
Adicionar o template no host que estiver com o Apache a ser
monitorado.
Esperar o recebimento dos dados.
Monitorando o APACHE!
Recebimento dos dados:
Monitorando o APACHE!
Recebimento dos dados:
Configurao > Hosts > Host com suporte a IPMI > Itens > Criar Item.
Nome: Temperatura Ambiente.
Tipo: Agente IPMI.
Chave: ipmi.ambient.temp
Sensor IPMI: Ambient Temp
Tipo de informao: Numrico (fracionrio)
Unidades: C
Configurao > Hosts > Host com suporte SNMP > Itens > Criar Item.
Nome: Quantidade de download
Tipo: Agente SNMPv2
Chave: baixado
SNMP OID: ifInOctets.8
Comunidade: public
Geolocalizao!
Localizao de todos os hosts em mapas dinmicos.
Maior facilidade de visualizao dos hosts.
Viso estendida e melhorada.
Utiliza a API do Google Maps.
possvel utilizar o Google Latitude.
Plugin criado por Aristteles Arajo e Leandro Alves Machado.
ltima verso no momento: 0.3.3
Foi acoplada ao Plugin Zabbix-Extras, criado por Adail Spinola.
Geolocalizao!
Duas formas de se instalar:
1. Forma (Verses 2.0.x do Zabbix Server):
Plugin criado por Aristteles Arajo e Leandro Alves Machado.
ltima verso no momento: 0.3.3
2. Forma (Verses 2.1.x e mais recentes do Zabbix Server):
Instalao do Plugin Zabbix-Extras, criado por Adail Spinola.
Geolocalizao - Instalao!
Realizar o download em: http://www.sofitrix.com.br/plugins/zabbixgeolocalizacao-v0.3.3.tar.gz
Acessar pasta /var/www/html/zabbix/
cd /var/www/html/zabbix
Criar a pasta extras
mkdir extras
Acessar a pasta extras
cd extras/
Geolocalizao - Instalao!
Copiar o arquivo tar.gz para a pasta extras.
cp /<path_arquivo_tar.gz>/
Descompactar o arquivo.
tar -zxvf <nome_do_arquivo.tar.gz>
Copiar arquivo geolocation.php para /var/www/html/zabbix.
cp /geolocation/misc/geolocation.php /var/www/html/zabbix
Permisses para o usurio apache.
chown -R apache:apache extras/
Geolocalizao - Instalao!
Criar item no menu do Zabbix.
vi ../include/menu.inc.php
Localizar texto:
array(
'url' => 'srv_status.php',
'label' => _('IT services'),
'force_disable_all_nodes' => true,
'sub_pages' => array('report3.php', 'chart5.php')
),
Geolocalizao - Instalao!
Adicionar embaixo do texto localizado:
array(
'url' => 'geolocation.php',
'label' => _('Geolocalizao')
),
Salvar e sair do arquivo.
Essa alterao cria um menu de Geolocalizao em Monitoramento.
Confira se o menu Monitoramento > Geolocalizao foi criado.
Geolocalizao - Instalao!
Configurar o php.ini.
vi /etc/php.ini
Modificar a propriedade short_open_tag de Off para On.
short_open_tag=On
Salvar e sair do arquivo.
Reiniciar o apache.
/etc/init.d/httpd restart
Geolocalizao - Instalao!
Definir o grupo padro para a pesquisa de Geolocalizao.
vi /zabbix/extras/geolocation/geolocation.conf
group = 1 (ou o grupo que voc desejar).
Para que os hosts sejam exibidos no Mapa, necessrio cadastrar sua
Latitude e Longitude.
Configurao > Hosts > Host desejado > Inventrio > Manual.
Adicionar Latitude e Longitude
Salvar e verificar se o Host ir ser mostrado no mapa.
Configurao > Geolocalizao
Geolocalizao - Instalao!
Adicionando Latitude e Longitude
Geolocalizao - Instalao!
Verificando a Geolocalizao do Zabbix Server.
Geolocalizao - Instalao!
2a. Forma de instalao, atravs do plugin Zabbix-Extras.
Baixar o Plugin:
wget https://raw2.github.com/SpawW/zabbix-extras/master/
instalaExtras.sh
Executar o script:
./instalaExtras.sh
Responder as perguntas e acessar a interface do Zabbix.
Este Plugin automatiza toda a instalao e ainda instala alguns detalhes
a mais.
Geolocalizao - Instalao!
Mais detalhes em:
http://spinola.net.br/blog/?p=496
Site dos criadores e mantenedores deste excelente Plugin!
Desinstalando o Zabbix!
Matar o processo do Zabbix:
# killall zabbix_server
Remover binrios:
# rm -rf /usr/local/sbin/zabbix_*
Logar no mysql e deletar tabela:
# mysql -u root -p
mysql> drop database zabbix;
Desinstalando o Zabbix!
Deletar o diretrio do zabbix:
# rm -rf /etc/zabbix
Deletar os scripts init.d (caso houverem):
# rm -rf /etc/init.d/zabbix-*
Material de Pesquisa!
Manual OFICIAL do Zabbix em Portugus (v.1.8):
https://www.zabbix.com/documentation/pt/start
Manual OFICIAL do Zabbix em Ingls (v.1.8 e v.2.0):
https://www.zabbix.com/documentation/2.2/manual
timo Livro: Zabbix 1.8 Network Monitoring