For years we have been using Zenoss to monitor our managed systems with great success. One of its key features is the ability to use SSH to monitor remote servers. SSH by its very nature has been subject to far more scrutiny over it’s life then protocols like WMI and SNMP, it is by its very nature meant to be exposed to the internet. By tunneling our monitoring over SSH we are able to leverage that security for our customers and our own peace of mind.
Getting SSH tunneling working in Zenoss has always been a bit more work then it needed to be. Here is how we accomplish it, these instructions are valid as of version Zenoss 2.5, we’re monitoring an Ubuntu server in this example.
Assume: Ubuntu 9.04, Zenoss 2.5 installed via deb package.
- First you are going to need to install the required zenpacks to monitor your Ubuntu server completely. The Ubuntu ZenPack needs you to create the container /Devices/Servers/SSH/Linux/Ubuntu before you install it.
- You need the Linux Monitor, Linux Monior Add-on and Ubuntu Zen Packs.
- Install them in the order I’ve listed them previously by going to Settings > Zenpacks > Click the menu Arrow on the left and select “Install ZenPack…”.
- It’s counter intuitive but you have unzip the file before you upload it or else the install will fail , giving you a head scratching error. Zenoss could do more to either auto unzip the ZenPack for you, or at least make the message somewhat informative as to why it’s failing.
- Once you’ve installed all ZenPacks you can begin to add the device you would like to monitor. Click “Add Device” and fine the “Easy Add..” in the top right corner.
- After adding the hostname select “Linux Server (SSH)” and type in your ssh login details.
- Find the Device in the Device list and move it into the /Devices/Servers/SSH/Linux/Ubuntu class.
- Navigate to the device and select “Manage” > “Model Device”, this will allow you to collect rudimentary information.
- Return to Zenoss and Model the device again, twice. The first pass will identify the Linux distribution, the second will gather specific information for that distribution.
That’s it, in less then 10 steps. Rinse and repeat as required.
Updated: to remove steps involving installation of python monitoring scripts as per Matt’s comments below.
Steps 6-9 shouldn’t be needed. With Zenoss 2.4, we introduced the new SSH monitoring framework used by the Linux Monitor (and other ZenPacks) so they wouldn’t require anything install anything on the box. The commands used by the ZenPacks you listed should probably exist already on my Ubuntu boxes (df, ifconfig, cat, etc.).
Thanks for the write up!
Matt Ray
Zenoss Community Manager