• Nenhum resultado encontrado

Manual de Instalação e de Utilizacao do Zabbix

N/A
N/A
Protected

Academic year: 2021

Share "Manual de Instalação e de Utilizacao do Zabbix"

Copied!
61
0
0

Texto

(1)
(2)

Sum´

ario

1 Introdu¸c˜ao 5

2 Objetivos 5

3 Pr´e-requisitos 5

4 Instala¸c˜ao em ambientes Linux 5

4.1 MySQL . . . 6

4.2 Apache . . . 6

4.3 PHP . . . 6

4.4 Zabbix . . . 6

4.4.1 Zabbix Server . . . 7

4.4.2 Criando um Banco de Dados . . . 8

4.4.3 Zabbix Agent (clientes) . . . 9

5 Ambiente WEB 10 5.1 Instala¸c˜ao . . . 10

6 Monitorando com Zabbix 15 6.1 Adicionando Usu´arios . . . 15

6.2 Criando Hosts . . . 16

6.3 Criando ´Itens . . . 17

6.4 Emitindo Triggers . . . 19

(3)

6.6 M´ıdias . . . 22

6.7 A¸c˜oes . . . 22

6.8 Gr´aficos . . . 23

6.9 Comando Remoto . . . 24

6.10 Apˆendice A: Instalando o Zabbix no Ubuntu . . . 25

6.11 Apˆendice B: Demais Funcionalidades do Zabbix . . . 27

6.12 Monitoramento . . . 27 6.12.1 Dashboard . . . 27 6.12.2 Vis˜ao Geral . . . 28 6.12.3 Web . . . 28 6.12.4 Dados Recentes . . . 28 6.12.5 Triggers . . . 29 6.12.6 Eventos . . . 30 6.12.7 Gr´aficos . . . 30 6.12.8 Telas . . . 31 6.12.9 Mapas . . . 31 6.12.10 Autobusca . . . 31 6.12.11 Servi¸cos de TI . . . 31 6.13 Relat´orios . . . 32 6.13.1 Status do Zabbix . . . 32

6.13.2 Relat´orio de Disponibilidade . . . 32

6.13.3 Triggers Mais Ativados - Top 100 . . . 33

(4)

6.14 Configura¸c˜ao . . . 34 6.14.1 Grupos de Host . . . 34 6.14.2 Templates . . . 34 6.14.3 Manuten¸c˜ao . . . 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 Servi¸cos de TI . . . 41 6.15 Administra¸c˜ao . . . 42 6.15.1 Geral . . . 42 6.15.2 MD . . . 45 6.15.3 Autentica¸c˜ao . . . 45 6.15.4 Usu´arios . . . 46 6.15.5 Tipos de M´ıdias . . . 46 6.15.6 Scripts . . . 47 6.15.7 Auditoria . . . 48 6.15.8 Fila . . . 48 6.15.9 Notifica¸c˜oes . . . 49 6.15.10 Idiomas . . . 49 6.15.11 Instala¸c˜ao . . . 50

(5)

6.17 Apˆendice D - Enviar Mensagem via SMS . . . 52 6.18 Apˆendice E - Monitorar P´aginas de Internet . . . 55 6.19 Apˆendice F - Miscelˆanea . . . 57

(6)

1

Introdu¸

ao

O Zabbix ´e uma ferramenta de monitoramento de recursos funcionais de hardware e software distribu´ıdos em rede. Sua simplicidade, interface atraente e efic´acia s˜ao adjetivos que justificam a utiliza¸c˜ao dessa poderosa ferramenta.

2

Objetivos

Esse documento tem a finalidade de descrever os v´arios passos para a utiliza¸c˜ao da ferramenta Zabbix. Portanto, descreveremos a instala¸c˜ao dele no Linux, seguido dos conceitos e aplica¸c˜ao ao montar uma rede de monitoramento.

3

Pr´

e-requisitos

Partindo do princ´ıpio que estamos utilizando a vers˜ao 1.8 ou superior do Zabbix, as seguintes dependˆencias s˜ao necess´arias para o correto funciona-mento da ferramenta:

• PHP 5.0 ou superior; • MySQL 3.22 ou superior; • Apache 1.3.12 ou superior. ´

E importante que essas dependˆencias estejam em vers˜oes est´aveis, para se garantir um perfeito funcionamento da ferramenta.

4

Instala¸

ao em ambientes Linux

Vamos instalar o MySQL, o PHP e o Apache. Nesse link http://migre.me/8X02L vemos alguns sub pacotes de cada programa que tem que estar marcados no

(7)

momento da instala¸c˜ao (utilizando emerge -av nome do programa). Se algum

desses sub pacotes n˜ao estiverem marcados, entre no arquivo /etc/portage/package.use e insira (ou altere) a linha correspondente ao programa em quest˜ao.

4.1

MySQL

Precisamos de um gerenciador de banco de dados para utilizar o Zabbix. Vamos utilizar o MySQL em ambiente Linux Gentoo. Como usu´ario de root, simplesmente coloque esse comando no terminal e aguarde a instala¸c˜ao:

# emerge mysql

4.2

Apache

Agora instalaremos o Apache. Utilizaremos o seguinte comando no ter-minal:

# emerge apache

4.3

PHP

Para o PHP, usamos o seguinte comando: # emerge php

Depois entramos na pasta /etc/conf.d/apache2, na vari´avel APACHE2 OPTS= e deixamos ela como APACHE2 OPTS=-D PHP -D PHP5 ”.

4.4

Zabbix

Por fim, instalaremos o Zabbix. No Gentoo, a instala¸c˜ao ´e muito f´acil. Mas temos que definir muito bem dois conceitos: servidor e cliente. Partindo do princ´ıpio que as m´aquinas est˜ao em rede, teremos obrigatoriamente uma m´aquina servidora, ou seja, ´e ela que vai funcionar o programa Zabbix que coletar´a as informa¸c˜oes das outras m´aquinas (ou at´e dela mesma) e far´a

(8)

todo o gerenciamento das informa¸c˜oes. Cliente s˜ao as m´aquinas que ter˜ao suas informa¸c˜oes coletadas e estabelecer´a a conex˜ao com a servidora.

4.4.1 Zabbix Server

Vamos instalar o Zabbix na m´aquina servidora. Sempre esteja como usu´ario root. V´a no arquivo package.use da pasta /etc/portage (utilize o VI ou VIM) e adicione a seguinte linha no mesmo:

net-analyzer/zabbix mysql server ssh frontend -sqlite3 -agent proxy snmp curl ipv6 jabber ldap openipmi -oracle -postgres

Perceba o seguinte: colocamos -agent, ou seja, na m´aquina servidora n˜ao vai instalar o agente (cliente). Como, nesse caso, vamos monitorar a m´aquina servidora tamb´em, tire o sinal de menos, deixando a palavra agent dessa maneira, ou seja, simplesmente deixe o comando acima como:

net-analyzer/zabbix mysql server ssh frontend -sqlite3 agent proxy snmp curl ipv6 jabber ldap openipmi -oracle -postgres

Salve o arquivo package.use e digite: # emerge -av zabbix

e digite yes e aguarde a instala¸c˜ao. Inicie o MySQL com:

# /etc/init.d/mysql start

Pronto. Agora v´a no arquivo /etc/services e coloque as quatro linhas seguintes:

zabbix agent 10050/tcp Zabbix Agent zabbix agent 10050/udp Zabbix Agent zabbix trapper 10051/tcp Zabbix Trapper zabbix trapper 10051/udp Zabbix Trapper Salve o arquivo e saia.

(9)

Entre no arquivo /etc/zabbix/zabbix server.conf e deixe as var´aveis como: DBHost=localhost

