Kiln » KilnSupportScripts Powershell Scripts to help monitor a Kiln environment. Contact Fog Creek support before using.
Clone URL:  
checkBackend.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
function Get-URL([string] $url){ (New-Object net.webclient).DownloadString($url) } $g_backendUrl = "http://localhost:56783/" function Test-KilnVersion(){ try { $resp = Get-Url(($g_backendUrl + "version")) return ($resp.length -gt 0) } catch { return $False } } function Test-KilnDiff([string] $sRepoGUID, [string] $sChangeset1, [string] $sChangeset2){ try { $url =$g_backendUrl + "repo/" + $sRepoGUID + "/diff/" + $sChangeset1 + ":" + $sChangeset2 + "?format=json&ignorews=True&maxsize=100000&timeout=10" $resp = Get-Url($url) return ($resp.length -gt 0) } catch { return $False } } function Log-ServiceStats([string] $service, [string] $logFile){ try { $measure = get-process $service -ErrorAction Stop | Measure-Object WorkingSet -sum write "$(Get-Date -format o) The service $service has $($measure.Count) instances with a total WorkingSet of: $($measure.Sum)" | out-file -append $logFile } catch { write "$(Get-Date -format o) The service $service is not currently running." | out-file -append $logFile } } function Check-KilnBackend([string] $sRepoGUID, [string] $sChangeset1, [string] $sChangeset2, [string] $logFile = ""){ if (-Not ((Test-KilnVersion) -and (Test-KilnDiff $sRepoGUID $sChangeset1 $sChangeset2))){ #Restart the Kiln storage Service because something bad happened write "$(Get-Date -format o) Something is wrong. Restarting Kiln Storage Service" | foreach{if ($logFile -ne "") {out-file -append $logFile} else {out-default}} Restart-Service "KilnStorageService" return $False } else { write "$(Get-Date -format o) Kiln backend is OK" | foreach{if ($logFile -ne "") {$_ | out-file -append $logFile} else {$_ | out-default}} return $True } }