Kiln » KilnSupportScripts Powershell Scripts to help monitor a Kiln environment. Contact Fog Creek support before using. Read More
Clone URL:  
Pushed to one repository · View In Graph Contained in tip

add readMe.txt

Changeset b458cec4be8a

Parent 3e0c87630b6a

by Profile picture of User 476Ben McCormack <benm@fogcreek.com>

Changes to one file · Browse files at b458cec4be8a Showing diff from parent 3e0c87630b6a Diff from another changeset...

Change 1 of 1 Show Entire File readMe.txt Stacked
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
@@ -0,0 +1,73 @@
+This repository contains a series of Powershell scripts that can be used +to check up on Kiln, log environment data, restart the backend if necessary, +and even send email for alerts. + +Powershell Note: If you have issues with the scripts aren't running, you +may need to update your execution policy. See the Set-ExecutionPolicy +command if you run into that. + +The following files are included: + + - checkBackend.ps1 Contains the Powershell functions to check Kiln + - test-checkBackend.ps1 Use this file to test functions + - run-checkBackend.example.ps1 This is an example script that uses the functions + in checkBackend.ps1. + - tools.ps1 Helpers for parsing the log file + + +Here's a more detailed explanation for some of the files + +checkBackend.ps1 + +This is the main file that contains the methods used by the other scripts. Nothing is actually executed when you simply run the file using . .\checkBackend.ps1 , but instead, the functions are loaded into memory. + +test-checkBackend.ps1 + +You can use this file to make sure your variables are set up correctly. You'll need to update the first line to correctly point to the checkBackend.ps1. Test-KilnVersion requires no parameters, so there's nothing we need to do here. However, Test-KilnDiff requires actual repository information, so we're likely going to want to go to the database to get this data. (You could use an existing /repo/{GUID}/diff/... URL that you've seen earlier, but this might be for a very large diff, and if possible, we'd like to use a much smaller diff). + +$sRepoGUID, $sChangeset1, and $sChangeset2 + +What we're looking for is a relatively small diff (a few lines) in a repository that we don't expect to be deleted. This will help us ensure that our Test-KilnDiff method runs reliably without consuming too many resources. + +You can use the Kiln UI to find a changeset with a diff that appears relatively small. Once you find a changeset, view it in the Kiln UI, and not the partial changesetID in the URL, e.g. .../History/f181ad063566. Once you've noted the changesetID, run the following query in the Kiln database, updating the Where clause accordingly: + + + +Select Repo.sName, Repo.UUid, Changeset.sID, Changeset.sParentID1 +From Changeset +Inner Join ChangesetPush On Changeset.ixChangeset = ChangesetPush.ixChangeset +Inner Join Repo On ChangesetPush.ixRepo = Repo.ixRepo +Where Left(sID,12) = 'f181ad063566' + +This is going to give you the UUid, sID, and sParentID1, which you'll map to $sRepoGUID, $sChangeset1, and $sChangeset2, accordingly. + +Testing values + +You can go ahead and update $logFile as well. It's not used, in the test, but if you copy variables over to run-checkBackend.ps1, they might as well be the same. I don't believe the file needs to exist yet, but the directory probably needs to exist. + +Once all the values have been updated, navigate to the directory from the powershell command line and run: + +. .\test-checkBackend.ps1 + +You should see: + +True +True + +The first True indicates that it was able to ping the backend for version. The second True indicates that it was successfully able to run the Diff. If you get a false back for both, then either the backend is completely down or something is wrong with our script. + +If you get a False back for the second value, it's likely an issue with the repo and changeset variables that you have. + +Once you get two Trues, move to the next step. + +run-checkBackend.ps1 + +This file is going to use the same variables as test-checkBackend.ps1, so go ahead and copy over the first 5 lines from test- and replace the first 5 lines in run-. + +Instead of simply testing the services, this will actively log and will indeed restart the storage service in Check-KilnBackend if either of the Test- methods fail. That's why it's important to make sure your variables work in Test before running this script. + +Once you've tested your variables in test- and have copied them over to run-, you can test this script by navigating to the directory in powershell and running: + +. .\run-checkBackend.ps1 + +Once that executes, you should see that your log file has updated. If so, proceed to the next step. \ No newline at end of file