Outdated Version

You are viewing an older version of this section. View current production version.

Monitoring MemSQL min read


MemSQL is a distributed system. Because of this, all machines running MemSQL should be monitored to ensure smooth operation. Cluster status can be visualized through MemSQL Ops but it is also possible to programmatically query MemSQL nodes to get the status of the cluster. This section shows how to programmatically monitor a MemSQL cluster.

Monitor all MemSQL nodes

Similar to heartbeats sent by intra cluster communication, all MemSQL nodes should be pinged with:

select 1;

It is recommended to do this every minute.

Monitor the Master Aggregator

Extra monitoring should be placed on the master aggregator as it is the central coordinator of all activities within MemSQL. Run the following commands against the master aggregator:

show aggregators;
show leaves;
show cluster status;

The results of the commands above should be compared with previous executions, and any detected changes should trigger a notification.

Monitor OS resources

If you are using third party monitoring tools, make sure to monitor the following resources within each machine of the MemSQL cluster:

  • CPU Usage
  • CPU Load Average
  • Memory Usage
  • Memory Swapping (page ins, page outs)
  • Disk Utilization
  • Disk Queue Time
  • Network Usage
  • Dropped packets / TCP retransmits

A limitation or degradation for any of those resources may have performance implications on your MemSQL cluster.