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):
# cd /tmp
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