首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 2008 R2: Perfmon,多个数据收集集,这是可能的

Windows 2008 R2: Perfmon,多个数据收集集,这是可能的
EN

Server Fault用户
提问于 2013-03-21 12:31:40
回答 1查看 1.1K关注 0票数 3

我试图在我们的网络服务器上设置一些性能监控。

我认为有两个单独的数据收集集是有意义的,一个带有硬件和OS计数器,另一个用于web信息(.net性能、每分钟连接、错误等等)。

我设定了时间表,以便两者同时运行,但其中一个总是在5秒后退出。有可能同时运行多个数据收集器集吗?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-03-21 12:52:23

多年来,我在许多性能日志中都遇到了同样的问题。对我来说最有效的解决办法是:

  • 只在一个作业中配置所有计数器
  • 确保目标文件夹不受系统保护
  • 使用重日志-q一次“提取”所有计数器
  • 使用一些脚本(我使用vbscrip)将大文件与您真正需要的计数器“拆分”到较小的文件中。

在我看来,这种做法要好得多,因为:

  1. 您可以在收集之后检查“更多”计数器并对其进行筛选,但您始终可以选择获取“其他”计数器。
  2. 重新日志可以导出到csv或txt,并将其解析为图形。

在我的服务器中,在处理之后,我通常会得到大约6-8个不同的文件,csv和其他脚本将它们加载到DDBB中,以便定期查询。

希望能帮上忙。

这是脚本的一部分,不是英语,但我认为如果你对脚本懂一点(我相信你懂),你会明白的。

我有一个“脚本”文件夹,一个“度量”文件夹和一个“计数器”文件夹,基本上,我用不同的参数和计数器启动重日志,但是使用相同的“输入”,所以我得到的文件和我想要提取的计数器组一样多。

如果您将它们导出到二进制(BLG),您可以使用性能控制台打开它们(也有利于调试)。

代码语言:javascript
复制
' *** 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
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/490023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档