Escolar Documentos
Profissional Documentos
Cultura Documentos
Zabbix
4468
www.4linux.com.br
ence
Business Intelig lx8
F
u/
.m
va
http://
BPM
http://va.mu/EuiT
Servidor Java EE
http://va.mu/FlyB
PostgreSQL
http://va.mu/EuhV
Monitoramento
http://va.mu/EukN
Virtualizao
http://va.mu/Flxl
Groupware Yj
u/FN
http://va.m
Backup
http://va.mu/Flxr
Auditoria e Anlise
http://va.mu/Flxu
Segurana
http://va.mu/Flxy
Ensino Distncia
http://va.mu/Flxc
Integrao Continua
http://va.mu/FlyD
GED - ECM
http://va.mu/Flx3
Alta Disponibilidade
http://va.mu/FNbL
Infraestrutura Web
http://va.mu/Flxi
Implantao garantida
http://va.mu/GcFv
Contedo
8 Monitoramento de S.Os e Logs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.4.4 Processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.5 Monitoramento de Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.5.1 Monitoramento em ambiente Linux . . . . . . . . . . . . . . . . . 32
8.5.2 Monitoramento em ambiente Windows . . . . . . . . . . . . . . . 36
Captulo 8
Monitoramento de S.Os e Logs
8.1 Checar os servios pelo agente
Checar se um determinado servio est em funcionamento atravs de sua porta
funcional, mas algumas vezes precisamos de mais informaes do que exatamente
ocorreu no host.
Imagine que por exemplo ao invs de queda do daemon, um sistema proteo
como o OSSEC barrou acidentalmente a porta de destino de hosts legtimos como
o prprio servidor de monitoramento. Isso no foi uma queda de servio e outros
hosts podem ainda no conseguir se conectar. Para detectar este tipo de coisa
precisamos de mais dados sobre o sistema onde o servio est sendo executado e
podemos faz-lo atravs do agente do Zabbix.
proc . num [ < name > , < user > , < state > , < cmdline >]
4Linux - www.4linux.com.br
Onde, name: o nome do processo. Se voc estiver checando processos numa
mquina Windows, certifique-se que o processo dele contm a extenso .exe (ou
similar) no final do nome.
user: qual o usurio que est executando um determinado processo ou conjunto de
processos. O padro verificar de todos os processos.
state: qual o estado do processo. Podendo ser all (padro), run, sleep ou zombie (este ltimo somente em ambientes *nix).
cmdline: filtra pela linha de comando. Isso til para aplicaes que sempre iniciam
o mesmo processo, como o java.
Em nossa prtica atual, o nico parmetro relevante o primeiro, pois vamos buscar
apenas um processo bem definido dentro da memria (o daemon do Apache2).
Para descobrir qual o processo usaremos o comando ps.
EXECUTE NA MQUINA WEB SERVER FILIAL SP:
root
1069
0.3
7.0
52612
9884 ?
Ss
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
apache
1071
0.0
apache
1072
0.0
apache
1073
0.0
apache
1074
0.0
apache
1075
0.0
apache
1076
0.0
apache
1077
0.0
apache
1078
0.0
4Linux - www.4linux.com.br
11
root
1080
0.0
0.5
4364
796 pts /0
S+
11:57
0:00
grep httpd -i
root
1069
0.0
7.0
52612
9884 ?
Ss
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
3.2
52612
4552 ?
11:57
0:00 /
apache
1071
0.0
apache
1072
0.0
apache
1073
0.0
apache
1074
0.0
apache
1075
0.0
apache
1076
0.0
apache
1077
0.0
apache
1078
0.0
4Linux - www.4linux.com.br
<-
4Linux - www.4linux.com.br
E um macro com o nome do processo do Apache conforme o exemplo abaixo:
4Linux - www.4linux.com.br
Com os dados sendo coletado j podemos criar um trigger, clicando no link Triggers -> Create new trigger.
4Linux - www.4linux.com.br
4Linux - www.4linux.com.br
Para terminar inicie o servio do Apache na mquina WEB Server Filial SP, e apos
alguns segundos verifique a caixa de entrada do usurio suporte-filialsp.
4Linux - www.4linux.com.br
4Linux - www.4linux.com.br
Aps a criao do item, verifique se a coleta est sendo realizada. Se tudo estiver
correto, hora de passar para a verificao das mudanas de status.
At o momento temos 3 maneiras de checar o servio: contando os processos ativos
na mquina, checando a porta remotamente pelo servidor do Zabbix e/ou checando
a porta localmente pelo agente do Zabbix.
Todas tem suas vantagens e desvantagens, mas em vez de us-las de forma discriminada, vamos juntar a fora de todas elas e fazer com que a lgica de todos os gatilhos trabalhem em conjunto. Essa capacidade de oferecer dependncia entre uma
checagem e outra que o Zabbix oferece de extremo poder, e mesmo sem expresses booleanas complexas dentro de cada trigger seremos capazes de determinar
qual o possvel acontecimento, dependendo de qual trigger foi ativado. Acompanhe
a explicao a seguir, comeando pela leitura do fluxograma na figura.
O primeiro trigger (cada um representado pelo losango) o que criamos anteriormente para verificar se h, ao menos, um processo httpd sendo executado. No
caso de no haver nenhum, ele deve alertar o administrador responsvel pelo servio. Note que se realmente no h nenhum tipo de processo do servio sendo
executado, ento no h sentido em verificar portas, correto?
10
4Linux - www.4linux.com.br
O segundo, a anlise da porta localmente a partir do agente, se no h processos
escutando na porta a partir da prpria mquina local ento o processo master da
aplicao provavelmente caiu. Note que se voc parar o apache2 pelo servio de
boot as conexes que esto em andamento no so interrompidas! Logo possvel
ter uma situao onde h processos httpd na memria que esto apenas atendendo
a conexes que foram estabelecidas anteriormente queda do processo principal e
s vo morrer se ests conexes forem encerradas.
Esse tipo de comportamento muito comum em servios que so baseados em
forks, como o Apache, o prprio Zabbix, muitos daemons escritos em Perl, etc.
Programas que trabalham puramente com threads, como as aplicaes feitas em
java, incluindo aqui o Tomcat e o JBoss tem um processo monoltico e no seguem
est regra.
Finalmente, o terceiro trigger checa se servidor consegue abrir uma conexo com a
porta remotamente. No caso de um bloqueio por filtro de pacotes no host de destino
ou no meio do caminho, ou falhas de rotas, este gatilho ativado. Este caso cobre
a ocorrncia do daemon estar em perfeito funcionamento mas os pacotes de rede
no estarem alcanando o destino (ou no esto voltando apropriadamente).
Como o terceiro s checado se o segundo estiver com status OK, e este ltimo se
o primeiro estiver com status OK, o Zabbix no gasta processamento com os trs
gatilhos, a menos que tudo esteja na mais perfeita ordem. Se um dos primrios
falharem ento os outros no sero executados.
Vamos continuar com nossa prtica e criar a Trigger para checar se a porta 80 esta
acessvel na mquina Web Server Filial SP.
11
4Linux - www.4linux.com.br
Outro ponto importante que sua janela de tempo de 70 segundos (10 a mais que
o anterior), est folga evita que ambos sejam ativados simultaneamente.
12
4Linux - www.4linux.com.br
Para testar o gatilho, altere a porta do Apache no servidor WEB Server Filial SP e
reinicie o servio do Apache.
13
4Linux - www.4linux.com.br
14
4Linux - www.4linux.com.br
para que tenhamos parmetros de tipos de dados (inteiros, float); nome correto das
keys, OIDs, etc e acesso.
O agente do Zabbix possui uma key chamada system.uptime que retorna o tempo
desde o ltimo boot.
EXECUTE NA MQUINA FIREWALL FILIAL SP:
15
4Linux - www.4linux.com.br
16
4Linux - www.4linux.com.br
Graas ao campo Unit todas esto exibindo o tempo em um formato legvel por
humanos e o campo Use custom multiplier ajustou os valores para segundos,
que uma unidade com a qual o Zabbix sabe trabalhar.
Vamos criar os item agora, a key vfs.fs.size[mount_point, mode], diferente das anteriores exige parmetros para funcionar. O primeiro obrigatrio e indica qual das
parties devem ser analisada. O segundo opcional e diz qual parmetro deve
ser coletado. Os valores possveis so: total (bytes totais da partio. o tipo padro), used (bytes utilizados), free (bytes livres), pused (porcentagem utilizada)
e pfree (porcentagem livre).
Vamos usar apenas os trs primeiros, comeando pelo espao livre em um novo
template para a empresa Dexter. Antes de iniciar remova do host Gateway Matriz
todos as regras de discovery, em Configuration -> Hosts -> Link Discovery. Feito
isso, crie o novo template Dexter - Disk Space e adicione nele o host Gateway
17
4Linux - www.4linux.com.br
Matriz.
18
4Linux - www.4linux.com.br
1) Name: Uma vez que estamos usando parmetros na key, podemos captur-los e
inseri-los no description usando a notificao $n, onde n o nmero do parmetro comeando por 1. Em nosso exemplo usaremos $1 para pegar o ponto de
montagem da partio. Isso alivia bastante a digitao, pois os outros items que
iremos clonar no precisam ter descriptions muito diferentes.
2) Key: a chave de espao conforme explicado anteriormente. Para o espao livre
sua sintaxe final vfs.fs.size[/,free].
3) Units: b representa valores em bytes. O Zabbix inteligente o suficiente
para fazer as converses para kilo, mega, giga, tera, etc. Usando mltiplos
de 1024.
Salve o item e ao invs de criar o prximo item no brao, vamos usar um recurso
de clonagem de valores do Zabbix. Vrias telas permitem que usemos o recurso de
19
4Linux - www.4linux.com.br
clonagem. Neste caso vamos clonar o total para usado e livre, conforme o esquema
na figura abaixo.
Edite o item de Espao Livre e clique no boto Clone.
Voc ver que os dados se repetiro. Altere apenas a key (que deve ser nica)
e o Name. Repita para o outro item e voc ter outras duas mtricas prontas e
coletando em tempo recorde!
20
4Linux - www.4linux.com.br
Apos os ajustes confira na aba o Monitored -> Overview os dados coletados (atentando para que eles estejam em notao abreviada, Mb, Gb, etc).
Para o Administrador ser avisado caso a partio raiz ocupar mais de 80% do total
utilizado, crie um item para coletar espao usado em porcentagem:
21
4Linux - www.4linux.com.br
22
4Linux - www.4linux.com.br
Em seguida crie a Trigger para o Zabbix avisar o Administrador, caso a partio raiz
ultrapasse 80% de utilizao.
23
4Linux - www.4linux.com.br
Para testar acesse o terminal do servidor Gateway Matriz e crie um arquivo para
ocupar mais de 80% de espao da raiz.
Apos alguns segundos o Zabbix ira alertar atravs de aviso sonoro e e-mail. Remova
o arquivo apos o teste e verifique o Webmail na Matriz da Dexter.
24
4Linux - www.4linux.com.br
8.4.3 Memria
Para monitorarmos a quantidade de memria que um host possui temos que usar a
key vm.memory.size[mode], onde "mode"pode ser substitudo por total, free, cached,
used, pused entre outros.
Como exemplo da aula iremos configurar o total, acesse o template Disponibilidade
de ativos na rede Dexter para criar o seguinte item.
25
4Linux - www.4linux.com.br
Perceba que no campo Units temos a presena da letra "B", que indica o formato
padro para o Zabbix, dessa maneira assim que coletar o dado o Zabbix tornar
esse resultado em um formato legvel.
26
4Linux - www.4linux.com.br
Acesse Monitored -> Overview para visualizar os resultados.
Para o Administrador ser avisado caso a memria utilizada ocupar mais de 80%, crie
um item para coletar o total de memria utilizada em porcentagem:
27
4Linux - www.4linux.com.br
28
4Linux - www.4linux.com.br
Apos alguns segundos o Zabbix ira alertar atravs de aviso sonoro e e-mail. Use as
teclas CTRL + C para cancelar o comando ls e limpe o cache de memria atravs do
comando:
29
4Linux - www.4linux.com.br
8.4.4 Processamento
A Carga de processamento pode ser monitorada a partir da key "system.cpu.load".
Para configur-la acessem o template "Disponibilidade de ativos na rede Dexter"e
crie um novo item conforme a figura.
30
4Linux - www.4linux.com.br
Feito isso salve o item e v at Monitored -> Overview para visualizar os resultados coletados.
31
4Linux - www.4linux.com.br
ou expresses regulares, possvel fazer filtros nos arquivos de logs de um servidor
pelo agente Zabbix.
Se uma ocorrncia for encontrada nos logs, o servidor Zabbix notificado e o Administrador pode ser avisado criando um Trigger como uma ao preventiva.
Neste tipo de monitoramento precisamos ajustar as permisses do Agent Zabbix:
Alternativa 1:
Adicionar permisso de leitura para o usurio zabbix para cada arquivo de log que
sera monitorado. Exemplo:
No comando mostrado o arquivo de log syslog, vai permitir que usurios que no
pertencem ao grupo adm, possam fazer a leitura do arquivo.
Alternativa 2:
Permitir que o daemon do Agent Zabbix, rode com permisso de usurio root. Exemplo:
2
3
....
4
5
AllowRoot =1
32
4Linux - www.4linux.com.br
EXECUTE NA MQUINA MAILSERVER FILIAL SP:
Etapa 2: Crie um novo template com o nome Dexter - Logs e Eventos e adicione
os servidores Mail Server da filial SP e AD Server da Filial RJ.
Etapa 3: Crie um novo item e application no template Dexter - Logs e Eventos com
os seguintes valores:
Name: Autenticao do Sistema como nome do item.
Type: Zabbix agent (active) como tipo de monitoramento.
Key: log[/var/log/auth.log,failure] como chave para filtrar a string failure no
arquivo /var/log/auth.log.
33
4Linux - www.4linux.com.br
Type of information: Log como tipo de informao monitorada.
Update interval (in sec): Tempo de atualizao dos dados coletados.
Log time format: pppppp:yyyyMMdd:hhmmss como formato de apresentao
do Log. As 6 letras p define a posio inicial dos caracteres monitorados,
seguindo do ano, ms, dia, hora, minuto e segundos.
New application: AUTH como application que ira organizar este item.
34
4Linux - www.4linux.com.br
35
4Linux - www.4linux.com.br
36
4Linux - www.4linux.com.br
37
4Linux - www.4linux.com.br
38