Monitoring Windows MPIO through Nagios

Sometimes, we need to do SAN maintenance — firmware upgrades, disruptive fabric changes, and the like. When these situations come up, it’s useful to know if anything is in a condition where it will break if it loses its connection to SAN storage, especially if you’re a lowly storage administrator without admin access to any of the Windows systems connected up to the SAN. I poked around, and could not find one single utility or tool for monitoring the Windows MPIO framework, so I whipped up a quick script using VBScript and WMI. The script is called like so: cscript.exe … Continue Reading →


Just use someone else’s coding convention already

If there’s one thing that’s bugged me throughout my entire coding career, it’s the fact that I can’t seem to stick to a single coding style for a given language. Scope decorators, braces, spacing around parentheses, Hungarian notation, variable and method naming conventions — there’s so many stupid and trivial things to think about, with so many exceptions and gotchas, that after a while it seems like you end up putting half as much time into figuring out how you’re going to write your program as you actually do designing and coding it. Months later, I’ll have an epiphany, and … Continue Reading →


Resilient infrastructures are only useful if they actually stay resilient

Ask yourself a question: for every piece of resiliency you supposedly have in your network, are you really positive that it’s not running in a degraded state? Really, really sure? Sometimes, it’s basic: are you being alerted when any disk array attached to any server suffers a disk failure? Very often, it’s not: for your SAN-attached systems, are you positive that the multipathing is green? If you’re connected to two storage processors or controllers, can the server see two paths to each of them? Are you getting alerted if you can’t? Are your port channels running over the number of … Continue Reading →


Charting performance data for IBM Midrange Storage Series SANs with PNP4Nagios

If you’ve used IBM SAN products, particularly the DS4000, DS5000 and DS6000 series (which are rebranded LSI), one of the most obnoxious things about it is how you’re pretty much forced to roll your own monitoring tools. Compared to many mainstream vendors (and Sun/Oracle in particular), IBM’s performance monitoring and modelling tools have been lackluster at best and completely unsupplied at worst. The best tool you’ve got is the SMcli, which doesn’t supply a ton of good information, but at least provides you with a starting point for capacity planning. I had originally wanted to make something like this for … Continue Reading →