MySQL InnoDB Cluster – HowTo #1 – Monitor your cluster

April 11, 2019
Sakila HA by Olivier DASINI

How do I… Monitor the status & the configuration of my cluster?

Short answer

Use:

status()

Long answer…

Assuming you already have a MySQL InnoDB Cluster up and running. If not, please RTFM 🙂
Additionally you can read this tutorial and this article from my colleague lefred or this one on Windows Platform from my colleague Ivan.

I’m using MySQL 8.0.15

Let’s connect to my cluster

The “– – cluster” argument enables cluster management by setting the global variable.
This variable is a reference to the MySQL InnoDB Cluster object session. It will give you access (among others) to the status() method that allows you to check and monitor the cluster.

Ask for help

The built-in help is simply awesome!

Cluster status

So let’s discover the status of our cluster

Note:
The instance’s state in the cluster directly influences the information provided in the status report. Therefore ensure the instance you are connected to has a status of ONLINE.

As you can see, by default status() gives you a lot of relevant information.
Thus it could be used to monitor your cluster although the best tool available to monitor your MySQL InnoDB Cluster (but also MySQL Replication, MySQL NDB Cluster and obviously your standalone MySQL servers) is MySQL Enterprise Monitor.

More details with “A Guide to MySQL Enterprise Monitor“.

Extended cluster status

MySQL Group Replication provides several metrics and detailed information about the underlying cluster in MySQL InnoDB clusters.
These metrics which are used for monitoring are based on these Performance Schema tables.

Some of these information are available through MySQL Shell. You can control the amount of information gathered and returned with 2 options: extended & queryMembers.

extended

if enabled, includes information about groupName and memberID for each member; and general statistics about the number of transactions checked, proposed, rejected by members…

queryMembers

if enabled, includes information about recovery and regular transaction I/O, applier worker thread statistic and any lags; applier coordinator statistic…

To summarize

Q: How do I monitor the status & the configuration of my cluster?

A: Use status() or status({extended:true}) or status({queryMembers:true})

References

Thanks for using MySQL!

Follow me on twitter

Watch my videos on my YouTube channel and subscribe.

My Slideshare account.

My Speaker Deck account.

Thanks for using MySQL!

5 Responses to “MySQL InnoDB Cluster – HowTo #1 – Monitor your cluster”

  1. or both at the same time 😉

    cluster.status({extended:true,queryMembers:true})

  2. Indeed!
    Thanks for your feedback buddy 🙂

  3. running cluster.status({extended:true,queryMembers:true})

    mysqlsh Ver 8.0.15-commercial for Linux on x86_64 – for MySQL 8.0.15 (MySQL Enterprise Server – Commercial)

    output : Error

    cluster.status({queryMembers:true})

    Cluster.status: get_uint(25): field value out of the allowed range (LogicError)

  4. Thanks for your comment!
    Probably related to https://bugs.mysql.com/bug.php?id=95191
    We are working on a fix.
    Thanks

  5. […] MySQL InnoDB Cluster – HowTo #1 – Monitor your cluster […]