Network Monitoring with Zenoss

Recently I configured Zenoss for a client to allow them to be more proactive and receive email notifications when a service or server goes down on their network.  When you are frequently upgrading or modifying applications there are bound to be issues that crop up and cause failures.  It is best to be aware of these and correct them before your users notice.

To get started you can download a Virtual appliance with Zenoss already installed.  Once it is up and running, you will want to install a few ZenPacks that are relevant to your environment.  These are basically just extensions to the product that can give you more specific collection and reporting tools.  The next step is ensure there is an SNMP agent running on the machines you plan to monitor.  SNMP is a common network monitoring protocol and an basic agent comes with Windows.

Once you have the basic ZenPacks and SNMP running you can have Zenoss discover all your servers and network devices, or you can add individual servers as needed.

Zenoss will model each device, determine what software, services, ports, disk drives are on the device and assign default thresholds and alerts to each.  For example if a disk drive is more than 90% of capacity it will create an event message.  These messages will start displaying in nicely color-coded dashboards for now.  The next logical step is to setup email notifications by defining alert rules per user or group.  Alert rules allow you to filter the event messages and only receive the ones that are important to you such as only Production systems that throw Error messages.

If you are in need of a monitoring solution, I highly recommend you give Zenoss a try.  It really is quite easy to setup and has a vibrant community behind it with a lot more advanced capabilities than I have discussed here.  Also take a look at a ramp up video put together by JumpBox for Zenoss at http://vimeo.com/6408567.

Remote Desktop Manager

If you find yourself managing a number of Windows servers take a look at Royal TS 1.5.1

Royal TS allows you to organize your connections to multiple servers over RDP.  There are other programs that do this, but this one allows you to easily categorize, sort and search the list.  It saves all of your settings in a XML, which you can easily share with other co-workers as they join the project.

RoyalTS

The latest version is shareware, however I use the freeware 1.5.1 version and it works great!

Maintenance and Support (Enterprise vs Open Source)

One the common concerns in using open source software at some companies is having formal maintenance and support contracts.  The crazy thing is that most enterprise software products come with really bad maintenance and support at high prices.

Take for example Premier support offered by most enterprise software vendors that include claims of 4 hour response times and the like.  If your goal is having someone on the phone, then sure this works ok.  However if you actually want your problem solved, then get ready for a surprise.  Most of the time you are going to have to pull some pretty intense efforts to prove the issue is the vendors problem.  In most of these situations you end up doing all of the leg work which often includes writing the fix or workaround.  In many cases, the vendor boils down to becoming a place for you to file bugs along with their solutions so that you dont have to deal with in the next release.

Upgrades.  Oh don’t get me started.  Enterprise software vendors never sell licenses on how easy it is to install or upgrade their software.  In fact, sometimes I wonder if they don’t intentionally make this process difficult in order to require customers to buy more hours from consulting services.

Lastly, the enterprise product knowledge bases often require you to use the vendors website using customer logins.  This limits who has access and makes searching and contributing to this content difficult if not impossible.

Open Source on the other hand has to have great maintenance and support processes in order to gain any traction and acquire a user base.  Wordpress is a great example.  The installation and upgrade process is as simple as it gets.  Searching for any problems or issues is as simple as searching the web.

Like many things in the world, the logical choice is not the first choice due to tradition and fear.  Just keep in mind times are changing, walls are falling, and open source will set you free.

Kiva now allows loans to people in the US

Kiva.org allows you to make micro-loans to people in need. This is a great example of how the social web can organize groups seeking a common goal. It is pretty awesome when you can easily make a small loan of $25 with a group of random people to help someone start or expand their business. If you haven’t tried it yet I encourage you to check it out. When I started using the site I wondered why something like this was not available to people in the US. Well now it is possible through Kiva. This service is a win-win for all involved and I see this service growing dramatically over the next two years.

Windows services crash after restoring from Standby mode

Recently Windows Update applied SP3 to XP on my Dell Latitude D630. I was pretty sure I already installed SP3, but I applied it anyway, what could it hurt right?

Well…every time I restored from Standby mode, my network services, firewall, sound and a number of other services stopped working. Most notably was the sound, and after further investigation I noticed the rest. Odd flickering of the windows theme also cued that something was out of whack. I first thought it might be related to a virus or Conficker, however after triple checking and re-scanning everything nothing came up.

Looking further, windows has all of these services running under the same svchost.exe process. Therefore when one of these crashes, it takes down all of them. Below is a list of the services Windows runs as a shared process on my machine:
AudioSrv,BITS,Browser,CryptSvc,Dhcp,ERSvc,
EventSystem,helpsvc,lanmanserver,lanmanworkstation,Netman,Nla,RasMan,
Schedule,seclogon,SENS,SharedAccess,ShellHWDetection,TapiSrv,Themes,
TrkWks,w32time,winmgmt,wuauserv,WZCSVC

Turns out you can modify these services to run their own process, which would allow me to determine which service is causing the problem. From the command prompt:
sc.exe config ServiceName type= own
You need the space between the “=” and “own”. This command will cause the service to always launch in its own svchost. To revert the service back to its original state, run the following command from the command prompt:
sc.exe config ServiceName type= share

After setting this and restarting the services I went into Standby to reproduce the issue. This time nothing crashed except for the Wireless Zero Configuration service. Now that I have narrowed it down, I did some more searching and found http://support.microsoft.com/kb/951447 which says to disable the the power management features on the Wireless Network Connection. Makes sense, so I give it a try. Go into Standby, startup and then immediate blue screen of death.

