Changeset b458cec4be8a…
Parent 3e0c87630b6a…
by Ben McCormack <benm@fogcreek.com>
Changes to one file · Browse files at b458cec4be8a Showing diff from parent 3e0c87630b6a Diff from another changeset...
|
@@ -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 |
Loading...