Logging Commands

The logging flexibility of MySQL Cluster is enormous. The following sections cover the commands you can use to log precisely what you want to log and where.

The CLUSTERLOG ON and CLUSTERLOG OFF Commands

The CLUSTERLOG commands enable and disable cluster logging. You can pass a severity level to these command, but we suggest that you use the CLUSTERLOG FILTER command (see the section "The CLUSTERLOG FILTER Command," later in this appendix) to do that.

This command should make it clear that it has worked:

ndb_mgm> CLUSTERLOG ON Cluster logging is enabled

 

The CLUSTERLOG TOGGLE Command

The CLUSTERLOG TOGGLE command toggles the cluster log (that is, it inverts the current setting, so if it is currently enabled, TOGGLE disables it and vice versa). It also tells you whether cluster logging is enabled or disabled after you have issued the command, as CLUSTERLOG ON and CLUSTERLOG OFF do, as in the following example:

ndb_mgm> CLUSTERLOG TOGGLE; Cluster logging is enabled. ndb_mgm> CLUSTERLOG TOGGLE; Cluster logging is disabled

 

The CLUSTERLOG INFO Command

The CLUSTERLOG INFO command prints information about the current cluster logging status, telling you what severities (see Table B.1 in the following section) are currently being logged globally:

ndb_mgm> CLUSTERLOG INFO Severities enabled: INFO WARNING ERROR CRITICAL ALERT

 

The CLUSTERLOG FILTER Command

The CLUSTERLOG FILTER command enables or disables logging of each severity level. If a severity level is turned on, all events with a priority less than or equal to the category thresholds are logged. You set the thresholds for each category individually for each node or globally by using the CLUSTERLOG command, which is covered shortly. If the severity level is turned off, no events belonging to that severity level are logged. This is a global setting (that is, it affects all nodes in the cluster).

The severity levels shown in Table B.1 are used in MySQL Cluster.

Table B.1. MySQL Cluster Severity Levels

Level Number

Level Name

Description

1

ALERT

A condition that should be corrected immediately, such as a corrupted system database

2

CRITICAL

Critical conditions, such as device errors or insufficient resources

3

ERROR

Conditions that should be corrected, such as configuration errors

4

WARNING

Conditions that are not errors but that might require handling

5

INFO

Informational messages, which may be useful for troubleshooting before you submit a bug report or a request for help

6

DEBUG

Debugging messages, which you almost certainly want to ignore

Calling CLUSTERLOG FILTER simply inverts the current selection, so issuing CLUSTERLOG FILTER ALERT twice when the filter starts off enabled results in disabling and then enabling logging (remember that you can see which severity levels are currently being logged with the command CLUSTERLOG INFO):

ndb_mgm> CLUSTERLOG FILTER ALERT ALERT disabled ndb_mgm> CLUSTERLOG FILTER ALERT ALERT enabled

 

The CLUSTERLOG =<threshold level> Command

The CLUSTERLOG = command initiates logging of events with priority less than or equal to in the cluster log. Note that this can be set globally (do not specify an field) or for each node individually (specify ). Note that the severity level must be enabled for any logging to take place; if you have disabled filtering for all CRITICAL errors, there will be no messages that belong to the CRITICAL severity level in your log file, regardless of what you set with the CLUSTERLOG command. You can check what severity levels are currently enabled by using the CLUSTERLOG INFO command.

For example, by using this command, you can set a threshold of 7 for STARTUP events, but a threshold of 2 for BACKUP events. In this way, you can log what you want to log as much as you like, while reducing the amount of junk in the log files. You can also set different log levels for each node. This has clear uses; for example, when trying to track down a connection error on one node, you can get an enormous amount of information logged that is all relevant to that particular node's connection errors but not accumulate enormous quantities of irrelevant logging information from other nodes that are functioning fine.

You can use the following categories:

STARTUP (default: 7) SHUTDOWN (default: 7) STATISTICS (default: 7) CHECKPOINT (default: 7) NODERESTART (default: 7) CONNECTION (default: 7) INFO (default: 7) ERROR (default: 15) CONGESTION DEBUG BACKUP

The threshold level is a number between 0 and 15, where 0 is the most important events, and 15 is purely for information and debugging. Each level also includes the lower levels as well. For example, if you specify a threshold of 4, it automatically includes 3, 2, 1, and 0.

For example, to log events with a threshold level (importance) of less than or equal to 5 from connections involving Node 2, you would enter this:

ndb_mgm> 2 CLUSTERLOG CONNECTION=5 Executing CLUSTERLOG CONNECTION=5 on node 2 OK!

Категории