Windows 2008 R2: Perfmon, vários conjuntos de coleta de dados, é possível

3

Estou tentando configurar algum monitoramento de desempenho em nossos servidores da web.

Pensei que faria sentido ter dois conjuntos de coleta de dados separados, um com contadores para o hardware e sistema operacional e outro para informações da Web (desempenho em .net, conexões por minuto, erros, etc.).

Eu configurei o cronograma para que ambos sejam executados ao mesmo tempo, mas um sempre fica claro depois de 5 segundos. É possível ter mais de um conjunto de coletores de dados em execução ao mesmo tempo?

    
por Snowburnt 21.03.2013 / 13:31

1 resposta

0

Bem, tive o mesmo problema em muitos registros de desempenho ao longo dos anos. Minha solução alternativa que funciona muito bem para mim é:

  • Configurar todos os contadores em apenas um trabalho
  • Verifique se as pastas de destino não estão protegidas pelo sistema
  • Use o relog -q uma vez para "extrair" todos os contadores
  • Use alguns scripts (eu uso o vbscrip) para "dividir" o arquivo grande em arquivos menores com os contadores que você realmente precisa.

Esta abordagem é muito melhor na minha opinião porque:

  1. você pode marcar "mais" contadores e filtrá-los depois da reunião, mas sempre tem a opção de obter os contadores "outros".
  2. o relog pode exportar para csv ou txt e analisá-lo para gráficos

Nos meus servidores, e depois do processamento, normalmente recebo cerca de 6-8 arquivos diferentes, csv e outros scripts os carregam nos gráficos DDBB para consultas periódicas.

Espero que ajude.

-------------- Informações adicionais ----------------

Isso é parte do script, não é o inglês, mas acho que você vai entender se você sabe um pouco sobre scripts (e eu tenho certeza que você faz)

Eu tenho uma pasta "script", uma pasta "métrica" e uma pasta "contador", basicamente, eu inicio o relog com parâmetros e contadores diferentes, mas a mesma "entrada" para obter tantos arquivos quanto o grupo de contadores quer extrair.

Se você exportá-los para binário (BLG), você pode abri-los com o console de desempenho (bom para depuração também).

' *** Constantes ***
' Algunas incluyen el espacio para que sea mas comodo su concatenacion
Const LanzaScript = "cscript "
Const ScriptConversion = "CambiaFormatoFechaYCaracterDecimal.vbs "
Const ArchivoMetrica = "DataCollector01.blg"
Const Para_Relog = "relog.exe "
Const Para_FormatoBin = " -f BIN "
Const Para_ExtBin = ".blg"
Const Para_FormatoCsv = " -f CSV "
Const Para_ExtCSV = ".csv"
Const Para_Contadores = " -cf "
Const Para_Salida = " -o "
Const Directorio_Salida = "D:\Metricas\"
Const Para_Confirmacion = " -y "

' Comprobaciones previas
CompruebaUso
CompruebaArgumentos

' Variables
Dim fso
Dim DirectorioMetricas
Dim DirectorioContadores
Dim Archivo

Dim objShell
Dim Estado
Dim Cmdz

' Objetos de ambito global
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Set DirectorioMetricas = fso.GetFolder (WScript.Arguments(0))
Set DirectorioContadores = fso.GetFolder (WScript.Arguments(1))

' Comprobamos o creamos el directorio de salida
If Not fso.FolderExists (Directorio_Salida & "\" & Right (WScript.Arguments(0),6)) Then
    fso.CreateFolder (Directorio_Salida & "\" & Right (WScript.Arguments(0),6))
End If

' Algoritmo
If WScript.Arguments.Count = 3 Then
    Set Archivo = fso.GetFile (WScript.Arguments(1) & "\" & WScript.Arguments(2))
    ProcesaMetrica (Archivo)
Else
    For Each Archivo In DirectorioContadores.Files
        ProcesaMetrica (Archivo)
    Next
End If
' Salida

' Funciones
Sub ProcesaMetrica (Archivo)
    Dim Cmdz
    Dim fso
    ' Extraemos contadores a formato binario
    Cmdz = Transforma (Archivo, "BIN")
    objShell.Run Cmdz,2,True
    ' Extraemos contadores a formato CSV
    Cmdz = Transforma (Archivo, "CSV")
    objShell.Run Cmdz,2,True
    ' Cambiamos orden de fecha y caracter decimal
    Cmdz = CambiaFormato (Archivo.Name)
    objShell.Run Cmdz,2,True
End Sub

Function Transforma (Contador, tipo)
' tipo puede ser "BIN" o "CSV"
    Dim Cmdz
    Select Case LCase(tipo)
        Case "bin"
            ' Extraemos contadores a formato binario
            Cmdz = Para_Relog & Chr(34) & DirectorioMetricas & "\" & ArchivoMetrica & Chr(34)
            Cmdz = Cmdz & Para_Contadores & Chr(34) & Contador & Chr(34) & Para_FormatoBin & Para_Salida
            Cmdz = Cmdz & Chr(34) & Directorio_Salida & Right(WScript.Arguments(0),6) & "\" & Archivo.Name & Para_ExtBin & Chr(34) & Para_Confirmacion
            WScript.Echo "*** Para BLG :" & Cmdz
        Case "csv"
            ' Extraemos contadores a formato CSV
            Cmdz = Para_Relog & Chr(34) & DirectorioMetricas & "\" & ArchivoMetrica & Chr(34)
            Cmdz = Cmdz & Para_Contadores & Chr(34) & Contador & Chr(34) & Para_FormatoCsv & Para_Salida
            Cmdz = Cmdz & Chr(34) & Directorio_Salida & Right(WScript.Arguments(0),6) & "\" & Archivo.Name & Para_ExtCSV & Chr(34) & Para_Confirmacion
            WScript.Echo "*** Para CSV :" & Cmdz
    End Select
    Transforma = Cmdz
End Function
    
por 21.03.2013 / 13:52