Silent Data Collection with ISA / ISA Lite
KelleyAnders 11000074JH Visits (6103)
Last week, we talked about planning ahead and being prepared for quick and simple automated data collection by having IBM Support Assistant Lite (ISA Lite) readily available on your systems. This week we're going to take the next step to further simplify the process by pre-recording response files so that you have them at the ready for easy data collection.
So what is a response file and how does it help us? A response file is a simple text file that contains answers to the questions asked during the execution of a collection. The concept is very similar to the silent install response files used by install applications or other utilities that allow a user to pass in a file to control the flow of an application. The point of a silent response capability is to remove the user interface, thereby automating the process of collecting data.
The way that many ISA Lite data collections gather configuration and log files is through an interactive conversation with you, the user, so that you can provide it with information that it may have difficulty determining, automatically. A particular script may need to know where a product is installed, user credentials, trace strings, etc. and it gathers this information by asking the user for this data through the user interface. If you can provide this information once and make it available to the ISA Lite utility so that it automatically reads the responses instead of asking for it, well -- that's a bonus and keeps you from having to sit at a terminal while executing the data collection. With a pre-recorded response file, all that you (or others on your team) have to do is execute one script and then let ISA do all of the work for you.
Let's get started. The first thing that you have to do is run through one interactive data collection session so that the response file can be generated. Start with the following command:
./runISALite.sh -record response_filename
On Windows, you would use "runISALite.bat" instead of "runISALite.sh". This command will start ISA Lite data collection and, as you run through the collection "conversation", your responses will be captured in the file that you specified as the response_filename argument. Once you've got a response file generated, you can easily replay the same data collection by running the command:
If you've run ISA Lite collections for your product(s) before, you'll know that many of them have several different data collections for different types of symptoms. To really prepare yourself for future problem determination, you should consider creating a response file for each of the different types of symptoms that you're likely to encounter (System Hang, General Collection, Database Connection Pooling problem, etc.). This will help ensure that you're ready for any type of problem that occurs.
Now, let's take a look at how to modify the response files. First, open up one of the response files with a text editor. Unfortunately, there's not much to look at with many of the files today, but that's changing. Product teams are gradually updating data collection to leverage an ability to record comments into the response files which will make them easier to read and, thus, easier to modify. If your response file doesn't yet have comments, you may have to re-run through the data collection interface to understand the file. The format is pretty simple. Each line of text in the file represents one response to a question in the collection. The response file entries are sequential and match the order in which questions were asked during the interactive session. To tailor the file, locate an entry line that maps to the question whose answer you wish to modify, then overwrite the response with your new answer. For example, say the data collection asked you for a hostname to which a file should be transferred. You've already recorded the response file and now you want to update the responses to send files to a different machine. Open the file, find the location where the original target server hostname was specified and then change it to be the new server name and save the file. Next time you run the collection, the modified response will be used. This approach of recording a response file once and then tailoring the answers with a text file makes it simple to re-use the responses across several different server machines without needing to re-run the interactive data collection on every machine.
When using response files, remember that sensitive information, such as user names and passwords, might be stored in these files, so it's important that you manage these files in a manner that prevents unauthorized access to sensitive information. You can store the response files into a directory where users wouldn't have read permission so that you can protect the data. Also, not all data collections are suitable for the silent collection option. Some data collections always require some interaction with the user. For example, you might be asked to reproduce the problem during the data collection so that the appropriate log and trace files are collected. In this case, silent collection is not capable of recording and reproduce this step since there's an indeterminable pause length while problem recreation occurs. Additionally, you can use the pre-repcorded response files with the generic System collector as well, that was mentioned in last week's article.
If you're really ready to take a next step in automating data collection, you could wrap your ISA Lite execution with response files in your own script which can be triggered by certain system or application events. We'll leave this as an exercise for the reader. While pre-recording data collection response files may initially be a little time-consuming, remember how Benjamin Franklin's saying goes -- "An ounce of prevention is worth a pound of cure".
Special Thanks to Jim McVea, ISA Architect, for providing this article.