There’s been talk over the years of better monitoring for NDB (MySQL Cluster). This has been dubiously named NDB$INFO, after some special magical naming convention for tables holding information on the insides of NDB. Otherwise known as Worklog 3363 (viewable on MySQL Forge).
The basic idea is to get a bunch of things that are already known inside NDB available through a rather standard interface (SQL is preferred).
My top examples are “How much DataMemory is used?” and “Do I need to increase MaxNoOf(Tables|Attributes|ConcurrentTransactions)?”. You can get some of this information now either through the management client (ndb_mgm -e “all report MemoryUsage”) or the MGM API using events and some other foo.
This is a rather limited interface though. It would be great if you could point all your monitoring stuff to a MySQL Server, throwing queries at it and finding out the state of your cluster.
So this year I’ve been working on implementing NDB$INFO. The big requirements (for me at least) are:
- Everything can be queried easly from SQL
- It’s easy to add a new NDB$INFO table (for a NDB developer)
- you can use NDB$INFO tables to diagnose problems (such as nodes not connecting)
Among the 492 things I’m currently doing, is fixing up a basic patchset for NDB$INFO and working on getting it into the tree. It’s all going to be basic scan interfaces in the current version, so things may be slow if there’s lots of rows, but they’ll get there.
What would you like to see exposed?