Вы находитесь на странице: 1из 30

4468

Monitoramento de Redes com o


Zabbix 2.0

www.4linux.com.br

Projetos na sua empresa


com a qualidade dos treinamentos

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
16 Tips & Tricks Zabbix

16.1 Gerenciar autenticao via banco de dados . . . . . . . . . . . . . . . .

16.2 Criar items com User Parameters e External Scripts . . . . . . . . . . .

16.2.1 User Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.2.2 Criando novos items . . . . . . . . . . . . . . . . . . . . . . . . .

16.2.3 External Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . .

16.3 Configurar SMTP Autenticado . . . . . . . . . . . . . . . . . . . . . . . . 12


16.3.1 Configurar o Zabbix para uso de SMTP Autenticado . . . . . . . 14
16.4 Configurar envio de SMS . . . . . . . . . . . . . . . . . . . . . . . . . . 16
16.4.1 Configurar googlecl e agenda do Google . . . . . . . . . . . . . 17
16.4.2 Preparar Script para agendar eventos . . . . . . . . . . . . . . . 21
16.4.3 Configurar novo Media Types no Zabbix . . . . . . . . . . . . . . 22

Captulo 16
Tips & Tricks Zabbix
16.1 Gerenciar autenticao via banco de dados
A autenticao no Zabbix por padro feita de forma interna, e pode ser configurada
para LDAP e HTTP. A primeira dica nesta aula alterar o mtodo de autenticao
sem uso do Front-end.
Conhea os valores para os mtodos de autenticao:
0: Autenticao Interna;
1: Autenticao LDAP.
Em um cenrio onde o servidor LDAP no consegue mais autenticar, o Sysadmin
tem a alternativa de mudana na autenticao via banco de dados.
Para fazer a troca faa login com o usurio postgres na mquina Datacenter e
acesse o banco zabbixdb conforme o exemplo abaixo:

root@datacenter :~ # su - postgres

postgres@datacenter :~ $ psql zabbixdb

Psql (9.1.9)

Type " help " for help .

zabbixdb = > UPDATE config SET authentication_type =0;

UPDATE 1

4Linux - www.4linux.com.br

O comando PSQL UPDATE atualiza valores de registros em tabelas.

Para testar a mudana, faa logout da conta do usurio aluno e login com o usurio
Admin.
Em seguida clique na aba Administration -> Authentication para acompanhar a
mudana.

Figura 16.1: Mudando autenticao para Interna

A prxima dica alterar a senha de um usurio quando a autenticao esta setada


para Interna.
Retorne a mquina Datacenter e execute novamente o comando UPDATE para alterar a senha do usurio Admin

zabbixdb = > UPDATE users SET passwd = md5 ( zabbix4linux ) WHERE alias =
Admin ;

UPDATE 1

Para terminar altere a autenticao para LDAP, faa logout e login com usurio aluno
para testar a mudana.

zabbixdb = > UPDATE config SET authentication_type =1;

UPDATE 1

zabbixdb = > \ q

postgres@datacenter :~ $ exit

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.2: Mudando autenticao para LDAP

16.2 Criar items com User Parameters e External


Scripts
Eventualmente voc pode querer fazer algum tipo de checagem que o Agente do
Zabbix no consegue, por exemplo, voc pode querer rodar um comando no host e
capturar a sada para usar no Zabbix de alguma forma.
Para usarmos a sada de um comando ou mesmo mesmo a sada de um script precisamos usar "User Parameters", atravs dele iremos definir um chave personalizada
e dizer qual o comando que alimentar essa chave.

16.2.1 User Parameters


A sintaxe do "User Parameters" UserParameter=<key>,<command>, onde a key
da nova chave que sera criada e alimentada por um script.
Como exemplo prtico vamos checar processos que utilizam protocolos UDP6 e
TCP6:
Etapa 1: Testar comandos para checar os processos

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br
1

root@zabbixserver :~ # netstat - putan | grep udp6 | wc -l

2
3

root@zabbixserver :~ # netstat - putan | grep tcp6 | wc -l

Etapa 2: Criar scripts para checar os processos

root@zabbixserver :~ # vim / opt / zabbix / share / zabbix / externalscripts /


udp6 . sh

2
3

# !/ bin / bash

netstat - putan | grep udp6 | wc -l

root@zabbixserver :~ # vim / opt / zabbix / share / zabbix / externalscripts /


tcp6 . sh

2
3

# !/ bin / bash

netstat - putan | grep tcp6 | wc -l

Etapa 3: Alterar permisses dos scripts

root@zabbixserver :~ # chmod 755 / opt / zabbix / share / zabbix /