Taking a look at the wireless drivers reveals they are pretty old, so a quick search for the Intel 3945ABG wireless driver reveals some recently released driver updates. With these updated drivers I don’t get a blue screen, however I still have the issue of the Wireless Zero Configuration service crashing.  Luckily this service isn’t necessary as Intel provides Wireless connection software.  Also the service can be started once it fails if needed.  However it is a bit annoying.  Even though I didn’t completely resolve this issue, I do think the troubleshooting steps that were taken would be useful in other similar situations.

Downloading Enterprise Software

Why is finding the correct software installer or documentation so difficult?  If you are a enterprise software vendor (particularly IBM, EMC, Oracle) and want to increase customer satisfaction, please fix this!  Granted these companies are in this situation because they have acquired a number of other companies.  However this problem is simple to fix and would save many from wasting time finding installers or writing documentation on how to reach the documentation.  My personal recommendations below:

- Product Name  (Pick one name and stick with it across the board)

- Product Category (I usual find these to be very unhelpful and arbitrary.  Most times, I would rather see a long list of products or product suites.  If I have to click through three or more categories just to see a list of downloads then you are doing it wrong.  I can scan through 100s of product names in a single list, much quicker than I can click through each category.  Most of the times the categories are wrong anyhow.)

- Product Version (I only want to see the most recent version, but leave a link to access previous versions right next to it)

- Product Platform / Type (If your going to list this, then be consistent and accurate.)

- Product Documentation (This is best included in the installation download and available completely separately in an HTML online version.  However don’t list the installer and the documentation as separate zips in the same list, this just clutters the whole thing.

Windows Azure presentation

Yesterday I went to the Mid-Atlantic Cloud Computing user group in Reston, VA.  It’s a newly formed group that plans to meet once a month.  The topic of the evening was Windows Azure, in which Scott Zimmerman from Microsoft gave a great overview of their online suite of products with a focus on the Compute and Storage capabilities of Windows Azure.  I wont go into the topic right now as the presentation is available, but below are a few interesting notes:

  • $500 million dollars invested for each data center
  • Half of all Exchange/SharePoint/Dynamic CRM revenue is expected to come from online service in the next 5 years
  • Everything is replicated at least 3 times
  • Currently runs .NET and C++.  Java/Ruby other languages coming soon
  • Visual Studio works with all of the services but is not required, everything is exposed through REST and SOAP
  • BizTalk Server 2009 can be used to help manage connections to the cloud
  • Declarative Fabric controller handles the deployment and configuration automatically
  • Community Tech Preview is currently free.  Service will be live by the end of 2009 with pricing plans

Other Cloud Computing links of interest:

http://www.cloudcamp.com/
http://cloudcomputingexpo.com/
http://videos.visitmix.com/mix09 has videos on all of the sessions including some on the Microsoft Azure platform.

Gmail Signature Plugin to display Recent Blog Entries

My current email signature at the bottom of my emails has a link to this blog.  However what I would really like is a link to my blog followed by the title of two or three of my most recent posts.  I could certainly do this manually, however it would be nice and quicker if Gmail could do this automatically.  I though about it and there are at least a few ways I can get this done:

  • Make a suggestion to the Gmail Labs program (http://groups.google.com/group/gmail-labs-suggest-a-labs-feature/browse_thread/thread/925279280fcdfa2f#)
  • Search Google (Find out about the Feedburner Headline Animator which makes an animated image like below)
  • Make a GreaseMonkey script (would only work when using Firefox with GreaseMonkey enabled)
  • Make a bookmarklet that does this or at least copies the signature to my clipboard for quick pasting into my email

One of the great things about the web is that if you want something you can usually just do it or find someone who has already.

Example of the Feedburner Headline Animator.  I would prefer plain text for my emails.  Lazyweb if you know of a good way to do this let me know.

Tech Opener

Table Sorting with JQuery

A very common request for HTML tables is making them sortable.  The requirement came up the other day and I used JQuery and the JQuery Plugin tablesorter.  JQuery is a excellent lightweight javascript library that is useful for all things javascript.  It also allows its large developer community to develop plugins such as the tablesorter plugin.  To use this in your web application, insert the lines below and you are all set.  It does not get much easier than that, plus it is really fast, has customization options, and just plain works.

<script type="text/javascript" src="/path/to/jquery-latest.js"></script>
<script type="text/javascript" src="/path/to/jquery.tablesorter.js"></script>
$(document).ready(function()
    {
        $("#myTable").tablesorter();
    }
);

One requirement is that the HTML table must use the THEAD and TBODY tags.  A .NET GridView does not include these tags by default, but they can be added easily enough with the following:

if (this.gridView.Rows.Count > 0)
{
gridView.UseAccessibleHeader = true;
gridView.HeaderRow.TableSection = TableRowSection.TableHeader;
}

Stackoverflow will answer all your programming questions

stackoverflow

Lately I have been doing more .NET development and ultimately at some point you get stuck, forget how to do something, or wonder what the best practices for something is.  You immediately run a few google searches and get back some articles on a bunch of weird answer sites.  Recently a new site for asking questions started with a really good and unique design.  If you have not ran across it already, I highly recommend taking a look.  StackOverflow.com is a mix between wikis, blogs, forums, and digg for programming questions and answers.  Even though it is fairly new, it already has a great community and lots of content.  Many languages and topics are covered even though the community, founders, and the site itself are primarily .NET based.

They also run a great blog and podcast where they talk about the site and how they developed it.  They are off to a great start, and they are looking to start a similar site oriented towards IT Centric version soon.  These guys get it.

Creative Commons License
This blog is licensed under a Creative Commons Attribution 3.0 United States License.