I’ve been with my current company for 10+ years (at the time of writing.) It’s been a roller-coaster ride with ownership changing hands several times. But I’ve managed to hang on and I’m still riding even after the most recent change in drivers. Unfortunately, many have fallen out over the years and that leaves me to do two jobs: Web programmer and IT Administrator. Finding time to do both jobs well can be a problem to say the least.
Nagios is for IT Teams only
The last network cut-over I did was back in November of 2009 (and lasted through December.) After getting all of our services set up, I did some research and decided to give nagios a spin. What I found is that it’s very time consuming to install and configure. Furthermore, I ran out of time and had to leave much of the network monitoring incomplete. I just didn’t have the time to configure each machine with all those wonderful plugins, etc.
Desperation is the Mother of Necessity
Last week, a relatively significant Website that a partner company hosts in our network went down (well, it’s their network also, but I’m kinda the head overseer since they too are very small now. This is an odd relationship really.) After dusting off my ruby-on-rails deployment skills to attempt to find out why rails had fails (bad pun!) I found that a postgres database had stopped responding because its server’s /var partition had filled up. Had I had the time to totally incorporate nagios, I would have gotten a timely email or SMS stating that a partition was nearly full. It’s been several months since i dabbled with nagios, but it seems like configurations like this took some time to get up and running. So, this time, I went searching for a new IT monitoring solution. As luck would have it, I was recently listening to a podcast on the TWiT networked called FLOSS Weekly. As a guest, they had the community manager for zenoss on that episode. He mentioned that zenoss is easy to configure, so I took a look. I also took a look at others (opennms, zabbix to name a few.) In the end, there were two things I liked about the prospect of zenoss that swayed me in that direction:
- Python/Zope (in case I ever needed to look at the source. I know python to an extent.)
- No client software to install just native snmp.
The latter one was the clincher. Remember that I said time was not a luxury I had? So far zenoss has performed this role amazingly well.
Zenoss to the Rescue
Zenoss has a pretty recent vmware player appliance that includes a linux OS with zenoss installed and configured. I just happened to have a vmware ESXi server. I did a little research, and all you need to do to convert from vmware player to vmware ESX(i) is to use a single command (this requires turning on ssh on your ESXi box in case you have the free version like us. Otherwise there’s vCli or something else with a name I can’t recall ):
vmkfstools -i zenoss_player_file.vmdk zenoss_new.vmdk
Make sure you change the filenames accordingly. After that, I created a virtual server (Redhat 32bit.) I gave it 1 GB of RAM and a couple of processors. Be sure to select the option to use an existing disk from the datastore (I got mine in there in the first place using wget via SSH console in case you wondered.)
Finally, I booted the new server and changed the defaults. I now had a fully-functioning zenoss core server with minimal effort on my part.
SNMP Client Configurations
This part was easy to implement but I struggled to find the best way to go about it. Ultimately, I ended up using the config file from a screencast tutorial. This screencast from Castix was a big help. I made a slight change to “lock down” SNMP a bit better so just my zenoss server can access SNMP data:
## sec.name source community
com2sec notConfigUser 10.77.1.29 public
com2sec notConfigUser localhost public
…where 10.77.1.29 is the IP for my zenoss server.
On my Debian boxes I had to make a slight change to the /etc/defaults/snmp file to allow SNMP services to be exposed to remote hosts (see the screencast link above.) For my CentOS boxen, I noticed that I all had to do was replace the snmpd.conf file.
I did a simple Device Add and everything useful to know about the box is automatically gathered and displayed. From there you just setup your alert rules and you now have IT monitoring. Easy by comparison!
I’m still learning a thing or two in my spare time but so far, zenoss is just great! For now, I’m a new zenoss convert.
0