A performance monitoring solution for your large enterprise doesn't have to be expensive; in fact, thanks to this open source tool, it's possible to implement one for free.
- By Jeffery Hicks
Mr. Roboto is always on the lookout for tools and solutions to make your life as a Windows system administrator easier. If the solution is inexpensive, great; if it offers terrific value, so much the better. Given these criteria, I think you'll like what I have for you this month.
Larger organizations, or at least those with adequate budgets, typically have full-blown system-monitoring solutions that come complete with digital dashboards. With just a glance, these dashboards can tell you what servers are running, how well they're running and, most importantly, what may not be running so well. If you have some experience with Performance Monitor, you may have been able to cobble something together, but it's likely limited. Save yourself the effort and download the open source project PolyMonRT from CodePlex.com. It's a small install that packs a lot of power. You can install it on your desktop or any system that you want to serve as your monitoring platform. As always, I encourage you to test it out on your own computer or in a lab setting before fully deploying it in a production environment.
When you first start the program, you will need to create a dashboard. Click the computer monitor icon to create a new monitoring chart. The default is a graph, referred to as a trace chart. Click the gear icon in the chart's corner to edit its properties. Define a name for the monitor and how often you want it to update. The default update interval is 500 milliseconds, which I think is rather short. Set a value that's long enough so you don't put an undue load on the server, but short enough to provide meaningful data. Now, what to measure?
Click the monitoring tab -- in my opinion, this is the product's best feature. Then select the drop-down list, and you'll see options such as PerfMon, Ping and, my favorite,
PowerShell. Start off easy with PerfMon. Enter in the host name for the computer you want to monitor. Select a performance category, counter and instance. PolyMonRT will display help information that explains the counters. Click OK when you're finished configuring the monitor.
Choose Your Display
Some things you monitor may make more sense displayed as something other than a chart. PolyMonRt can display information as horizontal or vertical gauges or dials, or as a cylinder gauge, which is great for showing data such as disk utilization. Select style from the options menu to change the format. You may need to adjust properties, as well, to suit the new style.
To start the monitor, click the icon in the monitor's upper left corner. Repeat this process for as many monitors as necessary. You can resize them and drag them around the dashboard. In the lower right corner, you should see your log-on credentials. Click to change the credential you want the dashboard to use. Save your dashboard, and create as many different dashboards as you'd like. You can have multiple dashboards running simultaneously.
Naturally I like that PolyMonRT supports PowerShell as a provider. You can take any PowerShell code that returns a numeric value -- technically a double -- and assign it to $PolymonRT.counter:
childitem $env:temp -rec | meas-
ure-object -sum length).sum/1mb
This counter will return the total size of all files in %TEMP% formatted in megabytes. There's no PerfMon counter that will return this value, but it's very easy using PowerShell. PowerShell must be installed, but it doesn't have to be running.
Report on the Past
The people behind PolyMonRT also have a solution if you require historical data collection and trending. This requires a back-end database like some SQL flavors, but offers many more options. For shops that require historical analysis and forecasting, this open source solution is worth checking out. But if all you need is real-time performance monitoring that's easy to configure and deploy, then you should be downloading PolyMonRT now.
Jeffery Hicks is a multi-year Microsoft MVP in Windows PowerShell, Microsoft Certified Professional and an IT veteran with almost 25 years of experience, much of it spent as an IT infrastructure consultant specializing in Microsoft server technologies with an emphasis in automation and efficiency. He works today as an independent author, trainer and consultant. Jeff is a regular contributor to a variety on online sites, as well as frequent speaker at technology conferences and user groups. Keep up with Jeff and his projects at http://jdhitsolutions.com/blog.