System Info Reporter

As part of supporting a software system which is in production, the support people usually keep track of a lot of information about the production servers. This information may have to do with hardware (how much physical memory is installed, what is the capacity of hard drives) or with software (what version of .Net is installed, how much have the tables of the production database grown, what are the versions of the .Net assemblies deployed). With the complexity of even small scale solutions growing every day, system information can become important for the support personnel. Unfortunately in the majority of cases no particular methodology is used to extract and keep track of such vital information.

 

System Info Reporter (SIR) is a tool which can be used to provide such information. Implemented as a .Net console executable, SIR tries to provide a small footprint and is meant for scheduled or manual execution. Once run, SIR scans the server it runs on (or other servers) and collects information. That information is written out to system information reports which can be sent to support or monitoring personnel on a regular basis, creating a trail that shows the current state of the server.

 

The architecture of SIR is highly modular to allow for easy extensions and customizations. The core of SIR is comprised of a simple console client that loads two types of plugins: writers and collectors. Writers are .Net libraries that create the system info report step by step. Collectors are .Net libraries that implement a data gathering method suitable for a particular situation.

 

Provided functionality

The current version of SIR offers the following build-in plugins:

If a writer creates file-based output, SIR can compress the file contents in a zip file. This is achieved by using SharpZipLib.

Who would use SIR?

System administrators and support personnel tasked with monitoring and supporting a system.

 

Limitations

Considering the fact that SIR can gather information from a lot of sources in a batch-mode manner and generate a report, it is a good tool to use for that job. However, SIR is in no way a substitute for more tight monitoring of a server and that's the main reason why there is no Performance Counter collector. If perfmon seems more like the tool to use for a monitoring job, then it's certain that SIR is not a good alternative.

 

On the presentation level SIR writers are data-agnostic, meaning that they have no knowledge about what the information they output to a report represents. Although that is a good way to promote abstraction of writers, it also imposes a limitation and is the reason why nifty-looking reports cannot be created by SIR.