Conhecendo a ferramenta Logman

Olá pessoal,

Vocês sabiam que através da ferramenta logman nós podemos criar coletas de dados do Performance Monitor, mais conhecido como Perfmon?!

Com o logman nós podemos criar as coletas, iniciar e parar a coleta de dados e apagar a coleta criada. Como se trata de um comando de prompt, há diversos parâmetros que podem ser informados para se configurar o comando e gerar a coleta. A sintaxe completa do comando, extraída de um help do comando nós vemos abaixo:

Microsoft r Logman.exe (5.2.3790.3959)
c Microsoft Corporation. All rights reserved.

Logman manages the “Performance Logs and Alerts” service for creating and
managing Event Trace Session logs and Performance logs.

Usage:
logman VERB <collection_name> [options]

Verbs:
  create <counter|trace>        Create a new collection.
  start                         Start an existing collection and set the
                                begin time to manual.
  stop                          Stop an existing collection and set the end
                                time to manual.
  delete                        Delete an existing collection.
  query [collection_name|providers]  Query collection properties. If no
                                collection_name is given all collections are
                                listed. The keyword ‘providers’ will list
                                all of the registered Event Trace providers.
  update                        Update an existing collection properties.

Parameters:
  <collection_name>             Name of the collection.

Options:
  -?                            Displays context sensitive help.

  -s <computer>                 Perform the command on specified remote
                                system.

  -config <filename>            Settings file containing command options.

  -b <M/d/yyyy h:mm:ss[AM|PM]>  Begin the collection at specified time.

  -e <M/d/yyyy h:mm:ss[AM|PM]>  End the collection at specified time.

  -m <[start] [stop]>           Change to manual start or stop rather than a
                                scheduled begin or end time.

  -[-]r                         Repeat the collection daily at the specified
                                begin and end times.

  -o <path|dsn!log>             Path of the output log file or the DSN and
                                log set name in a SQL database.

  -f <bin|bincirc|csv|tsv|sql>  Specifies the log format for the collection.

  -[-]a                         Append to an existing log file.

  -[-]v [nnnnnn|mmddhhmm]       Attach file versioning information to the
                                end of the log name.

  -[-]rc <filename>             Run the command specified each time the log
                                is closed.

  -[-]max <value>               Maximum log file size in MB or number of
                                records for SQL logs.

  -[-]cnf [[[hh:]mm:]ss]        Create a new file when the specified time
                                has elapsed or when the max size is exceeded.

  -c <path [path …]>          Performance counters to collect.

  -cf <filename>                File listing performance counters to
                                collect, one per line.

  -si <[[hh:]mm:]ss>            Sample interval for performance counter
                                collections.

  -ln <logger_name>             Logger name for Event Trace Sessions.

  -[-]rt                        Run the Event Trace Session in real-time mode.

  -p <provider [flags [level]]> A single Event Trace provider to enable.

  -pf <filename>                File listing multiple Event Trace providers
                                to enable.

  -[-]ul                        Run the Event Trace Session in user mode.

  -bs <value>                   Event Trace Session buffer size in kb.

  -ft <[[hh:]mm:]ss>            Event Trace Session flush timer.

  -nb <min max>                 Number of Event Trace Session buffers.

  -fd                           Flushes all the active buffers of an
                                existing Event Trace Session to disk.

  -[-]u [user [password]]       User to Run As. Entering a * for the
                                password produces a prompt for the password.
                                The password is not displayed when you type
                                it at the password prompt.

  -rf <[[hh:]mm:]ss>            Run the collection for specified period of
                                time.

  -y                            Answer yes to all questions without prompting.

  -ets                          Send commands to Event Trace Sessions
                                directly without saving or scheduling.

  -mode <trace_mode [trace_mode …]>   Event Trace Session logger mode.

  -ct <perf|system|cycle>       Event Trace Session clock type.

Note:
  Where [-] is listed, an extra – negates the option.
  For example –r turns off the -r option.

Abaixo, vamos ver alguns exemplos simples de utilização deste comando.

Criando uma coleta de dados:

logman create counter MyDataCollector -s %computername% -cf “c:\counters_filtered.txt”

No exemplo acima, está sendo criada uma coleta chamada MyDataCollector, para o servidor local (parâmetro –s %computername% ) e utilizando um arquivo que contêm os contadores que desejo coletar. (parâmetro –cf “c:\counters_filtered.txt” ).

O arquivo com contadores nada mais é do que um arquivo texto com os contadores que vão ser coletados, um por linha. Abaixo, alguns contadores de exemplo:

\PhysicalDisk(*)\Avg. Disk sec/Read
\PhysicalDisk(*)\Avg. Disk sec/Write
\PhysicalDisk(*)\Current Disk Queue Length
\PhysicalDisk(*)\Disk Transfers/sec
\Processor(*)\% Privileged Time
\Processor(*)\% Processor Time
\Processor(*)\% User Time

Para iniciar a coleta, faremos desta forma:

logman MyDataCollector start

Se quisermos encerrar a coleta, basta substituir a palavra start por stop. Simples assim. =D

Caso queira apagar a coleta da máquina, faça:

logman delete MyDataCollector

Os exemplos são bem simples, admito. É só para ir se acostumando mesmo com a ferramenta! Winking smile

Com o logman você consegue controlar também o tempo de intervalo de cada coleta, intervalos de data para coleta, formato do arquivo de log, etc.

Mas se eu posso fazer isso tudo através do Performance Monitor, qual a vantagem de se utilizar o logman?

Resposta: imagine um cenário onde você quer automatizar a coleta de dados de diversos servidores, pretende armazenar estes dados dentro do SQL Server para uma análise mais detalhada, e para sua solução completa você vai utilizar jobs para disparar a criação e execução das coletas e para controlar o schedule das execuções. Hummm … está fazendo mais sentido agora?!

Este é um cenário que estou trabalhando aqui na empresa para o nosso cliente. Em breve, pretendo colocar mais informações sobre a rotina completa de coleta destes dados.

Boa coleta de dados a todos!

 

Abraços,

Erickson Ricci

Uma resposta para “Conhecendo a ferramenta Logman

  1. Pingback: Conhecendo a ferramenta Relog « Inside DBA's Life

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s