DBName=zabbix DBUser=root

DBPassword=password do MySQL Salve e feche o arquivo.

4.4.2 Criando um Banco de Dados

Vamos criar um banco de dados em MySQL. Podemos usar outros, como Oracle, PostgreSQL, mas nos limitaremos ao MySQL mesmo. Se quiser usar outro gerenciador, consulte a documenta¸c˜ao oficial do Zabbix http:// www.zabbix.com/documentation/1.8/manual/installation na se¸c˜ao ”4.3 Zabbix Server”. Digite os comandos no terminal:

# mysql -u<username> -p<password> mysql> create database zabbix;

mysql> quit

Infelizmente vamos ter que baixar a vers˜ao compactada do Zabbix pois ele tem alguns arquivos que v˜ao nos auxiliar a configurar o banco de dados. Para tanto, baixe o Zabbix no site:

http://www.zabbix.com/download.php Agora vamos extrair os arquivos necess´arios.

# tar -zxf zabbix-1.8.tar.gz

Ainda no terminal, entre na pasta criada. Agora fa¸ca os seguintes coman-dos:

(10)

# cat mysql.sql | mysql -u<username> -p<password> zabbix # cd ../data

# cat data.sql | mysql -u<username> -p<password> zabbix

# cat images mysql.sql | mysql -u<username> -p<password> zabbix Observa¸c˜ao importante: os comandos que come¸cam com ”cat”, quando acionados, devemos esperar at´e terminar, pois nesses casos a estrutura de dados do banco de dados est´a sendo sobrescrita e caso essa tarefa n˜ao seja completada, poderemos ter problemas futuros.

Agora ´e s´o usar o comando: # /etc/init.d/zabbix-server start que o servidor Zabbix estar´a rodando! 4.4.3 Zabbix Agent (clientes)

Agora instalaremos o agent. Se vocˆe seguiu o tutorial at´e agora, temos um agent na m´aquina servidora, por´em, vamos instalar um agent em uma m´aquina cliente.

Entre no terminal de uma m´aquina cliente (pode ser diretamente ou atrav´es de ssh de outra m´aquina), entre no terminal e coloque o usu´ario root.

Entre no arquivo /etc/portage/package.use e coloque a seguinte linha nele:

net-analyzer/zabbix mysql agent -sqlite3.

Perceba que ´e necess´ario que o MySQL esteja instalado na m´aquina cliente. Salve o arquivo, saia e digite:

# emerge -av zabbix e digite YES.

(11)

V´a no arquivo /etc/zabbix/zabbix agentd.conf. Na linha ”Server= ...”coloque, ou o nome da m´aquina servidora ou o seu ip. Na linha ”Hostname= ...”coloque, ou o nome da m´aquina cliente em quest˜ao 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.

5

Ambiente WEB

5.1

Instala¸

ao

Um recurso poderoso e ´util ´e a interface web do Zabbix. Para utiliz´a - la, ´

e necess´ario fazer alguns ajustes.

Entre no terminal e fique como usu´ario 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 vari´aveis. Deixe as respectivas linhas tais como est˜ao abaixo:

• memory limit = 256 • post max size = 32M • upload max filesize = 16M • max execution time = 600 • max input time = 600

(12)

Se mudou as vari´aveis conforme mostrado acima, salve o arquivo e saia. Em seguida, no terminal, digite:

# mkdir /var/www/zabbix

Na pasta do Zabbix que fizemos download da p´agina do programa, faze-mos:

# cd frontends/php

# cp * -R /var/www/zabbix/

Abra um navegador a sua preferˆencia e digite ”http://localhost/zabbix/”na barra de endere¸cos. Vai aparecer uma janela como na figura abaixo. Clique em ”next”.

Agora clicamos em ”I agree”e clique em next:

Se o arquivo ”php.ini”foi configurado corretamente, todos os campos dessa tela ficar˜ao com os estados ”ok”, permitindo avan¸carmos uma tela clicando em next. Se algum campo n˜ao estiver com o ”ok”, v´a at´e o arquivo ”php.ini”, mude a vari´avel correspondente como o Zabbix pede ”Recom-mended”e atualize a p´agina.

Nessa tela, o Zabbix vai testar se o MySQL est´a funcionando. Digite a senha do MySQL, coloque o nome da m´aquina servidora e clique em ”Test

(13)

Connection”e se a senha estiver correta, vai aparecer um ”ok”, possibilitando que avancemos clicando em ”next”.

Agora informaremos a porta da servidora. Em ”Name”, coloque o nome do host (computador cliente) e clicamos em ”next”:

(14)

Nas telas abaixo, clique em ”next”at´e concluir a instala¸c˜ao, exceto em uma parte que pede para salvar o arquivo ”zabbix.conf.php”na pasta:

(15)
(16)

6

Monitorando com Zabbix

Com tudo instalado, vamos partir para a parte do monitoramento. Por default, seu usu´ario ´e admin e sua senha ´e zabbix. O idioma do Zabbix est´a em inglˆes. Para alter´a - lo, v´a em ”Configura¸c˜oes”e coloque o idioma para ”Portuguˆes Brasileiro”.

6.1

Adicionando Usu´

arios

Podemos alterar o nome e senha do usu´ario default ou adicionar out-ros usu´arios. V´a em ”Administra¸c˜ao -> Usu´arios”e altere de ”Grupo de Usu´arios”para ”Usu´arios”. Veja que o usu´ario ”Admin”est´a a mostra, logo podemos configur´a - lo, como tamb´em podemos adicionar novos usu´arios. Independente da escolha, haver´a uma guia chamada ”M´ıdia”com um campo ”Adicionar”. N˜ao criamos uma m´ıdia ainda, mas quando criarmos, vamos escolher ela.

(17)

6.2

Criando Hosts

Vamos para a parte interessante, monitorar m´aquinas! Mas temos alguns conceitos importantes para ver primeiro:

• hosts: s˜ao as m´aquinas monitoradas pelo servidor.

• ´ıtens: s˜ao as informa¸c˜oes coletadas pelo servidor de cada host.

• trigger: s˜ao mensagens de alerta caso algum ´ıtem se comporte de maneira n˜ao esperada, conforme pr´e - estabelecido.

• a¸c˜oes: Ap´os emitir os alertas, podemos ter uma a¸c˜ao relativa ao ´ıtem e ao trigger, por exemplo, suponhamos que estejamos monitorando uma m´aquina X (host), o MySQL dela (´ıtem) e que o MySQL pare. Poder´a ser emitido um alerta (trigger) e essa mensagem ser´a enviada por email para o administrador do Zabbix (a¸c˜ao).

De posse dos conceitos b´asicos, vamos criar o nosso primeiro host. De-vemos certificar que a m´aquina que queremos monitorar est´a com MySQL e

(18)

o Zabbix Agent instalados, devidamente configurados e inicializados. V´a na aba ”Configura¸c˜ao -> Hosts”e clique em ”Criar Host”. Aparecer´a uma tela como a que temos abaixo:

Dˆe um nome para o seu host (geralmente o nome da m´aquina). Vocˆe pode colocar ela em um grupo de m´aquinas, utilizando as setinhas ”<<”ou ”>>”(o grupo da m´aquina tem que ficar no quadro da esquerda) e escolha o grupo de preferˆencia. Na parte ”Endere¸co Ip”, coloque o endere¸co do Ip da m´aquina cliente em quest˜ao e clique em salvar.

6.3

Criando ´

Itens

´Itens, como mencionado, s˜ao tarefas dadas ao servidor para que informa¸c˜oes das clientes sejam coletadas. Uma vez criado um host, na aba ”Configura¸c˜ao -> Hosts”, clique em ”´Itens”correspondente ao host desejado.

