Are there any suggestions/best practices for creating agent groups?
We have different categories of applciations ex:Client and server applciations,
Solar applcialtions,ESB applications,internet and intranet applications and so on.
Is it good to have many agent groups?
A couple suggestions I'd give, one is that adding the agent group by right clicking the system profile and selecting "Add Tier" allows you to select the proper technology for the agent group and pre-selects the right sensors based on the technology. You can simply skip the agent download and agent string steps if the agent is already on the servers.
Next, if you have to create an agent group that uses the exact same settings as an existing agent group, you can copy and paste, and simply rename the copied agent group and mappings, which saves you the task of creating a new group and selecting the sensors.
Are you sharing a single system profile across multiple interacting applications?
If not then its pretty easy to decide tier-ing for application.
One Important consideration is that do you really want your JVMs/CLRs to be grouped into single logical tier or not (as they appear in the Dashlet Filter and Transaction Flow). All the agent in a tier should have exact same functionalities say, same WAR files deployed etc.
More the agent tiers, more complex and will be the Transaction Flow.
Ofcourse It is bad to have separate agent tiers for each agent.