SQLdiag - Parte 2 - Configurando o SQLdiag (Performance Monitor).

Olá pessoal, tudo certo? Dando continuidade à série de posts sobre o SQLdiag hoje irei começar a explicar como configurá-lo, como fazer o utilitário coletar mais informações importantes sobre o ambiente em que está instalado seu SQL Server.

 Uma limitação do SQLdiag é a falta de um utilitário que permita configurar a coleta de acordo com necessidades específicas. A documentação do SQL Server demonstra como configurar o SQLdiag usando XML, mas não mostra como customizar a coleta usando outros recursos, estas limitações foram em partes cobertas pelo utilitário chamado Sqldiag Manager (formalmente suportado para o SQL Server 2005 / 2008 / 2008 R2), conforme os links abaixo: 



 No final do post anterior (http://sqlmagu.blogspot.com.br/2014/01/sqldiag-parte-1-conhecendo-o-sqldiag.html), comentei que logo após rodar o SQLdiag pela primeira vez, surgem alguns arquivos novos na pasta onde o utilitário dele se encontra, reparem que um destes arquivos se chama SQLDiag.XML, conforme imagem abaixo:


 Com o SQLdiag parado, copiem este arquivo para algum outro diretório, mudem o nome dele para SQLDiag_custom.xml e depois abram ele no Notepad, reparem na linha abaixo: 

<PerfmonCollector enabled="false" pollinginterval="5" maxfilesize="256">

 Vou quebrar esta linha em três partes e dar uma breve descrição sobre cada uma delas: 

<PerfmonCollector enabled="false" = Acredito que para a maioria, Perfmon é uma palavra comum, que remete ao Performance Monitor do Windows certo? Logo na sequência vemos enabled=”false”, opa! Podemos concluir que ele está desabilitado! 

pollinginterval="5" = Se estamos falando do Performance Monitor, sabemos que ele possui um intervalo de coleta dos dados que pode ser configurado, logo, notem que este intervalo está definido em 5 segundos! 

maxfilesize="256"> = Sabemos que podemos configurar o Performance Monitor para ficar rodando e gerando arquivos com tamanhos que nós definimos, interessante, isto quer dizer que neste caso os arquivos estão definidos em 256 MB!

 Agora que entendemos esta linha, repare que depois dela temos diversos contadores do Perfmon listados sequencialmente. Vamos fazer algumas modificações, alterem a linha do Perfmon para que fique da seguinte forma:

<PerfmonCollector enabled="true" pollinginterval="5" maxfilesize="1"> 

 Salvem as alterações e copiem este arquivo para a pasta do utilitário do SQLdiag, agora rodem o serviço da seguinte forma: sqldiag /I SQLDiag_custom.XML, como na imagem abaixo:

 
 Quando aparecer a mensagem dizendo que já existem arquivos na pasta SQLDIAG, apenas concordem em sobrescrever os mesmos com a tecla “Y” e depois pressionem Enter.

 
 Com o SQLdiag no ar, reparem o que surgiu dentro da pasta SQLDIAG:

 
 Isso mesmo! O SQLDiag agora também está coletando dados de performance do Windows, o qual está gerando arquivos BLG com o tamanho de 1 MB coletando dados a cada 5 segundos conforme configuramos no arquivo SQLDIAG_custom.xml

 Certo, digamos que o Performance Monitor está coletando dados que para nós não são interessantes, vamos supor que queremos apenas saber informações sobre a utilização dos processadores. Sem problemas, parem o SQLdiag, abram novamente o arquivo SQLDIAG_custom.xml, mantenham apenas o contador Processor(*) e apaguem todos demais tomando cuidado para manter as linhas que destaquei em vermelho:
 
<PerfmonCollector enabled="true" pollinginterval="5" maxfilesize="1">
<PerfmonCounters>
<PerfmonObject name="\Processor(*)" enabled="true">
<PerfmonCounter name="\*" enabled="true" />
<PerfmonCounter name="\% Processor Time" enabled="true" />
<PerfmonCounter name="\% User Time" enabled="true" />
<PerfmonCounter name="\% Privileged Time" enabled="true" />
<PerfmonCounter name="\Interrupts/sec" enabled="true" />
<PerfmonCounter name="\% DPC Time" enabled="true" />
<PerfmonCounter name="\% Interrupt Time" enabled="true" />
<PerfmonCounter name="\DPCs Queued/sec" enabled="true" />
<PerfmonCounter name="\DPC Rate" enabled="true" />
<PerfmonCounter name="\% Idle Time" enabled="true" />
<PerfmonCounter name="\% C1 Time" enabled="true" />
<PerfmonCounter name="\% C2 Time" enabled="true" />
<PerfmonCounter name="\% C3 Time" enabled="true" />
<PerfmonCounter name="\C1 Transitions/sec" enabled="true" />
<PerfmonCounter name="\C2 Transitions/sec" enabled="true" />
<PerfmonCounter name="\C3 Transitions/sec" enabled="true" />
</PerfmonObject>
</PerfmonCounters>
</PerfmonCollector>
</MachineCollectors>

 Salvem as alterações e rodem novamente o SQLdiag apontando para o arquivo XML: sqldiag /I SQLDiag_custom.xml.

 Deixem o SQLdiag rodar por alguns minutos depois pare o utilitário. Peguem um dos arquivos BLG’s gerados e abram ele no Performance Monitor, seguindo os passos abaixo:

1. Cliquem em Start / Run, digitem Perfmon e pressionem Enter.
2. Com o Perfmon aberto, cliquem na parte em branco com o botão direito do mouse e selecione Properties:


3. Na aba Source, selecionem Log Files:, depois cliquem em Add.


4. Selecionem o arquivo BLG e cliquem em Open.


5. Agora cliquem em OK.


6. Novamente cliquem com o direito na parte em branco e depois selecionem Add Counters.


7. Reparem que o BLG contém apenas contadores referentes à utilização dos processadores!

 
 Notem que agora já conseguimos rodar nosso SQLdiag coletando dados do Performance Monitor, usando apenas os contadores que julgarmos úteis. 

 É isso pessoal! Espero que estejam gostando da série até aqui, no próximo post irei continuar falando sobre como configurar o SQLdiag para coletar outros dados! Não percam! Um abraço!

Nenhum comentário:

Postar um comentário