Monitoramento SQL Server

Escrito por HIT

Instalação do Driver ODBC do Linux na máquina de Proxy

Validar se os pacotes do unixODBC estão instalados:

yum install unixODBC
yum install unixODBC-devel

Instalar FreeTDS

yum install epel-release
yum check-update
yum install freetds freetds-devel

Confirmar o caminho que o driver FreeTDS foi instalado:

find / -name libtdsodbc.so.0

Com o caminho completo do driver, fazer a configuração deste driver no unixODBC: 

vim /etc/odbcinst.ini

Adicionar a entrada e colocar o diretório do driver:

[FreeTDS]
Driver = /usr/local/freetds/lib/libtdsodbc.so.0?

Configurar as fonts de dados para cada instância de SQL Server que deverá ser monitorada

vim /etc/odbc.ini

Adicionar a entrada:

[NOME_DO_BANCO]
Driver = FreeTDS
Server = IP_DO_SERVIDOR
Database = master
Port = 1433
TDS_Version = 8.0

Criação de usuário de monitoramento no SQLServer

Download do script para criação do usuário de monitoramento:


Para validar se as configurações estão funcionando, rodar o seguinte comando no console do Zabbix Proxy (onde o usuário/senha utilizados para o monitoramento são monitoramento/ mOnit0r4menTo): 


isql –v banco monitoramento mOnit0r4menTo


+---------------------------------------+ 

| Connected!              |

|                   |

| sql-statement             | 

| help [tablename]           | 

| quit                 | 

|                   | 

+---------------------------------------+ 

SQL> 


Se abrir o prompt conforme o exemplo anterior, o teste deu certo! 


Ajustes e correções do unixODBC 


Caso no ambiente não exista os arquivos da versão 2 do Driver ODBC (arquivos libodbcinst.so.2 e libodbcinst.so.2.0.0), é necessário forçar a instalação de um pacote unixODBC mais novo, o qual possua a versão 2 do Driver ODBC.  


Para isso, faça o download do pacote no formato RPM (caso seja 64bits): 


wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/swida/RedHat_RHEL-5/x86_64/ unixODBC-2.2.14-15.2.x86_64.rpm


Caso o Sistema Operacional seja 32bits, faça o seguinte download: 


wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/swida/RedHat_RHEL-5/i386/ unixODBC-2.2.14-15.2.i386.rpm 


Para fazer a instalação execute o seguinte commando (64bits):

 

rpm -ivh --replacepkgs --replacefiles unixODBC-2.2.14-15.2.x86_64.rpm 


Caso o Sistema Operacional seja 32bits, fazer a instalação do seguinte pacote (32bits):

 

rpm -ivh --replacepkgs --replacefiles unixODBC-2.2.14-15.2.i386.rpm 


Caso esteja instalado o pacote unixODBC versão 2.2.xx, é necessário fazer uma mudança em um arquivo de link para apontar um arquivo de biblioteca mais atualizado.

  

Para verificar a versão do unixODBC execute o seguinte comando: 


odbcinst –j 


unixODBC 2.2.11 


DRIVERS............: /etc/odbcinst.ini 


SYSTEM DATA SOURCES: /etc/odbc.ini 


FILE DATA SOURCES..: /etc/ODBCDataSources 


USER DATA SOURCES..: /root/.odbc.ini

 

SQLULEN Size.......: 8 


SQLLEN Size........: 8 


SQLSETPOSIROW Size.: 8 


Caso seja a versão 2.2.xx, é necessário fazer o seguinte procedimento: 


cd /usr/lib64 
ls lib*odbcinst* -lahs

 

0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.1 -> libodbcinst.so.1.0.0  

84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.1.0.0   

0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.2 -> libodbcinst.so.2.0.0  

84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.2.0.0 


O link que deverá ser modificado para apontar para a biblioteca mais nova está sublinhado: 


mv libodbcinst.so.1 libodbcinst.so.1.ORIGINAL
ln -s libodbcinst.so.2.0.0 libodbcinst.so.1 
ls lib*odbcinst* -lahs


0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.1.ORIGINAL -> libodbcinst.so.1.0.0   

0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.1 -> libodbcinst.so.2.0.0  

84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.1.0.0   

0 lrwxrwxrwx 1 root root  20 Jun 25 14:12 libodbcinst.so.2 -> libodbcinst.so.2.0.0  

84K -rwxr-xr-x 1 root root 77K Jun 6 2007 libodbcinst.so.2.0.0 


Aplicar o Template no Host

 

Crie o seguinte template para os clientes: 


Databases standalone, instâncias single, sem ser em cluster: 


Template_SQLServer_Padrao_<Cliente>: associado ao Template_SQLServer_Padrao 


Depois de criado a template, crie as seguintes macros em cada host (que correspondem a instâncias de banco de dados) que será monitorado: 


{$SQLSERVER_DSN} = <DSN criado no arquivo /etc/odbc.ini> {$SQL_USER} = <usuário de monitoramento, normalmente monitor> 

{$SQL_PASSWORD} = <senha do usuário de monitoramento, normalmente mOnit0r4menTo>