Bug #44560 agent no longer collects tablestatus data items
Submitted: 29 Apr 2009 21:30
Reporter: Andy Bang Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Enterprise Monitor: Agent Severity:S2 (Serious)
Version:2.0.5.7153 OS:Any
Assigned to: Assigned Account CPU Architecture:Any

[29 Apr 2009 21:30] Andy Bang
Description:
The 2.0 agent no longer collects data items from SHOW TABLE STATUS, so you can no longer build rules based on them (e.g. a rule based on the number of rows in a table).

How to repeat:
Option 1:

1) Create a rule that uses mysql:tablestatus:Rows.
2) Schedule it against a server.
3) Get error message:

U0146 Unable to schedule rule "Test Rule - World.City Row Count" due to "mysql.tablestatus.Rows" data not being collected from server "HPMiniTower:3306". It may be an unsupported collection for that server.

Option 2:

1) Turn on log-level=debug in the agent.
2) Review response to list known items.
3) Observe that there are no tablestatus data items reported.  I will attach an agent log showing this.

Suggested fix:
Bring back the tablestatus reporting that was in the 1.3 agent.
[29 Apr 2009 21:34] Andy Bang
You can use INFORMATION_SCHEMA.TABLES to get this information, but that means:

1) You must write custom data collections and push them out to all agents that need them.

2) Accessing that table is expensive because it runs analyze table under the covers (although on the positive side, you get accurate row counts for InnoDB and other non-MyISAM tables that you may not get with SHOW TABLE STATUS).
[30 Apr 2009 18:24] Gary Whizin
Service Manager no longer asks for this therefore it should be unscheduled but possible to schedule in case it's requested by the Service Manager (note: some customers have requested using these values for custom rules).
[29 Sep 2009 16:13] Enterprise Tools JIRA Robot
Andy Bang writes: 
For now, Support can guide people toward using custom data collections against the I_S tables to run create these kinds of rules.