Description:
The "Monitoring Multiple MySQL Servers" - "Using a Single Agent Instance" section in the documentation needs to identify the caveats for this situation more fully and loudly. The following caveats apply:
1) You can't use Query Analyzer in this situation. This caveat is already noted in the docs, but should be "louder" (e.g. boldface or stand out better in some way) and have a bit more info.
The key problem here is that if someone notices and plays with the proxy-backend-addresses parameter described in the section of the docs just above this one (i.e. they try to specify multiple backends in the hope of getting Query Analyzer to work), the proxy will load-balance any traffic that comes through it across all those backends. This *might* be OK in the unique situation where the agent is monitoring several slaves, all with the same master and same databases and all the traffic is read-only, but can be a disaster if there is write traffic and/or the servers are used by different applications and have different databases and tables.
This section of the docs should say loudly and clearly DO NOT POINT ANY APPLICATIONS AT AN AGENT MONITONING MULTIPLE BACKENDS.
2) When an agent first starts, it does SHOW STATUS, SHOW VARIABLES, SHOW SLAVE STATUS and other things to determine what data items it can collect for a server being monitored, and sends a list of those items to the Service Manager (internally this is the "list known items" process). The Service Manager then uses this list so it knows what rules and graphs can and can't be scheduled against a server (i.e. you can't schedule a rule that uses a data item introduced in 5.1 against a 5.0 or 4.x server).
The problem is that the current agent implementation only goes through the "list known items" process against one of the servers it is monitoring (see Bug #31487 and Bug #37258). This is fine if all of the servers are the same exact version of MySQL, but if they are not (e.g. one is a 5.1, another is a 5.0, and another is 4.1, or if one is 5.0.70 and another is 5.0.50), then the Service Manager will not have a correct picture of what items can be collected for all the servers. In some cases it may tell you it can't run a certain rule because it doesn't think it can collect all the data items needed for that rule. In other cases it will tell the agent to collect a certain data item that can't actually be collected for that instance of MySQL, resulting in errors for the agent.
This caveat needs to be added to the docs.
How to repeat:
Read the "Monitoring Multiple MySQL Servers" - "Using a Single Agent Instance" section in the docs.