Académique Documents
Professionnel Documents
Culture Documents
ao e de Utilizacao do Zabbix
8 de fevereiro de 2013
Sum
ario
1 Introduc
ao
2 Objetivos
3 Pr
e-requisitos
4 Instalac
ao em ambientes Linux
4.1
MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4
Zabbix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.1
Zabbix Server . . . . . . . . . . . . . . . . . . . . . . .
4.4.2
4.4.3
5 Ambiente WEB
5.1
10
Instalacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
15
6.1
Adicionando Usuarios . . . . . . . . . . . . . . . . . . . . . . . 15
6.2
Criando Hosts . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.3
Criando Itens . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.4
Emitindo Triggers . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.5
Enviando emails . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.6
Mdias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.7
Acoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.8
Graficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.9
Comando Remoto . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.14 Configuracao . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.14.1 Grupos de Host . . . . . . . . . . . . . . . . . . . . . . 34
6.14.2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.14.3 Manutencao . . . . . . . . . . . . . . . . . . . . . . . . 36
6.14.4 Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.14.5 Telas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.14.6 Slides . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.14.7 Mapas . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.14.8 Autobusca . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.14.9 Servicos de TI . . . . . . . . . . . . . . . . . . . . . . . 41
6.15 Administracao . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.15.1 Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.15.2 MD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.15.3 Autenticacao . . . . . . . . . . . . . . . . . . . . . . . 45
6.15.4 Usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.15.5 Tipos de Mdias . . . . . . . . . . . . . . . . . . . . . . 46
6.15.6 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.15.7 Auditoria . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.15.8 Fila . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.15.9 Notificacoes . . . . . . . . . . . . . . . . . . . . . . . . 49
6.15.10 Idiomas . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.15.11 Instalacao . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.16 Apendice C - SLA . . . . . . . . . . . . . . . . . . . . . . . . . 50
Laboratorio de Software Livre
60
Introduc
ao
Objetivos
Pr
e-requisitos
Instalac
ao em ambientes Linux
4.1
MySQL
4.2
Apache
4.3
PHP
4.4
Zabbix
4.4.1
Zabbix Server
4.4.2
4.4.3
Ambiente WEB
5.1
Instala
c
ao
Um recurso poderoso e u
til e a interface web do Zabbix. Para utiliza - la,
e necessario fazer alguns ajustes.
Entre no terminal e fique como usuario root. Inicie o apache com o
comando
# /etc/init.d/apache2 start
e em seguida entre no arquivo
# vim /etc/php/apache2-php5.4/php.ini
e iremos mudar algumas variaveis. Deixe as respectivas linhas tais como
estao abaixo:
memory limit = 256
post max size = 32M
upload max filesize = 16M
max execution time = 600
max input time = 600
date.timezone = America/Sao Paulo
Laboratorio de Software Livre
10
11
12
13
14
6.1
Adicionando Usu
arios
Podemos alterar o nome e senha do usuario default ou adicionar outros usuarios. Va em Administracao -> Usuariose altere de Grupo de
Usuariospara Usuarios. Veja que o usuario Adminesta a mostra, logo
podemos configura - lo, como tambem podemos adicionar novos usuarios.
Independente da escolha, havera uma guia chamada Mdiacom um campo
Adicionar. Nao criamos uma mdia ainda, mas quando criarmos, vamos
escolher ela.
15
6.2
Criando Hosts
16
6.3
Criando Itens
Itens, como mencionado, sao tarefas dadas ao servidor para que informacoes
das clientes sejam coletadas. Uma vez criado um host, na aba Configuracao
-> Hosts, clique em Itenscorrespondente ao host desejado.
Clique no campo Selecionare escolha o dado que queira monitorar.
Por exemplo, vamos monitar o MySQL em uma maquina. Escolha a opcao
proc.num. Na guia Chave, perceba que proc.num tem campos que precisam ser alterados. Deixamos proc.num[,mysql] para monitar o MySQL, mas
podemos deixar proc.num[,apache] caso seja o Apache ou proc.num[java,,,tomcat]
se quisermos monitorar o Tomcat, etc.
17
18
6.4
Emitindo Triggers
Pronto, criamos um ou mais tens, que por si so, simplesmente pegam informacoes dos clientes e colocam no banco de dados. Mas queremos trabalhar
essas informacoes. Podemos estabelecer condicoes que, se nao satisfeitas, alguma acao podera ser feita. Mas lembrando, triggers so mandam alertas,
acoes e na proxima parte!
Clique em Configuracoes -> Hosts, clique em Triggerse clique em
Criar Trigger. Aparecera uma tela como a que esta mostrada abaixo:
Na guia nome, coloque o nome da sua trigger, como por exemplo, Processos no MySQL. Na guia, Expressao, clique em Adicionar. Aparecera
uma tela, como mostrado na figura abaixo:
19
6.5
Enviando emails
20
/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:25 (mas pode ser 587 ao inves de 25)-xu
$smtplogin -xp $smtppass
Salvar o script.
Observacao: fizemos o teste com uma maquina Ubuntu e apareceu o
seguinte erro:
Feb 01 10:58:01 home sendEmail[8558]: NOTICE => Authentication not supported by the rem
Feb 01 10:58:01 home sendEmail[8558]: ERROR => Received: 530 5.7.0 Must issue a STARTT
Entao fizemos os seguintes ajustes. Primeiro acresentamos o comando
-o tls=yes na u
ltima linha do script e em seguida instalamos a biblioteca
libnet-smtp-ssl-perl com o comando sudo apt-get install libnet-smtp-ssl-perl
e o problema foi resolvido.
Tornar o script executavel:
# chmod +x zabbix sendemail.sh
Alterar as permissoes do diretorio e do script:
# chown -R zabbix:zabbix /etc/zabbix/scripts
Testar se o script foi configurado corretamente:
# ./zabbix sendemail.sh email@destino -m Ola Mundo
Laboratorio de Software Livre
21
6.6
Mdias
6.7
A
c
oes
Agora vamos criar acoes que acontecerao caso uma trigger seja disparada.
Va em Configuracao -> Acoese clique em Criar Acoes. Aparecera uma
tela como a que temos abaixo:
De um nome para a sua acao e na guia Condicoes de Acao, clique em
Nova. Onde esta escrito Descricao do Trigger, coloque simplesmente
Trigger, deixe o sinal de =e escolha a Trigger que desejas. Voce tera que
` direita, em Operacoes da Acao,
fazer essa operacao com cada trigger. A
clique em Nova e deixe como: Tipo de operacao: enviar mensagem, Enviar mensagem para: usuario, Selecionar, deixe em Admine clique em
salvar.
Para mais detalhes sobre acoes, consulte a pagina:
http://www.zabbix.com/documentation/1.8/manual/config/actions
22
6.8
Gr
aficos
Um recurso interessante do Zabbix e a criacao de graficos a partir das informacoes coletadas. Va em Configuracao -> Hostse clique em Graficoscorrespondente
ao host de sua preferencia. Clique em Criar Graficoe aparecera uma tela
como a figura abaixo:
23
6.9
Comando Remoto
24
6.10
Ap
endice A: Instalando o Zabbix no Ubuntu
Foi ensinado nesse tutorial como instalar o Zabbix no Gentoo. Vamos ensinar como instalar no Ubuntu. Essencialmente nao existem grandes
Laboratorio de Software Livre
25
26
Inicie o servidor:
# /etc/init.d/zabbix-server start
Por fim, instalaremos o frontend:
# apt-get install zabbix-frontend-php
so colocar o comando:
Agora instalaremos o agent. E
# apt-get install zabbix-agent
E recomendado adicionar as seguintes linhas ao arquivo /etc/services:
zabbix agent 10050/tcp
zabbix trapper 10051/tcp
Va no arquivo /etc/zabbix/zabbix agentd.conf. Na linha Server= ...coloque,
ou o nome da maquina servidora ou o seu ip. Na linha Hostname= ...coloque,
ou o nome da maquina cliente em questao ou o seu ip. Descomente as linhas:
ListenPort=10050 e ServerPort=10051.
Por fim, digite:
# /etc/init.d/zabbix-agentd start
e teremos um agente instalado e funcionando no cliente.
A parte especfica do Ubuntu e essa. Va ate a secao 5, Ambiente Web e
siga o tutorial ate o final.
6.11
Ap
endice B: Demais Funcionalidades do Zabbix
6.12
Monitoramento
6.12.1
Dashboard
27
itens. N
umero de eventos (20 por default, mas pode ser alterado se clicarmos
em Menu). Por fim, vemos informacoes sobre Web e Autobusca.
6.12.2
Vis
ao Geral
Podemos ver dados dos itens de cada host. Em Localizacao dos Hosts,
podemos alterar o eixo da disposicao das informacoes. Podemos escolher o
grupo de hosts e o tipo de dados a ser mostrado.
6.12.3
Web
6.12.4
Dados Recentes
28
6.12.5
Triggers
29
6.12.6
Eventos
6.12.7
Gr
aficos
30
6.12.8
Telas
6.12.9
Mapas
6.12.10
Autobusca
6.12.11
Servicos de TI
31
6.13
Relat
orios
6.13.1
Status do Zabbix
6.13.2
Relat
orio de Disponibilidade
Relatorio de Disponibilidade e uma disposicao grafica que mostra as porcentagens dos problemas dos hosts atraves de seus triggers. Clicando em
filtrar, podemos mostrar essas informacoes por host, definir o perodo de
busca das informacoes, etc.
32
6.13.3
6.13.4
Relat
orios de Barra
33
6.14
Configura
c
ao
6.14.1
Grupos de Host
6.14.2
Templates
Templates sao usados quando temos que criar varios hosts que sao iguais
nos quesitos, itens, triggers e graficos. Clique em Criar Templates, de um
nome a ele, escolha quais grupos de hosts estarao no template (atraves das
setinhas <<). Clique em Salvar.
Agora vamos criar uma aplicacao. Correspondente ao template criado,
clique em Aplicacoese clique em Criar aplicacao, de um nome a ela e
salve.
34
35
6.14.3
Manutenc
ao
36
6.14.4
Web
37
6.14.5
Telas
Devemos escolher qual recurso que devemos utilizar (por exemplo, grafico),
Nome do graficoescolha do grafico existente que vai aparecer, preencha os
outros campos abaixo e clique em Salvar. Fazemos isso com outras celulas
ate que todas sejam preenchidas.
Va em Monitoramento -> Telas, escolha a tela recem criada e utilize
a ferramenta de zoom para que possamos ver varias informacoes em um
intervalo de tempo fixo.
38
6.14.6
Slides
6.14.7
Mapas
39
6.14.8
Autobusca
40
6.14.9
Servicos de TI
41
correspondentes a eles.
6.15
Administra
c
ao
6.15.1
Geral
42
43
por n
umeros de um dado evento. Clique em Criar mapeamento de valor,
de um nome ao mapeamento e preencha o campo Novo mapeamento. Por
exemplo:
0 => Nao Disponvel
1 => Disponvel
e clique em Salvar.
Hor
ario Comercial:
Permite a configuracao da disposicao das informacoes de como vemos as
datas e horarios.
Outros:
Aparecera uma tela como a que temos abaixo:
Laboratorio de Software Livre
44
Podemos fazer tres coisas: atualizar o tempo dos tens nao suportados,
definir o grupo dos hosts descobertos e definir o grupo de usuarios que recebera a mensagem de BD indisponvel.
6.15.2
MD
6.15.3
Autenticac
ao
HTTP:
Permite usar o Apache baseado em autenticacao HTTP.
LDAP:
Usado para usar autenticacao LDAP. A autenticacao sera usada para
chegar nomes e senhas caso um usuario Zabbix exista.
Laboratorio de Software Livre
45
LDAP Host: de um nome para o servidor LDAP. Porta: 389 por default
mas pode ser 636 para coneccoes mais seguras. Bind DN*: uid=Admin,ou=system.
Bind Password*: senha do servidor LDAP. Usuario Senha: senha de teste do
administrador ou do usuario LDAP caso ele exista.
6.15.4
Usu
arios
6.15.5
Tipos de Mdias
Mdias e a maneira como o Zabbix dara mensagens caso alguma acao pre
- definida aconteca. Atraves de email ja foi explicado na secao Enviando
emails. Existe tambem em Jabber (servico de mensagem instantanea) e
atraves de SMS para celular. Explicaremos como mandar uma mensagem
Laboratorio de Software Livre
46
6.15.6
Scripts
Podemos criar scripts que podem ser executados pelo Zabbix Server.
Clique em Criar Scripts:
47
6.15.7
Auditoria
Auditoria serve para ver tudo o que foi feito pelo usuario:
6.15.8
Fila
48
6.15.9
Notificac
oes
Da a informacao do n
umero de notificacoes de mdias usado por grupos.
6.15.10
Idiomas
Perceba que tem uma coluna com palavras em portugues (`a esquerda)
que podem ser modificadas de acordo com as palavras a` direita.
49
6.15.11
Instalac
ao
6.16
Ap
endice C - SLA
50
51
6.17
Ap
endice D - Enviar Mensagem via SMS
Existem varias maneiras de fazer o Zabbix mandar sms para celulares com
as mensagens dos alertas. Temos estrategias que sao pagas, por exemplo,
fazendo o celular como modem, sendo que ele encaminhara as mensagens `a
outros celulares. Existem tambem estrategias que sao gratuitas, utilizando
um servico gratis como apoio.
A primeira estrategia tem o problema obvio de ser paga, aliado ao fato do
Linux nao reconhecer automaticamente celulares como USB que, dependendo
do modelo dele, teremos muita dificuldade de instalar ele. Aliamos esses
fatos com a pouca disponibilidade de poucos tutoriais na internet bons sobre
o assunto.
A segunda estrategia tambem nao e tao simples assim de ser feita, porem,
existe um bom tutorial de como fazer o Zabbix mandar sms para celulares automaticamente, http://migre.me/8BF9 , do autor Gesiel Bernardes. Logo
usaremos o Google Calendar e o Google Agenda como suportes para o envio
de sms. A estrategia pode variar um pouco dependendo da versao do Linux,
esse tutorial foi feito para a versao Gentoo.
52
A primeira coisa a se fazer e instalar o Google Calendar, fazemos o comando emerge -av googlecl na linha de comando. No Ubuntu, o tutorial do
Gesiel ensina como instalar.
Vamos precisar de duas contas do Google, crie uma para que seja uma
agenda Zabbix e outra para notificacoes. Va em www.google.com/calendar
na conta da agenda Zabbix e clique em Configuracoesna guia que tem uma
engrenagem. Agora clique em Agendase crie uma nova agenda. Na tela
seguinte, de um nome para a agenda (eu chamei de Zabbix) e em configuracao de autorizacao, altere para Fazer alteracoes e Gerenciar compartilhamentoe compartilhe com a outra conta, ou seja, a de notificacoes. Apos
isso, clique em Criar Agenda.
Entre na conta do usuario que sera notificado. Apos compartilhar a
agenda na outra conta, perceba que o nome dela esta no canto inferior esquerdo da tela, clique na setinha do lado direito do nome dela e clique em
Notificacoes. Aparecera uma tela com duas colunas (Email e SMS) e quatro linhas que podemos habilitar e desabilitar. Marcamos as tres primeiras
opcoes da coluna Email e somente a primeira opcao da coluna SMS (Novos
eventos:) e clique na opcao abaixo Configurar o seu celular para receber
notificacoes.
A proxima tela, Configuracao de Celular, temos alguns campos para
preencher. Na guia Pas, deixe Brasil. Em Telefone, digite o n
umero
do celular que vai receber a notificacao como: +55[codigo da cidade][n
umero
do telefone]. No nosso ficou +5531[n
umero do telefone] porque o ICEx UFMG fica em Belo Horizonte. Agora clique em Enviar Codigo de Confirmacaoque chegara no celular um codigo, que devera ser colocado no campo
Codigo de confirmacaoe clique em Concluir configuracao. Se tudo aconteceu sem erros, clique em Salvar.
Agora vamos configurar o Googlecl. No terminal, como usuario de root,
coloque o comando google calendar add teste zabbix que vai aparecer um
link que, se clicarmos nele, o navegador vai abrir com uma janela pedindo
usuario e conta do Google. Preenchendo os campos necessarios, sera a u
ltima
vez que que o Google vai pedir tais informacoes.
Va na pasta /etc/zabbix/scripts/, crie um arquivo sms.sh e coloque o
seguinte conte
udo nele:
#!/bin/bash /usr/bin/sudo /usr/bin/google calendar add $2--cal Zabbix-u emailNaContaZabbix@gmail.com.
Laboratorio de Software Livre
53
54
6.18
Ap
endice E - Monitorar P
aginas de Internet
55
Selecionare Failed step of scenario [nome do Cenario]. Em Funcao, escolha Last value NOT Ne clique em Inserir. Defina o Riscoda Trigger
e clique em Salvar.
Por fim, va em Configuracao -> Servicos de TI, clique em raiz e ADD
Service, em nome, deixe como Hostinge clique em Salvar. Agora clique
em Hostinge em ADD Service. Na janela que apareceu, de um nome (do
site a ser monitorado, por exemplo), clique em Calcular SLA, em Associar
a trigger?e escolha a Trigger Web Test Fail. Clique em Salvar.
Agora tudo esta pronto. Para conferir, va em Monitoramento -> Webe
clique no link correspondente ao site monitorado e aparecera um grafico como
o que vemos abaixo:
56
6.19
Ap
endice F - Miscel
anea
57
58
como /scratch, por exemplo. Como trigger, por exemplo, acionar a trigger
quando o disco tiver 10% de espaco livre (ou seja, o disco esta com 90% do
espaco ocupado), colocamos como chave: [nome do host]:vfs.fs.size[/,free].last(0)=10.
Total de mem
oria ram livre: Em tens, a chave e vm.memory.size[free].
Trafego de rede: entrada: Em tens, a chave e net.if.in[eth0, bytes].
Trafego de rede: sada: Em tens, a chave e net.if.out[eth0, bytes].
Trafego de rede: total: Em tens, a chave e net.if.total[eth0, bytes].
59
Cr
editos
Autores:
Alex Roberto Correa (alexrc@dcc.ufmg.br)
E-Mail: lsl-libertasbr-dev@listas.dcc.ufmg.br
http://creativecommons.org/licenses/GPL/2.0/
http://creativecommons.org/licenses/GPL/2.0/legalcode.pt
60