Data

19 jun, 2013

Utilizando Relog para importar dados do Perfmon para dentro do SQL Server

1431 visualizações
Publicidade

No dia a dia, é preciso monitorar a “saúde” dos servidores analisando o nível de utilização dos recursos como memória, CPU, disco. O Windows dispõe de um recurso chamado RELOG que captura informações através dos contadores do Perfmon e importa para tabelas dentro do SQL Server.

DBAs, assim como administradores de rede, precisam criar relatórios sobre a utilização dos servidores como uma forma de documentar o histórico das maquinas e também como forma de pleitear uma melhora de hardware para diretoria e ou clientes.

Neste artigo, vou demonstrar como capturar informações através dos contadores de desempenho do Perfmon e em seguida utilizar o Relog para importar as informações para tabelas dentro do SQL Server, e por fim criar uma planilha em Excel gerando gráfico para apresentação dessas informações

Bom, mãos à massa.

Como primeiro passo, vamos agendar o Perfmon para capturar informações de utilização de CPU e Disco.

Como exemplo, o Perfmon será agendado para capturar informações a cada dez minutos. Mas, em ambiente de produção, é recomendado utilizar um tempo maior de analise e em diferentes horários durante o dia.

Imagem 1

Figura 1 – Contadores selecionados

Imagem 2

Figura 2 – Configurando agendamento

Em background, as informações capturadas pelos contadores são gravadas em arquivos binários (.blg) no diretório especificado.

Com o Perfmon configurado, vamos criar uma conexão ODBC, a qual o Relog utiliza para se conectar com o banco de dados e despejar as informações importadas dos arquivos binários (.blg).

Imagem 3

Figura 3 – Criando ODBC

 

O banco de dados BD_Auditoria será a base de dados que conterá as informações importadas pelo Relog. Como boa prática, em ambiente de produção é recomendado que esse banco de dados esteja alocado em outro servidor, pois o Relog pode gerar uma grande quantidade I/O dependendo da quantidade de arquivos .blg.

Imagem 4

 Figura 4 – Apontando para o Database BD_Auditoria

Com os passos anteriores configurados, agora podemos executar o comando abaixo para importar os arquivos binários para o SQL Server

Sintaxe: relog “caminho do arquivo .blg” –f SQL –o SQL:Nome_ODBC!Nome_Maquina
OBS: -f indica que você está utilizando as credencias do usuário logado no Windows. Caso queira especificar outro usuário utilize –U para informa o usuário e –P para informar a senha.

Exemplo:
relog “D:\Testes\Relog\20130513\*” -f SQL -o SQL:ODBC_Relog!WKS8

Imagem 5

Figura 5 – Executando o Relog

Quando executado, são criadas três tabelas padrões no banco de dados. As tabelas são:

  • CounterDetails: Armazena informações sobre os contadores coletados.
  • CounterData: Armazena os dados coletados pelo contadores
  • DisplayToID: Armazena horários, maquinas onde estão sendo coletadas as informações.

A tabela que mais nos interessa é a CounterData, pois nela são armazenadas as informações capturadas pelo Perfmon.

Imagem 6

Figura 6 – Tabelas criadas automaticamente pelo Relog

 

Recapitulando, até agora agendamos o Perfmon para capturar informações dos contadores e gravar em arquivos binários (.blg), depois configuramos o ODBC que é utilizado pelo Relog para conectar no servidor e importar os arquivos para o banco de dados BD_Auditoria e, em seguida, executamos o comando Relog, que efetiva a importação dos arquivos (blg) para dentro do SQL Server.

Para efeito de demonstração, vamos criar uma nova tabela e importar o resultado de cada contador. Essa manipulação é bem interessante, pois as três tabelas criadas automaticamente contêm informações relevantes sobre os contadores, possibilitando a criação de várias consultas. Lembrando que o script abaixo é só um exemplo e que para cada ambiente pode existir uma necessidade, assim como os contadores escolhidos para este artigo.

Imagem 7

Para finalizar e apresentar as informações importadas, vamos criar uma planilha Excel, que se conectará ao SQL Server para buscar os dados e gerar um gráfico.

No Excel, vá à aba Dados e crie um nova conexão com o banco de dados DB_Auditoria para a Tabela Manipulando Contador, em seguida gere um gráfico com tabela dinâmica.

Imagem 8

 

Nesse gráfico, podemos identificar o total de cada contador no dia 13/05. Esse é um modelo simples, pois o período de coleta foi de apenas um dia. Mas poderíamos coletar informações durante um mês ou por semanas e posteriormente gerar gráficos e relatórios. O resultado final seria bem interessante e poderia chegar ao nível de identificar que todo dia 5 existem picos de processamento devido à emissão de notas e fiscais e fechamento de folha de pagamento.

Bom, neste artigo queria demonstrar umas das formas existentes para criar um relatório ou gráfico para apresentar a saúde dos servidores. Documentação do ambiente é algo importante, além de certificar o bom trabalho realizado pela equipe e prestação de conta para gestores e diretores.

Baixe o codigo fonte Relog