quarta-feira, 28 de dezembro de 2011

Utilizando Zabbix para monitorar Oracle – Plugin ZABORA


Para quem não sabe, o Zabbix é um dos mais robustos e completos monitor redes e servidores. Possui licença GNU e está em pleno desenvolvimento. Possui algumas características importantes como:

·         Suporte para SNMP (v1, v2);

·         Monitoramento distribuído com administração centralizada na web;

·         Agentes de alta performance (software de cliente para Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X, Tru64/OSF1, Windows NT 4.0, Windows 2000, Windows 2003, Windows XP e Windows Vista);

·         Permissões flexíveis de usuário;

·         Interface baseada na web.

Bem, meu objetivo não é tratar exatamente a instalação e configuração do Zabbix, pois para isso existe um vasto material na internet. 

Partindo do princípio...

Supondo que você já tenha um servidor Zabbix em pleno funcionamento e já tenha o seu agente devidamente configurado no seu Oracle Server, faça:

Download do Zabora (a versão atual é a 1.5):



Crie uma pasta /opt/zabbix

# mkdir /opt/zabbix

Mude de dono o diretório

# chown zabbix.zabbix /opt/zabbix –R

De permissão total

# chmod 777 /opt/zabbix

Descompacte o arquivo zabora.zip no diretório /tmp

# unzip zabora.zip

Copie os arquivos descompactados

# cp /tmp/ux/* /opt/zabbix/.

Adicione os parâmetros do zabora para o agente do zabbix:

# cd /opt/zabbix
# echo "UserParameter=oracle[*],/opt/zabbix/zabora \$1 \$2" >>zabbix_agentd.conf

Altere o conteúdo do arquivo zabbix_user.txt, colocando a senha que deseja para o usuário zabbix:

conn /as sysdba;
CREATE USER "ZABBIX" IDENTIFIED BY "ZABBIX";
GRANT "CONNECT" TO "ZABBIX";
grant select on v_$instance to zabbix;
grant select on v_$sysstat to zabbix;
grant select on v_$session to zabbix;
grant select on dba_free_space to zabbix;
grant select on dba_data_files to zabbix;
grant select on dba_tablespaces to zabbix;
grant select on v_$log to zabbix;
grant select on v_$archived_log to zabbix;
grant select on v_$loghist to zabbix;
grant select on v_$system_event to zabbix;
grant select on v_$event_name to zabbix;

Logue no Oracle e execute o script zabbix_user.txt:

# su – oracle
$ sqlplus /nolog @ zabbix_user.txt

Usuário criado! Volte para root!

$ exit

Edite o arquivos oraenv colocando as informações de seu ambiente. Abaixo um modelo do meu ambiente:

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/11; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:$ORACLE_HOME/bin; export PATH
ORACLE_OWNER=oracle; export ORACLE_OWNER
ORACLE_SID=c5teste; export ORACLE_SID

Existe um erro no conteúdo do zabora, onde são utilizados comandos <>, sendo que o bash não reconhece símbolos. Sendo assim, edite o arquivo zabora e altere o seguinte:

Linha 001 – De: #! /usr/bin/sh | Para: #!/bin/sh
Linha 010 – De: if [ "$2" <> "" ]; then | Para:  if [ "$2" != "" ]; then
Linha 263 – De: if [ "$sql" <> "" ]; then | Para: if [ "$sql" != "" ]; then

Faça teste com o zabora:

# ./zabora version

A saída deverá ser algo como:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

Faça teste com o Zabbix:

./zabbix_agentd -c /etc/zabbix_agentd.conf -t oracle[version]

A saída deverá ser algo como:

oracle[/opt/zabbix/zabora version ]           [t| Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production]

Pronto! O plugin Zabora está pronto para realizar as consultas e enviar para o servidor Zabbix. Para ver as possibilidades de monitoramento:

./zabora --help

Agora é só criar um novo template e utilizar o zabora com os parâmetros desejados!

Wiki do Zabbix:  http://www.zabbix.com/wiki/howto/monitor/db/orcale/oracle




4 comentários:

Anônimo disse...

Tem como vc disponibilizar seu template do zabora ?

thiagomz@gmail.com

Obrigado !

Lucas disse...

Fiquei confuso com uma coisa. O banco de dados do zabbix tem de ser oracle (e ele vai monitorar o banco do zabbix?) ou este plugin serve para monitorar outros bancos oracle independente do banco do zabbix?

João Fernandes Gomes disse...

Não estou conseguindo baixar ZABORA tem como me add seu skype me passar ele? ou

Blackbolt30 disse...

Fera, seu arquivo.zip esta fora do ar. Poderia re-upar ele? Gostaria de testar seu metodo! paz.