externalscripts /*. sh

root@zabbixserver :~ # chown zabbix . zabbix / opt / zabbix / share / zabbix /


externalscripts /*. sh

Etapa 4: Criar a configurao do User Parameter

root@zabbixserver :~ # vim / opt / zabbix / etc / userparams . d / udp6 . conf

UserParameter = udp6 ,/ opt / zabbix / share / zabbix / externalscripts / udp6 . sh

3
4

root@zabbixserver :~ # vim / opt / zabbix / etc / userparams . d / tcp6 . conf

UserParameter = tcp6 ,/ opt / zabbix / share / zabbix / externalscripts / tcp6 . sh

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

As chaves udp6 e tcp6 podem ser utilizadas na criao de Items do Zabbix.

Etapa 5: Definir a localizao do scripts personalizados

root@zabbixserver :~ # vim / opt / zabbix / etc / server . d / external . conf

2
3

....

4
5

ExternalScripts =/ opt / zabbix / share / zabbix / externalscripts

Etapa 6: Reiniciar os servios do Zabbix e testar as novas Keys

root@zabbixserver :~ # service zabbix - server restart

root@zabbixserver :~ # service zabbix - agentd restart

3
4

root@zabbixserver :~ # zabbix_get -s 192.168.200.2 -k udp6

root@zabbixserver :~ # zabbix_get -s 192.168.200.2 -k tcp6

16.2.2 Criando novos items


A partir das novas Keys personalizadas, crie um novo template para coletar informaes da mquina Zabbix Server

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.3: Criao do template UserParameter

Em seguida crie os novos Items utilizando as Keys udp6 e tcp6

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.4: Criao do Item para protocolo UDP

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.5: Criao do Item para protocolo TCP

Figura 16.6: Items criados com User Parameter

Para terminar acesse a aba Monitoring -> Latest data para visualizar os dados
coletados.

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.7: Processos coletados atravs de User Parameter

As novas keys podem coletar informaes apenas da mquina Zabbix Server.


Para criar items para todos os hosts utilize a configurao External check

16.2.3 External Scripts


A verificao externa uma verificao executada pelo servidor Zabbix executando
um shell script ou um binrio. Verificaes externas no necessitam de qualquer
Agente em execuo em uma mquina que est sendo monitorada.
Como exemplo prtico vamos coletar Sockets TCP em espera:

root@zabbixserver :~ # cat / proc / net / sockstat

sockets : used 185

TCP : inuse 38 orphan 0 tw 51 alloc 47 mem 2

UDP : inuse 6 mem 1

UDPLITE : inuse 0

RAW : inuse 1

FRAG : inuse 0 memory 0

Como queremos apenas o que esto em espera (Time Wait) vamos filtrar a sada
com os comandos grep e cut:

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br
1

root@zabbixserver :~ # cat / proc / net / sockstat | grep TCP | cut -d -f


7

A partir do comando e filtros crie um novo script e altere suas permisses:

root@zabbixserver :~ # vim / opt / zabbix / share / zabbix / externalscripts /


socket_stat . sh

2
3

# !/ bin / bash

cat / proc / net / sockstat | grep TCP | cut -d -f 7

5
6

root@zabbixserver :~ # chmod 755 / opt / zabbix / share / zabbix /


externalscripts /*. sh

root@zabbixserver :~ # chown zabbix . zabbix / opt / zabbix / share / zabbix /


externalscripts /*. sh

Para testar o resultado adicione um novo item no template UserParameter

Monitoramento de Redes com o Zabbix 2.0

10

4Linux - www.4linux.com.br

Figura 16.8: Criao do item com External check

E acompanhe a coleta na aba Monitoring -> Latest data

Figura 16.9: Dados coletados atravs de External check

11

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

16.3 Configurar SMTP Autenticado


O envio de alertas no Zabbix pode ser feito atravs de E-mail, IM (instant messenger)
e SMS.
Como dica da aula vamos configurar o Zabbix, para enviar e-mails atravs de um
servidor SMTP que utiliza a porta 587.
Para comear instale na mquina Zabbix Server os pacotes necessrios para configurar a autenticao:

root@zabbixserver :~ # aptitude install mailutils libsasl2 -2 ca certificates libsasl2 - modules

Em seguida altere a configurao do servidor Postfix adicionando as novas diretivas:

root@zabbixserver :~ # vim / etc / postfix / main . cf

2
3

....

4
5

relayhost = [ smtp . gmail . com ]:587

smtp_sasl_auth_enable = yes

smtp_sasl_password_maps = hash :/ etc / postfix / sasl_passwd

smtp_sasl_security_options = noanonymous

smtp_tls_CAfile = / etc / postfix / cacert . pem

10

smtp_use_tls = yes

Em nosso exemplo vamos utilizar o Gmail que atende as configuraes de


segurana.

Outros comandos que precisam ser executados, a criao do certificado e a liberao da porta 587 no Postfix:

Monitoramento de Redes com o Zabbix 2.0

12

4Linux - www.4linux.com.br

root@zabbixserver :~ # cat / etc / ssl / certs / Thawte_Premium_Server_CA . pem


| tee -a / etc / postfix / cacert . pem

root@zabbixserver :~ # vim / etc / postfix / master . cf

2
3

....

4
5

smtpd

pass

smtpd

submission inet n

smtpd

6
7

....

8
9

Configurao das credenciais


Para enviar e-mails autenticados precisamos criar um arquivo adicionando informaes do servidor e usurio.

root@zabbixserver :~ # vim / etc / postfix / sasl_passwd

[ smtp . gmail . com ]:587

Seu_Nome_de_Email@gmail . com : Sua_Senha

Caso voc no tenha acesso a um servidor SMTP na porta 587, adicione uma
nova conta de e-mail no Gmail para acompanhar a aula.

Para terminar atualize o banco de dados padro do Postfix e reinicie seu servio.

root@zabbixserver :~ # postmap / etc / postfix / sasl_passwd

2
3

root@zabbixserver :~ # service postfix restart

13

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br
Envie um e-mail por linha de comando e verifique se a mensagem foi enviada a sua
conta do Gmail.

root@zabbixserver :~ # echo "E - mail de Teste Alertas do Zabbix " | mail


-s " SMTP Autenticado " zabbixcurso@gmail . com

16.3.1 Configurar o Zabbix para uso de SMTP Autenticado


A partir de um SMTP autenticado configurado vamos alterar a configurao de envio
de e-mail no Zabbix.
Clique na aba Administration -> Media types -> E-mail e altere as seguintes informaes:

SMTP helo: Endereo smtp do servidor de e-mail. Exemplo: smtp.gmail.com


SMTP email: Endereo de e-mail no Gmail.

Figura 16.10: Configurando Media types

Para terminar altere o e-mail do usurio aluno digitando o e-mail do Gmail

Monitoramento de Redes com o Zabbix 2.0

14

4Linux - www.4linux.com.br

Figura 16.11: Configurando E-mail do usurio

Testando a configurao:
Na mquina Datacenter simule a queda do servidor Apache, e aguarde alguns minutos para verificar os e-mails enviados ao Gmail.

root@datacenter :~ # service apache stop

Figura 16.12: E-mails enviados atravs do SMTP Autenticado

15

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.13: E-mails enviados atravs do SMTP Autenticado

Em nossa configurao um comando remoto executado, quando o gatilho


que verifica processos do Apache acionado.

16.4 Configurar envio de SMS


Por padro o Zabbix j possui um servio de envio via SMS atravs da porta serial
do modem do celular.
Dispositivos como modem GSM no Linux normalmente aparece conectado em /dev/ttyS0.
Os dispositivos testados pela equipe do Zabbix so:
Siemens MC35
Teltonika ModemCOM/G10
Para configurar o SMS como canal de entrega de mensagens, voc tambm precisa
configurar o SMS como o tipo de mdia e entre os respectivos nmeros de telefone
para os usurios.
Uma alternativa sem custos utilizar o Google Calendar, onde o usurio ao criar um
novo evento em sua agenda, um lembrete criado e enviado por SMS a um celular
cadastrado.

Monitoramento de Redes com o Zabbix 2.0

16

4Linux - www.4linux.com.br

16.4.1 Configurar googlecl e agenda do Google


O primeiro passo em nossa implementao instalar e configurar o googlecl, a fim
de adicionar novos eventos na Agenda do Google via linha de comando.
Na mquina Zabbix Server comece instalando o pacote que fornece uma coleo
de APIs GDATA (protocolo simples para leitura e escrita dados na web).

root@zabbixserver :~ # apt - get install python - gdata

Em seguida baixe o pacote e instale a verso mais atual do googlecl

root@zabbixserver :~ # wget -c https :// googlecl . googlecode . com / files /


googlecl_0 .9.14 -2 _all . deb

root@zabbixserver :~ # dpkg -i googlecl_0 .9.14 -2 _all . deb

Configurao das credenciais


A segunda fase da nossa implementao dar permisso ao usurio Zabbix para
criar eventos na Agenda do Google.
Para tal, precisamos logar com o usurio zabbix e criar a estrutura de configurao
para os aplicativos do Google.

root@zabbixserver :~ # su - zabbix

zabbix@zabbixserver :~ $ mkdir -p . config / googlecl

zabbix@zabbixserver :~ $ vim . config / googlecl / config

4
5

[ GENERAL ]

auth_browser = none

Em seguida vamos executar um comando para criar um novo evento na Agenda


padro do seu usurio do Gmail

17

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

zabbix@zabbixserver :~ $ google calendar add " Zabbix Curso " -u


seuemail@gmail . com

2
3

Please log in and / or grant access via your browser at https :// www .
google . com / accounts / OAuthAuthorizeToken ? oauth_token =4%2
FxNOBD1ZxsBzsE7lhSfA5WM2X6AFo & hd = default then hit enter .

4
5

zabbix@zabbixserver :~ $ exit

A mensagem apresentada no comando anterior, pede para acessar o link apresentado e clicar no boto Conceder acesso

Figura 16.14: Conceder acesso ao usurio do Gmail

Aps acessar o link para liberar o acesso, retorne ao Zabbix Server e tecle
Enter.

Verifique em sua Agenda no Google o evento criado:

Monitoramento de Redes com o Zabbix 2.0

18

4Linux - www.4linux.com.br

Figura 16.15: Evento criado a partir de linha de comando

Configurao do Celular na Agenda


Para configurar o celular que ira receber as mensagens de texto, clique em Configuraes -> Configurao do celular e siga as instrues para envio de cdigo.

19

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br

Figura 16.16: Configurao do celular do usurio

Em seguida configure somente o lembrete via SMS para 1 minuto:

Figura 16.17: Configurao de lembretes da Agenda

Monitoramento de Redes com o Zabbix 2.0

20

4Linux - www.4linux.com.br

16.4.2 Preparar Script para agendar eventos


Com a agenda criada no Google falta apenas o script, que ira criar eventos quando
algum gatilho do Zabbix for acionado.
Para comear configure a localizao padro de scripts de alertas no Zabbix.

root@zabbixserver :~ # vim / opt / zabbix / etc / server . d / alerts . conf

2
3

....

4
5

AlertScriptsPath =/ opt / zabbix / share / zabbix / alertscripts

6
7
8

root@zabbixserver :~ # service zabbix - server restart

Em seguida crie o script com o nome sms_google.sh e adicione a permisso de


execuo 755.

root@zabbixserver :~ # vim / opt / zabbix / share / zabbix / alertscripts /


sms_google . sh

# !/ bin / bash

/ usr / bin / google calendar add " $2 date -d " now + 2 minutes " +% H :% M "
-u zabbixcurso@gmail . com -- reminder 1 m

4
5

root@zabbixserver :~ # chmod 755 / opt / zabbix / share / zabbix / alertscripts


/ sms_google . sh

Descrio do script
google calendar add: Comando usado para adicionar um novo evento na
Agenda padro do Google;
$2: Mensagem de texto contendo a Trigger;
date -d "now + 2 minutes"+%H:%M: Configura a data adicionando mais 2
minutos;

21

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br
-u zabbixcurso@gmail.com: Usurio que esta criando o evento na Agenda;
reminder 1m: Adiciona um lembrete para 1 minuto antes do evento.

Se um gatilho for acionado as 14:00 o script cria o evento na Agenda as


14:02.

Aps 1 minuto, ou seja, as 14:01 o lembrete acionado enviando o evento


via SMS ao celular cadastrado.

16.4.3 Configurar novo Media Types no Zabbix


Para terminar vamos configurar um novo media type em Administration -> Media
types
Precisamos adicionar o script que cria os novos eventos na Agenda do Google:

Figura 16.18: Configurao de media type com script SMS

No esquea de adicionar o script na aba Media do usurio aluno

Figura 16.19: Configurao de media type com script SMS

Monitoramento de Redes com o Zabbix 2.0

22

4Linux - www.4linux.com.br
Testando o envio de SMS
Para testar o envio de SMS simule a queda do servio do Kerberos na mquina AD
Server.

Figura 16.20: Parando o servio Kerberos no Windows Server

Aps alguns minutos inicie o servio do Kerberos na mquina AD Server.

Acompanhe nos Logs da mquina Zabbix Server mensagens que iniciam com frase
Event created:

root@zabbixserver :~ # tail -f / var / log / zabbix / zabbix_server . log

23

Monitoramento de Redes com o Zabbix 2.0

4Linux - www.4linux.com.br
Para terminar visualize na Agenda do Google os avisos do Zabbix, e verifique as
mensagens enviados ao seu celular.

Figura 16.21: Eventos criados a partir de Triggers do Zabbix

Monitoramento de Redes com o Zabbix 2.0

24