Clique no campo ”Selecionar”e escolha o dado que queira monitorar. Por exemplo, vamos monitar o MySQL em uma m´aquina. Escolha a op¸c˜ao ”proc.num”. Na guia ”Chave”, perceba que proc.num tem campos que pre-cisam 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.

(19)

Na guia ”Tipo de informa¸c˜ao”deixamos como ”Num´erico (fracion´ario)”e por fim, clicamos em ”Salvar”.

Partindo do princ´ıpio que existir˜ao m´aquinas que ter˜ao os mesmos ´ıtens, criamos os ´ıtens em um host s´o, selecionamos os ´ıtens e colocamos a op¸c˜ao ”Copias selecionado (s) para ...”, escolhemos em quais hosts os itens ser˜ao copiados.

Demos somente um exemplo simples. Para mais detalhes consulte o site abaixo.

http://www.zabbix.com/documentation/1.8/manual/config/items Perceba que na coluna ”Status”aparece como ”Inativo”em vermelho. Clique nela para ficar em ”Ativo”em verde. Se estiver como ”N˜ao suportado”, provavelmente o erro aconteceu na hora de preencher os campos correspon-dentes a ”Chave”. Volte l´a e conserte!

(20)

6.4

Emitindo Triggers

Pronto, criamos um ou mais ´ıtens, que por si s´o, simplesmente pegam in-forma¸c˜oes dos clientes e colocam no banco de dados. Mas queremos trabalhar essas informa¸c˜oes. Podemos estabelecer condi¸c˜oes que, se n˜ao satisfeitas, al-guma a¸c˜ao poder´a ser feita. Mas lembrando, triggers s´o mandam alertas, a¸c˜oes ´e na pr´oxima parte!

Clique em ”Configura¸c˜oes -> Hosts”, clique em ”Triggers”e clique em ”Criar Trigger”. Aparecer´a uma tela como a que est´a mostrada abaixo:

Na guia nome, coloque o nome da sua trigger, como por exemplo, ”Pro-cessos no MySQL”. Na guia, ”Express˜ao”, clique em ”Adicionar”. Aparecer´a uma tela, como mostrado na figura abaixo:

Na guia ”´Item”, escolhemos um ´ıtem de nossa preferˆencia, e na guia ”Fun¸c˜ao”, definimos uma condi¸c˜ao para que a trigger seja acionada. Por

(21)

exemplo, se o MySQL parar de funcionar, emita um alarme. Logo escolha ”Last Value = N”e deixe a guia ”N”(´ultima de cima para baixo) como zero e clique em inserir. Na pr´oxima tela, defina o grau do trigger caso ele aconte¸ca, como ”N˜ao classificada”, ”Informa¸c˜ao”, etc. Clique em ”Salvar”.

Os triggers tamb´em podem ser copiados para outros hosts caso haja ne-cessidade. Selecione - os e clique em ”Copiar selecionado (s) para ...”e sele-cionamos em quais hosts os triggers v˜ao ser copiados.

Para mais detalhes sobre triggers, consulte a p´agina:

http://www.zabbix.com/documentation/1.8/manual/config/triggers

6.5

Enviando emails

Gostar´ıamos que, quando um alerta for acionado, um email seja enviado para o administrador do Zabbix.

Existem v´arios artigos sobre o tema, mas nos basearemos no artigo escrito Andr´e Deo, encontrado no site:

http://migre.me/88OBN

Fa¸ca download do servidor de email, Sendmail, no site:

http://caspian.dotconf.net/menu/Software/SendEmail/#download Descompacte o arquivo baixado com o comando:

# tar -xzvf sendEmail-*.tar.gz

Copie o bin´ario para o diret´orio /usr/bin/: # cp sendEmail-*/sendEmail /usr/bin/ Criar diret´orio em /etc/zabbix/scripts:

# mkdir /etc/zabbix/scripts Entrar no diret´orio:

(22)

Criar o arquivo zabbix sendmail.sh com o seguinte conte´udo: # !/bin/bash

export smtpemailfrom=email que vai enviar export zabbixemailto=$1

export zabbixsubject=$2 export zabbixbody=$3

export smtpserver=SMTP. Exemplo: smtp.gmail.com export smtplogin=usu´ario

export smtppass=senha do email

/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsub-ject -m $zabbixbody -s $smtpserver:25 (mas pode ser 587 ao inv´es de 25)-xu $smtplogin -xp $smtppass

Salvar o script.

Observa¸c˜ao: fizemos o teste com uma m´aquina Ubuntu e apareceu o seguinte erro:

Feb 01 10:58:01 home sendEmail[8558]: NOTICE => Authentication not supported by the remote SMTP server!

Feb 01 10:58:01 home sendEmail[8558]: ERROR => Received: 530 5.7.0 Must issue a STARTTLS command first. j1sm13279352yhn.3 - gsmtp Ent˜ao fizemos os seguintes ajustes. Primeiro acresentamos o comando

-o tls=yes na ´ultima 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 execut´avel:

# chmod +x zabbix sendemail.sh

Alterar as permiss˜oes do diret´orio e do script: # chown -R zabbix:zabbix /etc/zabbix/scripts Testar se o script foi configurado corretamente:

(23)

Se tudo deu certo vocˆe vai receber uma mensagem como:

Data Nome do Host sendEmail [ PID ] : Email was sent successfully! E o email@destino vai receber uma mensagem sem assunto com o conteudo Teste da Testa. Se n˜ao deu certo, revise seu script!

V´a no arquivo /etc/zabbix/zabbix server.conf e fa¸ca as seguintes altera¸c˜oes: E altere a op¸c˜ao AlertScriptsPath para:

AlertScriptsPath=/etc/zabbix/scripts

6.6

M´ıdias

No ambiente web, fa¸ca: Administra¸c˜ao -> Tipos de M´ıdias -> Criar M´ıdias. Deixe o campo ”Descri¸c˜ao”como ”Email”, ”Tipo”: ”Script”e ”Nome Script”como ”zabbix sendmail.sh”.

6.7

oes

Agora vamos criar a¸c˜oes que acontecer˜ao caso uma trigger seja disparada. V´a em ”Configura¸c˜ao -> A¸c˜oes”e clique em ”Criar A¸c˜oes”. Aparecer´a uma tela como a que temos abaixo:

