R: [hobbit] Hobbit newbie from BB: differences and what may I lose frommigrating?
Hi Jordan,
I am considering moving to Hobbit from BB for our web/database/applications development group at UCLA and have lots of questions. I would greatly appreciate if someone could go section by section and answer what they can. If there is somewhere that I can search the mailing list archives, definitely point me there first as I am sure many of these questions have been answered in the past.
I'm a big fan of hobbit so my comments can be a little toward hobbit monitoring but i really have to thanks bb4 technologies because I've to tank them for BB first. I started to use BB many years ago to monitor just a couple of network device and a couple of solaris machines. The process to put BB in production involved many years using it in a "personal" environment because we had some bigger monitoring software that was acquired...
While the time passed Henrik developed bbgen and the possibility to create better reports and pagesets (dedicated pages for network people or for DB people or for windows admins)... In the meantime Quest buyed BB and I finally presented the monitoring platform to my boss :D This leaded to the acquisition of server and client licenses for BB. We was using the "free" version of the server because we have that platform + bbgen installed and running. Some times passed and I got hobbit and started to play with it and after having it installed I changed the bb+bbgen server with hobbit.
First, after reading through whatever I could find on the website I am still a little bit confused about configuration and setup. With BB, you install and configure each client and server on the local machine, except for the universal bb-hosts. Is this the same on Hobbit, or does Hobbit use a central configuration file that is modified only on the server to configure clients? I am trying to figure out the difference between installing, maintaining and configuring BB and Hobbit setups. Hobbit looks alot more complex to setup, but once I get my feet wet is it any harder than BB?
You have a server installation that will work out-of-the-box with all your BB clients already installed. The configuration is completely centralized for the hobbit clients so no need to go to a client after you installed and configured hobbit. You only need to go to the client to add more external scripts that run client side or to upgrade hobbit (with version 4.2 you'll not need to go to the client because you can create a package on the server and the client will update itself). With BB client if you need to change a warning/alert level you have to do it client side. With Hobbit you'll do it on the server. Regarding the old client I'm running it on some old solaris 2.6 machine (bb client v1.9c) that I've no reason to upgrade to hobbit because I've just one or 2 users using them and I hope (from about 2 years) to switch them off soon :D I'm also using BB client for windows on Windows NT/2k/2k3 servers and it work well (also if I'm missing the centralized configuration I've on hobbit client).
The only thing that really changes from BB is the alert notification file and the centralized client configuration file. There's much help in those configuration files to let you configure whatever need you have.
Second is performance. I know this list may be biased toward Hobbit, but is it actually faster? We have about 50-100 clients on BB and I did not notice any performance issues. Hobbit looks like it is very complex, so does this mean it uses a lot of resources on the client and server? What speed/ram server is usually the minimum recommended for a dedicated Hobbit server? Would something like a dual Pentium II 266mhz have any performance issues as a server, if it does nothing else? What about for clients? We have still have some testing, stating and production servers left that are singe chip Pentium III 700-850 mhz, and even a couple Pentium II's. Just need to make sure all the resources used for things like graphs are taken from the server and not each client.
Server side hobbit is entirely written in C and will access the disk only for rrd and some temporary files so I think it will not have big problem if you have just some spare memory to let it run. Page generation is really faster and you can regenerate page every minutes. The networking test is also faster than the BB ones. The hobbit client is a shell script that will run commands to get data from the machine and send them to the server so no cpu power is consumed on the client and no disk access is done apart from some logging and temporary space. Hobbit will generate bb html pages, all test pages are dynamic and generated on the fly. You can some more power/disk space if you want to store many RRD data for graphs and trends (server side)
Third is plugins. Are BB plugins compatible with Hobbit? Also how hard are plugins to write for Hobbit? I don't know if these even exist for bb, but I ultimately would like to integrate plugins that 1) monitor legato tape backup, 2) run nmap to see what ports are open/can be seen from an external machine, 3) run 'lshw -html' to show a list of all the hardware on the system, 4) monitor uptime, 5) monitor OS and kernel versions (uname -a and head -n 1 /etc/issue), 6) maybe some more router/network monitoring stuff and 7) maybe some kind of LVS monitoring. I am not a programmer, but many of these can be done with either existing commands or can be done on BB with existing plugins and some (like lshw -html) are mostly static.
BB plugin (at least from 1.9) are fully compatible with hobbit .... the maximum you have to do is to put some environment variable in the hobbit configuration file instead of putting them in some other bb file but this is all.
- if you have a script to do it there's no problem to use it ...
- hobbit client 4.2 already implement a network test that check open port on the local machine
- you can run it and send the output to the hobbit server, it will
manage to show you the data.... just an example:
If you run (from a hobbit client commandline) :
echo "status machine1.cpuinfo green
datecat /proc/cpuinfo"| bb hobbitsrv @ It will report the data to hobbit and you can see them in a column .... - already done from the client and also from some network monitoring script available for hobbit or bb that get data via SNMP.
- client os information are reported by the hobbit client
- there are many scripts available on deadcat that run out-of-the-box with hobbit (or just with some modify). Many new extention are starting also to be personalized for hobbit because it have more options. Some of those scripts test network device via SNMP. Some new ones are in development ( devmon ) and are done so that you can check every snmp device you want, you just need to write a template of what you want to check.
- don't really know but I think it will not be difficult to write something about it if there are commands to check the state.
Fourth is relay. By this I mean monitoring systems on a private subnetwork that are only accessible to the Hobbit server by going through an intermediate server. Is this possible with Hobbit and is it any more difficult to do than on BB?
Hobbit use the same protocol as BB. You only need to open one port or you can use the proxy or, with the 4.2 version you can directly poll the hobbit client from the server to get the data that will be stored locally in memory. This last alternative is what I'll start to check in the next few days to get data from our DMZ machines and it's a really simple-than-what-could-be-done with BB for polling instead of receiving because you need nothing more then the hobbit client.
Fifth is portability. BB is very portable, I can make a 'model' client for say Red Hat and tar it and distribute it very easily to every server I have using only a few commands. Is Hobbit the same, or are there client dependencies or other things that may make this more difficult.
Hobbit is at least as portable as BB. Just compile on one machine add all needed extentions and then tar and port it on all the same architecture machines. If you want to let the client work with "local" configuration instead of the centralized one you'll need the pcre library installed on the client machine but if you use the normal centralized setup you'll need nothing else than a tar. With 4.2, when a new version is available you have only to compile it, package on one client and put it on the server to have it distributed to all your clients.
Sixth is development. How active is the development of Hobbit, how big is the community, etc? How many people can attest to having fully functional hobbit setups, how long has it been around and how often are new releases usually made? Also I saw something this morning about a Windows client -- how stable is that? How stable is the Solaris version? Is there a client for Mac OSX? Is Hobbit like BB in the sense that you can change paths to system binaries like grep and sed to allow easy use on other UNIXes like OSX? When will 4.2 be officially released as a production version? Since we have a working BB setup for now, I need to decide if I should try to start migrating now or if I should wait some time for Hobbit to develop more before I migrate from BB.
Well... I think hobbit have a really active community (just check the mail in this mailing list ... about 80 in 2 days ...well, we're under the final bug fixes for 4.2 :D ).... if you need any information or help with every problem you can have with hobbit or with an extention script or with something you don't understand of the functionality of hobbit you can send a mail and normally it will not pass unobserved and probably you'll get an answer or help from someone during the same day.
Release for 4.2 is going a bit long but this new version will implement really much changes from the oldest 4.1 release that I think it's normal (I'm also seeing new functionality implemented in those last days before relase). The snapshot are created nightly and sometimes there are also daily snapshot to correct some bugs... I think many people in the community are already running the 4.2 if not in a production environment in test just to check the new functionality (at least I'm doing it :P).
The windows client (bbwin) is in development and the 0.8 version preview is out... I think I'll start to check it tomorrow because there are some really nice functionality that this client have (monitoring of microsoft cluster and load balancer). The next versions ( I really hope the next one) will also be full hobbit-client oriented so it will send data to hobbit that will do the checking for the warning/alerting.... After this I will never have to change anything on a monitored client :D
Regarding the development community you'll find that for hobbit (some run also with bb) there are many people developing plugins.. At the moment this is what is "under development" that I remember:
Devmon: to monitor snmp devices you can found it at devmon.sourceforge.net bbwin: windows client found at: bbwin.sourceforge.net hobbit-perl-cl (my work :P): you'll find perl extentions that run on hobbit server to monitor network appliance storage, Weblogic server and i hope for the next week database server (oracle/informix/sqlserver mysql in the near future) located at sourceforge.net/projects/hobbit-perl-cl The shire : a sort of deadcat for hobbit scripts sourceforge.net/projects/theshire/
That's all for now. Sorry about so many questions, but I need as much clarification and background knowledge as possible before I start trying to convince my boss why we should dedicate the time and effort to try out and ultimately move to Hobbit when BB "just works" without giving us any problems. If we do adopt hobbit, I will definitely reciprocate with help to newbies as I learn Hobbit better and will recommend it to many other people on campus as I have previously done with BB.
The only think I can suggest is to try hobbit. You can also do it on the same machine when you run your bb server.... What you need to do is:
- create a hobbit user
- install hobbit server normally
- add the apache part to the apache server configuration (it's different from the bb because it uses /hobbit)
- edit the ~hobbit/server/etc/hobbitserver.cfg and ~hobbit/client/etc/hobbitclient.cfg and change the BBPORT variable from 1984 to 1985 (or something else)
- edit the ~hobbit/server/etc/bb-services and change bbd port to the same one used in 4)
- start the hobbit server and check what's happening
I use this setup on the same machine where I have the hobbit production server and it work really well.
If you want to test the hobbitclient you just have to go to a machine, compile the client, change the same port in the hobbitclient.cfg file and check how it's working. If you want to populate some datas just to check how it work you can also get your bb-hosts file and put some of your host network check in hobbit just to have some pages/subpages ...
I think after you test it and see everything he can do you'll start using it :D
Well I think I wrote a bit too much :D
Regards Francesco Duranti
participants (1)
-
fduranti@q8.it