Files
powershell/Dennis_Scripts/RK/AnalyzeApiAppLogPerformance.ps1
2023-03-09 09:06:25 +01:00

49 lines
1.7 KiB
PowerShell

$servers = 'REJK-P-API001','REJK-P-API002','REJK-P-APP001','REJK-P-APP002','REJK-P-APP003','REJK-P-APP004'
$header = 'date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken' -split ' '
#$stats = @{}
foreach($server in $servers) {
Write-Verbose -Verbose "Server: $server"
#$stats[$server] = @{}
foreach($item in (Get-Item "\\$server\d-drive\logfiles\w3svc*\u_ex*.log")) {
Write-Verbose -Verbose ". FileName: $($item.Name)"
#$stats[$server][$item.Name] = New-Object 'System.Collections.Generic.List[object]'
$fs = [System.IO.File]::OpenRead($item.FullName)
$sr = New-Object System.IO.StreamReader $fs
$csv = while(-not $sr.EndOfStream) {
$line = $sr.ReadLine()
if($line.StartsWith('#')) { continue }
$csv = $line | ConvertFrom-Csv -Delimiter " " -Header $header
$output = [pscustomobject]@{
DateTime = "{0} {1}" -f $csv.date, $csv.time
TimeTaken = $csv.'time-taken'
Service = $csv.'cs-uri-stem'
Method = $csv.'cs-method'
Status = $csv.'sc-status'
}
#$stats[$server][$item.Name].Add($output) | Out-Null
Write-Output $output
}
$csv | ConvertTo-Csv -Delimiter ';' -NoTypeInformation | Add-Content -Path $env:temp\csv.csv
#Write-Verbose -Verbose ".. Found $($stats[$server][$item.Name].Count) lines"
$sr.Close()
$fs.Close()
}
}