Dˆe um nome para a sua a¸c˜ao e na guia ”Condi¸c˜oes de A¸c˜ao”, clique em ”Nova”. Onde est´a escrito ”Descri¸c˜ao do Trigger”, coloque simplesmente ”Trigger”, deixe o sinal de ”=”e escolha a Trigger que desejas. Vocˆe ter´a que fazer essa opera¸c˜ao com cada trigger. `A direita, em ”Opera¸c˜oes da A¸c˜ao”, clique em Nova e deixe como: ”Tipo de opera¸c˜ao”: ”enviar mensagem”, ”En-viar mensagem para”: ”usu´ario”, ”Selecionar”, deixe em ”Admin”e clique em salvar.

Para mais detalhes sobre a¸c˜oes, consulte a p´agina:

(24)

6.8

Gr´

aficos

Um recurso interessante do Zabbix ´e a cria¸c˜ao de gr´aficos a partir das

in-forma¸c˜oes coletadas. V´a em ”Configura¸c˜ao -> Hosts”e clique em ”Gr´aficos”correspondente ao host de sua preferˆencia. Clique em ”Criar Gr´afico”e aparecer´a uma tela

como a figura abaixo:

Dˆe um nome ao gr´afico e marque ”Mostrar Triggers”. Na guia ”´Itens”, clique em ”Adicionar”. Aparecer´a uma tela como a mostrada abaixo:

(25)

Em ”Parˆametro”, clique em ”Selecionar”e escolha o ´ıtem cujas informa¸c˜oes ser˜ao mostradas no gr´afico. Em ”Estilo”, note que a op¸c˜ao ”Linha”est´a mar-cada, geralmente, deixa - se a op¸c˜ao ”Regi˜ao Preenchida”, mas isso vai da necessidade. Clique em ”Adicionar”e em seguida em ”Salvar”. Pronto, temos um gr´afico para ser visualizado.

V´a em ”Monitoramento -> Gr´aficos”e escolha o host e o gr´afico que quer visualizar. Se tudo deu certo, o Zabbix estar´a atualizando o gr´afico de tempos em tempos (isso foi pr´e - definido na hora de criar o ´ıtem).

Se copiar gr´aficos para outros hosts, selecione - os e clique em ”Copiar selecionado (s) para ...”e escolha os hosts que quiser.

Para maiores informa¸c˜oes sobre gr´aficos, consulte o manual do Zabbix, na p´agina:

http://www.zabbix.com/documentation/1.8/manual/config/graphs

6.9

Comando Remoto

Vamos fazer uma suposi¸c˜ao. Em um determinado host ´e necess´ario que o MySQL esteja ativo o tempo todo porque estamos armazenando dados para uma pesquisa muito importante. At´e agora vimos que o Zabbix, em caso de parada do MySQL (ou qualquer outro programa), consegue detectar essa queda e enviar um email alertando sobre o fato. E se quisermos fazer o Zabbix reiniciar o MySQL automaticamente? ´E exatamente disso que vamos tratar.

Um recurso muito importante e poderoso do Zabbix ´e emitir um comando remoto aos hosts que estamos monitorando. Para tanto, vamos em ”Con-figura¸c˜ao -> A¸c˜oes”e clique em ”Criar a¸c˜oes”. Na parte ”Editar opera¸c˜ao”,

(26)

clicamos em ”Nova”. Onde est´a escrito ”Enviar mensagem”, alteramos para ”Controle remoto”e colocamos um comando (host: sudo /etc/init.d/mysql restart) como est´a no exemplo da figura abaixo:

Substitua na palavra ”host”do comando o nome do host. Observe que colocamos o comando para o rein´ıcio do MySQL, mas poderia ser do Apache, do Tomcat, etc. Colocado o comando, clicamos em ”Adicionar”. Na parte ”Condi¸c˜oes da a¸c˜ao”, escolhemos uma condi¸c˜ao para que o comando seja disparado, ou seja, partindo do princ´ıpio que criamos um item para a coleta de dados do MySQL e um trigger para ser´a acionado quando as informa¸c˜oes pararem de chegarem do agent, colocamos a op¸c˜ao ”trigger”e escolhemos trigger de fato, no host determinado. Clicamos em ”Adicionar”e em seguida em ”Salvar”. Repetimos a a¸c˜ao com os outros hosts e para outros programas. Ainda n˜ao est´a pronto. Como usu´ario root no terminal do host, digite:

# visudo

E no arquivo que se abriu, acrescente as seguintes linhas no final: # allows ’zabbix’ user to run all commands without password. zabbix ALL=NOPASSWD: ALL

Salve o arquivo e saia.

6.10

Apˆ

endice A: Instalando o Zabbix no Ubuntu

Foi ensinado nesse tutorial como instalar o Zabbix no Gentoo. Va-mos ensinar como instalar no Ubuntu. Essencialmente n˜ao existem grandes

(27)

diferen¸cas, ali´as, ´e muito mais f´acil instalar o Zabbix no Ubuntu do que no Gentoo.

Partindo do princ´ıpio que usaremos o MySQL como banco de dados, colocamos os seguintes comandos no terminal:

sudo su e coloque a sua senha: # apt-get install zabbix-server-mysql

Edite o arquivo /etc/services acrescentando. O passo ´e opcional, por´em recomendado:

zabbix-agent 10050/tcp Zabbix Agent zabbix-agent 10050/udp Zabbix Agent zabbix-trapper 10051/tcp Zabbix Trapper zabbix-trapper 10051/udp Zabbix Trapper

Crie uma pasta no diretorio /etc com o nome zabbix: # mkdir /etc/zabbix

Copie os arquivos de configura¸c˜ao do Zabbix para a pasta /etc/zabbix/: # cp misc/conf/zabbix ∗ /etc/zabbix

Para que os arquivos zabbix agentd.conf e zabbix server.conf sejam trans-feridos.

Entre no arquivo /etc/zabbix/zabbix server.conf e deixe as var´aveis como: DBHost=localhost

DBName=zabbix DBUser=root

DBPassword=password do MySQL Salve e feche o arquivo.

(28)

Inicie o servidor:

# /etc/init.d/zabbix-server start Por fim, instalaremos o frontend:

# apt-get install zabbix-frontend-php

Agora instalaremos o agent. ´E s´o colocar o comando: # apt-get install zabbix-agent

E recomendado adicionar as seguintes linhas ao arquivo /etc/services: zabbix agent 10050/tcp

zabbix trapper 10051/tcp

V´a no arquivo /etc/zabbix/zabbix agentd.conf. Na linha ”Server= ...”coloque, ou o nome da m´aquina servidora ou o seu ip. Na linha ”Hostname= ...”coloque, ou o nome da m´aquina cliente em quest˜ao 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 espec´ıfica do Ubuntu ´e essa. V´a at´e a se¸c˜ao 5, Ambiente Web e siga o tutorial at´e o final.

6.11

Apˆ

endice B: Demais Funcionalidades do Zabbix

6.12

Monitoramento

6.12.1 Dashboard

Em ”Monitoramento -> Dashboard”vemos informa¸c˜oes gerais sobre o Zabbix. Podemos ver se o Zabbix est´a rodando, n´umero de hosts, triggers e

(29)

itens. N´umero de eventos (20 por default, mas pode ser alterado se clicarmos em ”Menu”). Por fim, vemos informa¸c˜oes sobre Web e Autobusca.

6.12.2 Vis˜ao Geral

Podemos ver dados dos itens de cada host. Em ”Localiza¸c˜ao dos Hosts”, podemos alterar o eixo da disposi¸c˜ao das informa¸c˜oes. Podemos escolher o grupo de hosts e o tipo de dados a ser mostrado.

6.12.3 Web

Mostra informa¸c˜oes sobre dados da Web conseguidos pelo Zabbix. 6.12.4 Dados Recentes

Escolhendo um grupo e um host, na guia ”Mostrar itens com a descri¸c˜ao”, colocamos uma palavra, por exemplo, ”CPU”e todas as informa¸c˜oes, como itens, triggers, etc, que tem a palavra ”CPU”s˜ao mostrados.

(30)

6.12.5 Triggers

S˜ao mostrados os dados dos triggers, escolhido um grupo de hosts e um host, como o nome, a data, o status, etc.

(31)

6.12.6 Eventos

Mostra os eventos em ordem cronol´ogica, seja de triggers ou de eventos de autobusca.

6.12.7 Gr´aficos

Podemos ver os gr´aficos criados. Escolhendo o grupo, hosts e o gr´afico, podemos dar um zoom para ver o gr´afico em um intervalo de tempo maior ou menor.

(32)

6.12.8 Telas

Permite ver informa¸c˜oes das telas que criamos. 6.12.9 Mapas

Permite ver informa¸c˜oes dos mapas que criamos. 6.12.10 Autobusca

Permite ver informa¸c˜oes de autobusca que criamos. 6.12.11 Servi¸cos de TI

(33)

6.13

Relat´

orios

6.13.1 Status do Zabbix

Mostra as informa¸c˜oes iniciais que vimos no Dashboard. 6.13.2 Relat´orio de Disponibilidade

Relat´orio de Disponibilidade ´e uma disposi¸c˜ao gr´afica que mostra as por-centagens dos problemas dos hosts atrav´es de seus triggers. Clicando em ”filtrar”, podemos mostrar essas informa¸c˜oes por host, definir o per´ıodo de busca das informa¸c˜oes, etc.

(34)

6.13.3 Triggers Mais Ativados - Top 100

Mostra as 100 triggers mais ativadas. Podemos visualizar essa informa¸c˜ao se considerarmos um dia, uma semana, um mˆes ou um ano.

6.13.4 Relat´orios de Barra ´

E a gera¸c˜ao de um gr´afico de informa¸c˜oes de um ou mais itens, definidos por um intervalo determinado de tempo. Clique em ”Adicionar”, na pr´oxima tela clique em ”Selecionar”e escolha um item de um host e clique em ”Adi-cionar”. Em ”Filtrar”, defina o intervalo de tempo e clique em ”Mostrar”.

(35)

6.14

Configura¸

ao

6.14.1 Grupos de Host

Criados v´arios hosts, podemos agrup´a - los com o objetivo de tornar as informa¸c˜oes mais organizadas. V´a em ”Configura¸c˜ao -> Grupos de Host”, clique em ”Criar Grupo”e teremos uma janela como a que vemos abaixo:

Dˆe um nome ao grupo e escolha um grupo j´a criado para que apare¸cam hosts dele. Note que quando criamos um host, devemos informar, obrigatoria-mente, um grupo. Use as setinhas ”<<”para colocar os hosts que apareceram no grupo. Por fim, clique em ”Salvar”.

6.14.2 Templates

Templates s˜ao usados quando temos que criar v´arios hosts que s˜ao iguais nos quesitos, itens, triggers e gr´aficos. Clique em ”Criar Templates”, dˆe um nome a ele, escolha quais grupos de hosts estar˜ao no template (atrav´es das setinhas <<). Clique em ”Salvar”.

Agora vamos criar uma aplica¸c˜ao. Correspondente ao template criado, clique em ”Aplica¸c˜oes”e clique em ”Criar aplica¸c˜ao”, dˆe um nome a ela e salve.

(36)

Vamos adicionar itens `a aplica¸c˜ao. Clique em ”itens”, ao lado da aplica¸c˜ao criada e crie tantos itens forem necess´arios. Faremos o mesmo para gr´aficos e triggers, sendo que os ´ultimos devem ser associados aos itens da aplica¸c˜ao. Agora se criarmos um host associado ao template, ele ter´a os itens, triggers e gr´aficos que criamos. Faremos um teste.

