when you talk about scalability, i assume you are reffering to the following -
(note - most of the stuff i mention below is w.r.t to my exp with Hyperic 4.6.6. Things might have changed considerably with version 5+)
1. Number of Hyperic agents deployed across your infrastructure.
2. Clustering of Hyperic server and their respective backend Databases.
3. Amount of data collected and stored by Hyperic.
1. You will have to deploy an agent on each and every Host that you plan to monitor. There are some ways of getting around this (virtualization, solaris zones, etc), but for the most part, you are looking at deploying and managing a whole lotta agents. Hyperic also supports SNMP (agentless) monitoring, but not sure if you can leverage all the features of Hyperic using SNMP. Also, Hyperic's enterprise version bills you for every host you monitor (you can buy licenses in bulk, one license per every host). consider all this when chosing hyperic.
2. Clustering Hyperic is possible, and they have documentation for this - http://pubs.vmware.com/vfabric52/index.jsp?topic=/com.vmware.vfabric.hyperic.4.6/Clustering_Hyperic_...
howvever, how you setup a cluster depends very much on how your enterprise architecture is organized. for example - the backend DB clustering requires certain very specific thigns to be put into place (VIP, maybe even SAN). keep this in mind when you consider hyperic.
3. Hyperic collects a huge amount of data, and unless you have a decent Database setup to store and manage this data, your Hyperic setup will quickly get out of hand. For example, if you are montioring log files on proxy servers that generate approx 500mb of log data a day, all that data will be pushed by Hyperic into its database, which will quickly add up to a few GB in a few days. You can throttle this by reducing the number of days you store data in your DB or my using regex to filter out certain log messages, but even then, you are looking at a lot of data being pushed across your n/w. this will require you to design your DB such that it can store all this data and be able to run SQL queries on it in resonable time. there is a way to circmvent this datastore problem by setting up a seperate hyperic datastore (that can store data for more than 30 days). but that requires additional setup.
My advice - download the trial version of hyperic enterprise, or even the OSS version, run it on a VM with a few agents and DB, and see how it works and if any of the features suit your needs.
Thanks for writing the detailed answer.
(Step-1) As suggested I have created several 6-VMs e.g. Installed Hyperic HQ (5.0 Opensource) server on one machine and Agents on other 5 VMs
(Step-2) Installed on one VM-1 e.g. Wordpress on a Apache http server, MySql Server
Observed the admin's dashboard : yes it shows the activities e.g. CPU Usages , for HTTP Server (no. of request),
I did something like e.g. rebooted one of the VM (where hyperic HQ was running), and I saw the effect on the dashboard.
Now I can understand the functionalitis of Hyepric HQ Server/Agent.
What else you can suggest to a new bie e.g.
What next I should do to understand its real capablities or what type of thoughts/directions I should keep in mind ?
So after you have played with it a little bit i would suggest to go on a testing environment you have and install on one of the applications there the agents. that should give you a very good feedback as of Hyperic's capabilities as well as its monitoring strenghts on a "real" world.
How does that sound?
Thanks for providing your answer.
Yes that is reasonable idea, But do you think that should I perform some more excercise ? as My strategy is somehting like this :
Other than what I have already explained -May you please suggest me some other scenarios which are worth to do as a sample excercise ?
(Before jumping to real environment I might need to explain my excercise/demo and capablities of hyperic hq to my team, so I need 2-3 main excercise from where I can explore hyperic hq as much e.g. something related to its additional pluguns or something related to its self-development)
Well, personally I prefer jumping as soon as I can to the real world and after playing a little bit (like you did) with the product I would try and monitor a real testing environment. But that's me 🙂 You might try to see if the applications which you are about to monitor in your organization are monitored well enough.
As per the plugins and self development, here is a nice story I heard yesterday from the personal life:
We have someone who lives far from the office. To arrive each morning he needs to pass a metropoline and as you already guess, there are a lot of traffic in the morning hours.
This metropoline has the option of bypassing the traffic by using a "fast lane" which is a toll road.
In order to know the best hours to enter this toll road, and by that to know when the best time to leave home is, he developed a simple Java code that monitors the internet site of the company which operates this toll road. He parses their site and extract the price. He does that every 5 minutes.
After developing this code he created an Hyperic plugin for this code and connected it to Hyperic so now he has graphs over time of when the best hours to leave home are (in which the price is the lowest) 🙂
This example shows you that having Hyperic as a monitoring system has a big advantage - you can write your own plugins to whatever you need, as long as it has the right APIs, and see that data in Hyperic.
Hope that helps a little bit. If not, keep asking 🙂
I was on vacation earlier and just got back , yes this is answer gave me a clear approach to think about monitoring solution.
Thank you very much.