![Windows 2008 R2:Perfmon,多个数据收集集,这是可能的](https://linux22.com/image/608466/Windows%202008%20R2%EF%BC%9APerfmon%EF%BC%8C%E5%A4%9A%E4%B8%AA%E6%95%B0%E6%8D%AE%E6%94%B6%E9%9B%86%E9%9B%86%EF%BC%8C%E8%BF%99%E6%98%AF%E5%8F%AF%E8%83%BD%E7%9A%84.png)
我正在尝试在我们的网络服务器上设置一些性能监控。
我认为拥有两个独立的数据收集集是有意义的,一个用于硬件和操作系统的计数器,另一个用于网络信息(.net 性能、每分钟连接数、错误等)。
我设置了时间表,让两个程序同时运行,但其中一个程序总是在 5 秒后停止运行。是否可以同时运行多个数据收集器?
答案1
好吧,多年来,我在许多性能日志中都遇到了同样的问题。对我来说最有效的解决方法是:
- 仅在一个作业中配置所有计数器
- 确保目标文件夹不受系统保护
- 使用 relog -q 一次“提取”所有计数器
- 使用一些脚本(我使用 vbscrip)将大文件“分割”为具有您真正需要的计数器的小文件。
我认为这种方法更好,因为:
- 您可以检查“更多”计数器并在收集后对其进行过滤,但您始终可以选择获取“其他”计数器。
- relog 可以导出到 csv 或 txt,并解析图表
在我的服务器中,经过处理后,我通常会得到大约 6-8 个不同的文件、csv 和其他脚本将它们加载到图表 DDBB 中以进行定期查询。
希望能帮助到你。
- - - - - - - 附加信息 - - - - - - - -
这是脚本的一部分,不是英文的,但我想如果你对脚本有一点了解的话你就会明白这一点(我相信你懂的)
我有一个“脚本”文件夹、一个“度量”文件夹和一个“计数器”文件夹,基本上,我使用不同的参数和计数器但相同的“输入”启动重新记录,因此我获得与我想要提取的计数器组一样多的文件。
如果将它们导出为二进制(BLG),您可以使用性能控制台打开它们(也适合调试)。
' *** 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