(37)

em ”Adicionar”, escolha um template pr´e - definido, preencha as outras informa¸c˜oes necess´arias e clique em ”Salvar”e perceba que o host tem as informa¸c˜oes supracitadas.

6.14.3 Manuten¸c˜ao

Manuten¸c˜ao ´e um dispositivo para impedir que outros usu´arios acessem o Zabbix por um intervalo determinado de tempo. Primeiro entre no ar-quivo /var/www/localhost/htdocs/zabbix/conf/maintenance.conf.php e de-scomente as seguintes linhas:

// Maintenance mode define(’ZBX DENY GUI ACCESS’,1);

// IP range, who allowed to connect to FrontEnd $ZBX GUI ACCESS IP RANGE = array(’127.0.0.1’);

// MSG showed on Warning screen! $ REQUEST[’warning msg’] = ’Zab-bix is under maintenance.’;

Salve o arquivo e volte para o frontend do Zabbix. V´a em ”Configura¸c˜ao -> Manuten¸c˜ao”, clique em ”Criar per´ıodo de manuten¸c˜ao”.

Dˆe um nome `a tarefa, defina um intervalo de tempo e tamb´em quais hosts e grupos v˜ao estar no estado de manuten¸c˜ao (usando as setinhas ”<<”) e clique em ”Salvar”.

(38)

6.14.4 Web

Para monitorar p´aginas da web, precisamos criar um cen´ario. Cen´ario ´

e um conjunto de requisi¸c˜oes via HTTP feito pelo servidor. Para criar um cen´ario, v´a em ”Configura¸c˜oes -> Web”e clique em ”Criar cen´ario”.

Partindo do princ´ıpio que temos uma aplica¸c˜ao criada, em ”Selecionar”, escolha uma aplica¸c˜ao. Dˆe um nome para o cen´ario e em agente, escolha o navegador `a preferˆencia. Em ”Status”, deixe como ”Ativo”e em ”Pas-sos”clicamos em ”Adicionar”, sendo mostrado uma tela como a que vemos abaixo:

Dˆe um nome para o passo (por exemplo, login), ”URL”(por exemplo, www.zabbix.com), preencha o ”Timeout”e ”Requerido”´e a descri¸c˜ao do site, por exemplo, ”Homepage do Zabbix”. Observa¸c˜ao: esse campo tem que ser preenchido. Clique em ”Salvar”e em ”Salvar”na pr´oxima tela.

(39)

Em ”Monitoramento -> Web”podemos ver o gr´afico do cen´ario que acabamos de criar.

6.14.5 Telas

Telas ´e uma visualiza¸c˜ao de partes gr´aficas de monitoramento do Zabbix, como gr´aficos, mapas, etc. V´a em ”Configura¸c˜ao -> Telas”e clique em ”Criar tela”.

Defina quantas linhas e colunas a tela ter´a e clique em ”Salvar”. Clique no nome da tela que foi criada, clique em ”Alterar”de uma c´elula e aparecer´a uma tela como a que vemos abaixo:

Devemos escolher qual recurso que devemos utilizar (por exemplo, gr´afico), ”Nome do gr´afico”escolha do gr´afico existente que vai aparecer, preencha os outros campos abaixo e clique em ”Salvar”. Fazemos isso com outras c´elulas at´e que todas sejam preenchidas.

V´a em ”Monitoramento -> Telas”, escolha a tela rec´em criada e utilize a ferramenta de zoom para que possamos ver v´arias informa¸c˜oes em um intervalo de tempo fixo.

(40)

6.14.6 Slides

Um slide show ´e uma sequˆencia de imagens que aparecer˜ao, mediante configura¸c˜oes feitas. V´a em ”Configura¸c˜ao -> Slides”e clique em ”Criar Slide Show”, aparecendo uma janela como a que vemos abaixo:

Dˆe um nome ao slide, defina o intervalo de um slide e outro, e em ”Slides”, clique em ”Adicionar”e escolha uma tela criada. Note que podemos escolher quantas telas forem necess´arias e clique em ”Salvar”.

Pode ocorrer um problema, se o intervalo entre os slides for maior do que ”Atualiza¸c˜ao da tela (em seg.)”(em Configura¸c˜oes), o slide show n˜ao funcionar´a porque o Zabbix vai atualizar a tela antes que os slides passem. Altere esses valores de modo que o tempo dos slides seja menor do que a de atualiza¸c˜ao da tela.

Para visualizar o slide show, v´a em ”Monitoramento -> Telas”, deixe como ”Slideshows”e veja a apresenta¸c˜ao!

6.14.7 Mapas

Mapas s˜ao representa¸c˜oes de rede atrav´es de figuras. A grande vantagem ´e que, montado um mapa, podemos ver como est´a a conex˜ao entre as m´aquinas. V´a em ”Configura¸c˜ao -> Mapas”e vai aparecer uma janela tal como temos abaixo:

Dˆe um nome para o mapa, preencha os demais campos e clique em ”Sal-var”. Agora vamos montar uma rede. Clique no nome do mapa criado e clique no s´ımbolo ”+”em ”´Icone”para adicionar um novo elemento. Clique sobre o elemento, aparecendo uma nova janela. Em ”Tipo”, escolha ”Host”, na guia ”Host”, clique em ”Selecionar”e escolha um host. Em ”Imagem”, de-fina a imagem do host em seguida, clique em ”Aplicar”e clique em ”Fechar”.

(41)

Perceba que podemos mover o nosso host pela tela.

Criamos um novo elemento de host como fizemos e selecione os dois (se-gurando a tecla ”Ctrl”do teclado) e clique em ”+”de ”Link”e ser´a criado uma linha ligando os dois hosts. Se eles estiverem em rede, a linha ficar´a da cor verde, em caso contr´ario ela ficar´a da cor vermelha.

Com as informa¸c˜oes supracitadas, podemos criar uma rede de hosts (mas pode ser de triggers, mapas, grupo de hosts, etc.). Para visualizar o mapa que criamos, v´a em ”Monitoramento -> Mapas”e escolha o mapa que acabamos de criar.

6.14.8 Autobusca

O sistema de auto busca ´e o monitoramento de dispositivos. V´a em ”Configura¸c˜ao -¿ Autobusca”e clique em ”Criar Regra”. Dˆe um nome a auto busca, altere o tempo de espera, caso deseje. Em ”Nova Checagem”, escolha a maneira como as informa¸c˜oes ser˜ao conseguidas, se ´e por ping, http, etc, e clique em ”Salvar”.

Agora vamos criar uma a¸c˜ao. V´a em ”Configura¸c˜oes -¿ A¸c˜oes”. Em ”Origem do evento”, escolha ”Autobusca”e em ”Opera¸c˜oes de A¸c˜ao”, escolha um template criado. Deixe ”Status”como ”Ativo”e preencha as ”Condi¸c˜oes de A¸c˜ao”as opera¸c˜oes desejadas. No exemplo abaixo, a a¸c˜ao ser´a executada se o agent estiver funcionando, autobusca funcionado e uptime maior que 3600 segundos (1 hora).

(42)

6.14.9 Servi¸cos de TI

Servi¸cos de TI ´e um monitoramento com informa¸c˜oes de alto n´ıvel. Na verdade funciona como uma fila de esta¸c˜oes de trabalho. V´a em ”Con-figura¸c˜oes -> Servi¸cos de TI”, clique em ”raiz”e em seguida em ”Add Ser-vices”. Aparecer´a uma tela como a que vemos abaixo:

Em ”Nome”, dˆe um nome ao servi¸co. Em ”Servi¸co pai”, escolhemos o servi¸co que vai ficar acima do que estamos criando. ”Depende de”lista os servi¸cos que o que estamos criando vai depender. Em ”Algoritmo de c´alculo do status”, escolhemos como vai ser o m´etodo do c´alculo do servi¸co. Em ”Calcular SLA”, ativa o c´alculo de SLA, podemos definir o hor´ario de servi¸co e associar a um trigger (que n˜ao pode ser classificado como Informa¸c˜ao ou N˜ao Classificado). Pronto, agora podemos ir em ”Monitoramento -> Servi¸cos de TI”que ser˜ao mostrados todos os servi¸cos criados e podemos ver os gr´aficos

(43)

correspondentes a eles.

6.15

Administra¸

ao

6.15.1 Geral

Escolhendo a op¸c˜ao ”Administra¸c˜a -> Geral”, temos v´arias op¸c˜oes que podemos escolher:

GUI:

Permite configurar o frontend. ”Tema Padr˜ao”permite mudar a cor. ”Primeiro ´ıtem dropdown”, ´e quando o primeiro elemento de dropdown ´e ”Todos”ou ”Nenhum”. Os outros ´ıtens s˜ao triviais.

(44)

Permite remover a¸c˜oes e eventos anteriores. Imagens:

Permite criar ou editar imagens para que consigamos trabalhar a ferra-menta mapas.

V´a em ”Criar Imagem”, escolha um nome, dˆe um tipo e em ”Selecionar arquivo”, e escolha um arquivo em formato imagem e clique em ”Salvar”.

Express˜oes Regulares:

Permite a cria¸c˜ao de express˜oes regulares que podem ser usadas em qual-quer lugar do Zabbix. V´a em ”Nova express˜ao regular”, clique em ”Nova”, coloque uma express˜ao (pode ser uma palavra qualquer), preencha as outras op¸c˜oes e clique em adicionar.

Em ”Sequˆencia de texto para teste”, coloque uma frase para teste que contenha a(s) palavra(s) e clique em ”teste”e veja o resultado. Coloque outra frase que n˜ao contenha nenhuma palavra pr´e - definida. Feito todos os testes, clique em ”Salvar”.

Mapeamento de Valor:

(45)

por n´umeros de um dado evento. Clique em ”Criar mapeamento de valor”, dˆe um nome ao mapeamento e preencha o campo ”Novo mapeamento”. Por exemplo:

’0’ => ’N˜ao Dispon´ıvel’ ’1’ => ’Dispon´ıvel’ e clique em ”Salvar”.

Hor´ario Comercial:

Permite a configura¸c˜ao da disposi¸c˜ao das informa¸c˜oes de como vemos as datas e hor´arios.

Outros:

(46)

Podemos fazer trˆes coisas: atualizar o tempo dos ´ıtens n˜ao suportados, definir o grupo dos hosts descobertos e definir o grupo de usu´arios que rece-ber´a a mensagem de BD indispon´ıvel.

6.15.2 MD

D´a informa¸c˜oes acerca da performace do Zabbix. Podemos ver os n´os, caso o Zabbix esteja configurado para sistemas distribu´ıdos, ou os proxies, caso j´a se tenha criado algum. Em caso negativo, v´a em ”Criar Proxy”, preencha o campo da esquerda com os hosts criados e clique em ”Salvar”.

6.15.3 Autentica¸c˜ao HTTP:

Permite usar o Apache baseado em autentica¸c˜ao HTTP. LDAP:

Usado para usar autentica¸c˜ao LDAP. A autentica¸c˜ao ser´a usada para chegar nomes e senhas caso um usu´ario Zabbix exista.

(47)

LDAP Host: dˆe um nome para o servidor LDAP. Porta: 389 por default mas pode ser 636 para conec¸c˜oes mais seguras. Bind DN*: uid=Admin,ou=system. Bind Password*: senha do servidor LDAP. Usu´ario Senha: senha de teste do administrador ou do usu´ario LDAP caso ele exista.

6.15.4 Usu´arios

Podemos criar um usu´ario (feito na se¸c˜ao ”Adicionando Usu´arios”) ou um grupo de usu´arios. Vamos criar um grupo de usu´arios. Clique em ”Criar grupo”:

Dˆe um nome ao grupo, utilize as setinhas ¡¡ para definir qual categoria de usu´arios ser˜ao criados (pode ser admin ou guest). Clique em ”Adicionar”para definir as permiss˜oes dos usu´arios em rela¸c˜ao a um grupo de hosts `a escolha. 6.15.5 Tipos de M´ıdias

M´ıdias ´e a maneira como o Zabbix dar´a mensagens caso alguma a¸c˜ao pr´e - definida aconte¸ca. Atrav´es de email j´a foi explicado na se¸c˜ao ”Enviando emails”. Existe tamb´em em Jabber (servi¸co de mensagem instantˆanea) e atrav´es de SMS para celular. Explicaremos como mandar uma mensagem

(48)

por SMS mais adiante. 6.15.6 Scripts

Podemos criar scripts que podem ser executados pelo Zabbix Server. Clique em ”Criar Scripts”:

Dˆe um nome para o script e no campo ”Campo”, coloque o comando do script, por exemplo, /bin/ping -c 3 HOST.CONN. Note que esse script j´a existe.

(49)

6.15.7 Auditoria

Auditoria serve para ver tudo o que foi feito pelo usu´ario:

Na guia ”Usu´ario”, selecione um usu´ario criado, escolha uma a¸c˜ao e um recurso. Na barra zoom, extenda ou comprima e veja o que foi feito em um intervalo de tempo.

6.15.8 Fila

(50)

Podemos escolher as op¸c˜oes: ”vis˜ao geral”, ”Vis˜ao geral por proxy”e ”Detalhes”.

6.15.9 Notifica¸c˜oes

D´a a informa¸c˜ao do n´umero de notifica¸c˜oes de m´ıdias usado por grupos.

6.15.10 Idiomas

Permite a cria¸c˜ao de idiomas (na verdade ´e a tradu¸c˜ao de determinados do Zabbix). Vamos fazer um teste. Deixe ”Usar como idioma padr˜ao”como ”Inglˆes (GB)”, ”Idioma a expandir”como ”Portuguˆes Brasileiro (PT BR)”e ”Novas entradas”como deixar vazio e clique em ”Pr´oximo”.

Perceba que tem uma coluna com palavras em portuguˆes (`a esquerda) que podem ser modificadas de acordo com as palavras `a direita.

(51)

6.15.11 Instala¸c˜ao

Instala¸c˜ao ´e quando queremos instalar o Frontend do Zabbix de novo. ´

Util caso instalamos ele de maneira equivocada.

6.16

Apˆ

endice C - SLA

Segundo a Wikipedia (http://pt.wikipedia.org/wiki/Acordo de n´ıvel de servi¸co), SLA ´e um Acordo de N´ıvel de Servi¸co (do inglˆes Service Level Agreement)

´

e um acordo firmado entre a ´area de TI e seu cliente interno, que descreve o servi¸co de TI, suas metas de n´ıvel de servi¸co, al´em dos pap´eis e respons-abilidades das partes envolvidas no acordo. No caso do Zabbix ´e a garantia que em um n´umero percentual de tempo, o monitoramento vai funcionar ou alguma outra a¸c˜ao vai funcionar.

(52)

o Apˆendice B foi acompanhado). V´a em ”Configura¸c˜ao -> Servi¸cos de TI”clique na raiz (ou em qualquer servi¸co criado) e dˆe um ”Add Service”. Fazendo todas as configura¸c˜oes corretamente, teremos uma tela como a que temos abaixo:

Damos um nome ao TI Service criado (colocamos ”Monitoramento de Rede”), escolha na op¸c˜ao abaixo o servi¸co pai, em ”Algoritmo de c´alculo do

(53)

status”, escolha uma das op¸c˜oes (deixamos a op¸c˜ao default, ”Problema, se pelo menos um filho tem problema”), marcamos ”Calcular SLA”e aparecer´a uma op¸c˜ao ”SLA aceit´avel (em %)”, ou seja, devemos definir a porcent-agem de tempo que estipulamos com o nosso cliente que determinado servi¸co vai ficar funcionando. Em ”Hor´ario de servi¸co”, temos ”Uptime”, ”Down-time”(estado de servi¸co que n˜ao afeta o SLA) e ”Downtime ´unico”(a mesma coisa por´em que ´e um s´o), escolhemos ”Uptime”.

Em ”Novo hor´ario de servi¸co”, defina os intervalos de dias e hor´arios que o servi¸co vai funcionar. Os hor´arios devem ser preenchidos no formato ”12:30”, para meio dia e trinta, por exemplo, e clicamos em ”Incluir”. Por fim, vamos associar o nosso servi¸co a uma trigger, que ´e uma maneira eficaz de saber se um item est´a ou n˜ao em funcionamento (depende da configura¸c˜ao do item e do trigger) e clique em ”Salvar”.

Como mencionado na se¸c˜ao anterior, v´a em ”Monitoramento -> Servi¸cos de TI”para ver os gr´aficos e demais informa¸c˜oes do servi¸co que criamos, juntamente com as informa¸c˜oes de SLA.

6.17

Apˆ

endice D - Enviar Mensagem via SMS

Existem v´arias maneiras de fazer o Zabbix mandar sms para celulares com as mensagens dos alertas. Temos estrat´egias que s˜ao pagas, por exemplo, fazendo o celular como modem, sendo que ele encaminhar´a as mensagens `a outros celulares. Existem tamb´em estrat´egias que s˜ao gratuitas, utilizando um servi¸co gr´atis como apoio.

A primeira estrat´egia tem o problema ´obvio de ser paga, aliado ao fato do Linux n˜ao 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 estrat´egia tamb´em n˜ao ´e t˜ao simples assim de ser feita, por´em, existe um bom tutorial de como fazer o Zabbix mandar sms para celulares au-tomaticamente, 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 estrat´egia pode variar um pouco dependendo da vers˜ao do Linux, esse tutorial foi feito para a vers˜ao Gentoo.

(54)

A primeira coisa a se fazer ´e instalar o Google Calendar, fazemos o co-mando emerge -av googlecl na linha de coco-mando. 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 notifica¸c˜oes. V´a em www.google.com/calendar na conta da agenda Zabbix e clique em ”Configura¸c˜oes”na guia que tem uma engrenagem. Agora clique em ”Agendas”e crie uma nova agenda. Na tela seguinte, dˆe um nome para a agenda (eu chamei de ”Zabbix”) e em con-figura¸c˜ao de autoriza¸c˜ao, altere para ”Fazer altera¸c˜oes e Gerenciar compar-tilhamento”e compartilhe com a outra conta, ou seja, a de notifica¸c˜oes. Ap´os isso, clique em ”Criar Agenda”.

Entre na conta do usu´ario que ser´a notificado. Ap´os compartilhar a agenda na outra conta, perceba que o nome dela est´a no canto inferior es-querdo da tela, clique na setinha do lado direito do nome dela e clique em ”Notifica¸c˜oes”. Aparecer´a uma tela com duas colunas (Email e SMS) e qua-tro linhas que podemos habilitar e desabilitar. Marcamos as trˆes primeiras op¸c˜oes da coluna Email e somente a primeira op¸c˜ao da coluna SMS (”Novos eventos:”) e clique na op¸c˜ao abaixo ”Configurar o seu celular para receber notifica¸c˜oes”.

A pr´oxima tela, ”Configura¸c˜ao de Celular”, temos alguns campos para preencher. Na guia ”Pa´ıs”, deixe ”Brasil”. Em ”Telefone”, digite o n´umero do celular que vai receber a notifica¸c˜ao como: +55[c´odigo 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 C´odigo de Con-firma¸c˜ao”que chegar´a no celular um c´odigo, que dever´a ser colocado no campo ”C´odigo de confirma¸c˜ao”e clique em ”Concluir configura¸c˜ao”. Se tudo acon-teceu sem erros, clique em ”Salvar”.

Agora vamos configurar o Googlecl. No terminal, como usu´ario 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 usu´ario e conta do Google. Preenchendo os campos necess´arios, ser´a a ´ultima vez que que o Google vai pedir tais informa¸c˜oes.

V´a 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 ”Zab-bix-u emailNaContaZabbix@gmail.com.

(55)

Vamos configurar o servidor Zabbix. V´a em ”Administra¸c˜ao -> Tipos de m´ıdias”e clique em ”Criar M´ıdias”. Dˆe um nome em ”Descri¸c˜ao”, em ”Tipo”deixe como script e ”Nome script”preencha como ”sms.sh”, conforme figura abaixo:

Por fim, clique em ”Salvar”.

V´a em ”Administra¸c˜ao -> Usu´arios”, clique em ”Usu´arios”e clique em ”Admin”(ou qualquer outro usu´ario que estiver usando). Em ”M´ıdia”, clique em ”Adicionar”. Em ”Tipo”, escolha a m´ıdia que acabamos de criar e preen-cha os demais campos conforme a figura abaixo:

Por fim, v´a em ”Configura¸c˜ao -> A¸c˜oes”, escolha a a¸c˜ao desejada (ou crie uma) e em ”Opera¸c˜oes de A¸c˜ao”, clique em ”Nova”. Em ”Tipo da opera¸c˜ao”, coloque ”Enviar mensagem”. Em ”Enviar mensagem para”, es-colha ”Usu´ario”e o usu´ario que ser´a enviado. Em ”Enviar apenas para”, escolha a m´ıdia que criamos para mandar sms e clique em ”Salvar”.

Antes de salvar em ”CONFIGURAC¸ ˜AO DE AC¸ ˜OES”, v´a em ”Assunto

padr˜ao”e deixe como {TRIGGER.STATUS}: {TRIGGER.NAME}: {HOSTNAME1} . Fizemos isso porque deixamos a vari´avel do script sms.sh como $2, que

sig-nifica que o celular vai receber mensagens s´o do t´ıtulo das a¸c˜oes, mas poderia ser $3, ou seja, receber o conte´udo da mensagem toda. Entretanto, devemos lembrar que um sms s´o pode ter no m´aximo 140 caracteres! Agora clique em ”Salvar”.

(56)

6.18

Apˆ

endice E - Monitorar P´

aginas de Internet

´

E poss´ıvel monitorar p´aginas de internet, tais como os sites da Google, Terra ou qualquer outro, mas alguns passos precisam ser seguidos. Primeira-mente, precisamos descobrir o IP do site, sendo que na maioria dos casos eles s˜ao acessados via endere¸co url. Simplesmente utilizamos o comando na linha de comando no Linux:

nslookup [url do site]

Existem sites que tˆem mais do que um IP, logo cada um deles precisa ser monitorado.

Agora de posse da informa¸c˜ao do(s) IP(s), no frontend do Zabbix, ir em ”Configura¸c˜ao -> Hosts”e clicamos em ”Criar Hosts”, dˆe um nome no host como o nome do site e na parte ”Endere¸co IP”, coloque o endere¸co IP que conseguimos e clique em ”Salvar”.

Em seguida, clique em ”Aplica¸c˜oes”correspondente ao host criado e clique em ”Criar aplica¸c˜ao”, dˆe um nome para a Aplica¸c˜ao e clique em ”Salvar”.

Agora v´a em ”Configura¸c˜ao -> Web”e clique em ”Criar cen´ario”, na guia ”Aplica¸c˜ao”, selecione a Aplica¸c˜ao correspondente ao site a ser monitorado, dˆe um nome ao Cen´ario e clique em ”Adicionar”. Na janela aberta, preencha os campos ”Nomes”e ”URL”corretamente e clique em ”Salvar”. Por fim, clique em ”Salvar”para criar no nosso Cen´ario.

Agora volte em ”Configura¸c˜ao -> Hosts”e clique no campo ”Trigger”correspondente ao host do site e clique em ”Criar Trigger”. Dˆe um nome para a Trigger

(57)

”Selecionar”e ”Failed step of scenario [nome do Cen´ario]”. Em ”Fun¸c˜ao”, es-colha ”Last value NOT N”e clique em ”Inserir”. Defina o ”Risco”da Trigger e clique em ”Salvar”.

Por fim, v´a em ”Configura¸c˜ao -> Servi¸cos de TI”, clique em raiz e ”ADD Service”, em nome, deixe como ”Hosting”e clique em ”Salvar”. Agora clique em ”Hosting”e em ”ADD Service”. Na janela que apareceu, dˆe 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 est´a pronto. Para conferir, v´a em ”Monitoramento -> Web”e clique no link correspondente ao site monitorado e aparecer´a um gr´afico como o que vemos abaixo:

(58)

6.19

Apˆ

endice F - Miscelˆ

anea

Faremos a descri¸c˜ao suscinta para monitorar determinados itens, para ficar como exemplos de aplica¸c˜ao do Zabbix.

(59)

in-forma¸c˜ao”´e ”Num´erico (fracion´ario)”.

Disponibilidade de M´aquina: Em ´ıtens, a chave ´e agent.ping. Disponibilidade do Apache: Em ´ıtens, a chave ´e proc.num[,apache]. Disponibilidade do MySQL: Em ´ıtens, a chave ´e proc.num[,mysql]. Disponibilidade do Tomcat: Em ´ıtens, a chave ´e proc.num[java,,,tomcat]. Espa¸co livre em disco em /: Em ´ıtens, a chave ´e vfs.fs.size[/,free]. Note que podemos monitorar parti¸c˜oes em outros lugares (caso existam),

(60)

como /scratch, por exemplo. Como trigger, por exemplo, acionar a trigger quando o disco tiver 10% de espa¸co livre (ou seja, o disco est´a com 90% do

espa¸co 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: sa´ıda: Em ´ıtens, a chave ´e net.if.out[eth0, bytes]. Trafego de rede: total: Em ´ıtens, a chave ´e net.if.total[eth0, bytes].

(61)

7

Cr´

editos

Documento Manual de Instala¸c˜ao e de Utilizacao do Zabbix Direitos Autorais Reservados (c)

Universidade Federal de Minas Gerais Departamento de Ciˆencia da Computa¸c˜ao Autores:

Alex Roberto Correa (alexrc@dcc.ufmg.br)

E-Mail: lsl-libertasbr-dev@listas.dcc.ufmg.br

Esta documenta¸c˜ao ´e livre; vocˆe pode redistribu´ı-la e/ou modific´a-la sob os termos da Licen¸ca P´ublica Geral GNU conforme publicada pela Free Soft-ware Foundation; tanto na sua vers˜ao 2, como qualquer vers˜ao posterior (a seu crit´erio) .

A distribui¸c˜ao desta documenta¸c˜ao ´e feita na expectativa de que ela seja ´

util, por´em, sem nenhuma garantia; nem mesmo a garantia impl´ıcita de comerciabilidade ou adequa¸c˜ao a uma finalidade espec´ıfica.

Consulte a Licen¸ca P´ublica Geral do GNU para mais detalhes.

http://creativecommons.org/licenses/GPL/2.0/

Referências

Documentos relacionados

Sendo assim, a utilização de modelos didáticos surge como uma importante ferramenta para proporção de um ambiente prazeroso para o processo de ensino-aprendizagem, já que aguça

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

psicológicos, sociais e ambientais. Assim podemos observar que é de extrema importância a QV e a PS andarem juntas, pois não adianta ter uma meta de promoção de saúde se

Bom, eu penso que no contexto do livro ele traz muito do que é viver essa vida no sertão, e ele traz isso com muitos detalhes, que tanto as pessoas se juntam ao grupo para

Crisóstomo (2001) apresenta elementos que devem ser considerados em relação a esta decisão. Ao adquirir soluções externas, usualmente, a equipe da empresa ainda tem um árduo

Como visto no capítulo III, a opção pelo regime jurídico tributário especial SIMPLES Nacional pode representar uma redução da carga tributária em alguns setores, como o setor

Ainda nos Estados Unidos, Robinson e colaboradores (2012) reportaram melhoras nas habilidades de locomoção e controle de objeto após um programa de intervenção baseado no clima de

Um programa de computador (software) foi desenvolvido, para demonstrar a facilidade do uso por pessoas não especializadas em finanças. É necessária apenas, base em informática.