Viewing MySQL® cluster logs
Managed Service for MySQL® allows you to get a cluster log snippet for the selected period and view logs in real time.
Note
Cluster logs are kept for 30 days.
Getting a cluster log
- Go to the folder page and select Managed Service for MySQL.
- Click the name of the cluster you need and select the
Logs tab. - Specify the time period you want the log info for: enter it manually or select in the calendar using the date input field.
- Select the type of events to display. The default type is
MYSQL_ERROR
. - Specify the hosts and logging level in the line with the date input field if needed.
A list of log entries for the selected time period will be displayed. To view detailed information about an event, click the respective entry in the list.
If there are too many records and not all of them are displayed, click Load more at the end of the list.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
View the description of the CLI command to view cluster logs:
yc managed-mysql cluster list-logs --help
-
Run the following command to get cluster logs (our example does not contain a complete list of available parameters):
yc managed-mysql cluster list-logs <cluster_name_or_ID> \ --limit <entry_number_limit> \ --format <output_format> \ --service-type <service_type> \ --columns <column_list> \ --filter <filter_settings> \ --since <time_range_left_boundary> \ --until <time_range_right_boundary>
Where:
-
--limit
: limits on the number of entries to output. -
--format
: Format for log entries (text
,yaml
,json
, orjson-rest
). -
--service-type
: Type of the service for which you want to output records (mysql-error
,mysql-general
,mysql-slow-query
, ormysql-audit
). -
--columns
: List of columns for data output:hostname
: Host name.id
: Request ID.message
: Message output by the service.status
: Message status, e.g.,Note
orWarning
.
Note
The example shows only the main columns. A list of columns to output depends on the selected
--service-type
.To output separate columns, provide the
--format
key and specify the output format (yaml
,json
, orjson-rest
). Columns are not supported fortext
output format that is set by default. -
--filter
: record filter settings, for example,message.hostname='node1.mdb.yandexcloud.net'
. -
--since
: Left boundary of a time range in RFC-3339 ,HH:MM:SS
format or a time interval relative to the current time. Examples:2006-01-02T15:04:05Z
,15:04:05
,2h
,3h30m ago
. -
--until
: right boundary of a time range, the format is similar to that of--since
.
-
You can request the cluster name and ID with a list of clusters in the folder.
-
Get an IAM token for API authentication and put it into the environment variable:
export IAM_TOKEN="<IAM_token>"
-
Use the Cluster.listLogs method and make a request, e.g., via cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<cluster_ID>:logs' \ --url-query serviceType=<service_type> \ --url-query columnFilter=<column_list> \ --url-query fromTime=<time_range_left_boundary> \ --url-query toTime=<time_range_right_boundary>
Where:
-
serviceType
: Type of the service to get logs for:-
MYSQL_ERROR
: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL
: Log of client connections and queries.This log is disabled by default. To enable this log, change the value of the General log setting when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY
: Slow query log.This log is disabled by default. To enable the log, change the value of the Slow query log setting when updating the MySQL® settings. See also the Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time settings.
-
MYSQL_AUDIT
: Audit log.This log is disabled by default. To enable the log, change the value of the Audit log setting when updating the MySQL® settings.
-
-
columnFilter
: List of columns for data output:hostname
: Host name.id
: Request ID.message
: Message output by the service.status
: Message status, e.g.,Note
orWarning
.raw
: Raw data for all columns.
Note
The example shows only the main columns. A list of columns to output depends on the selected
serviceType
. -
fromTime
: Left boundary of a time range in RFC-3339 format, Example:2024-09-18T15:04:05Z
. -
toTime
: Right boundary of a time range, the format is the same as forfromTime
.
You can get the cluster ID with a list of clusters in the folder.
-
-
View the server response to make sure the request was successful.
-
Get an IAM token for API authentication and put it into the environment variable:
export IAM_TOKEN="<IAM_token>"
-
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Below, we assume the repository contents are stored in the
~/cloudapi/
directory. -
Use the ClusterService/ListLogs call and make a request, e.g., via gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<cluster_ID>", "service_type": "<service_type>", "column_filter": [ "<column_1>", "<column_2>", ..., "<column_N>" ], "from_time": "<time_range_left_boundary>", "to_time": "<time_range_right_boundary>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.mysql.v1.ClusterService.ListLogs
Where:
-
service_type
: Type of the service to get logs for:-
MYSQL_ERROR
: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL
: Log of client connections and queries.This log is disabled by default. To enable this log, change the value of the General log setting when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY
: Slow query log.This log is disabled by default. To enable the log, change the value of the Slow query log setting when updating the MySQL® settings. See also the Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time settings.
-
MYSQL_AUDIT
: Audit log.This log is disabled by default. To enable the log, change the value of the Audit log setting when updating the MySQL® settings.
-
-
column_filter
: List of columns for data output:hostname
: Host name.id
: Request ID.message
: Message output by the service.status
: Message status, e.g.,Note
orWarning
.raw
: Raw data for all columns.
Note
The example shows only the main columns. A list of columns to output depends on the selected
service_type
. -
from_time
: Left boundary of a time range in RFC-3339 format, e.g.,2024-09-18T15:04:05Z
. -
to_time
: Right boundary of a time range, the format is the same as forfrom_time
.
You can get the cluster ID with a list of clusters in the folder.
-
-
View the server response to make sure the request was successful.
Getting a cluster log stream
This method allows you to get cluster logs in real time.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
To view cluster logs as they become available, run this command:
yc managed-mysql cluster list-logs <cluster_name_or_ID> --follow
You can request the cluster name and ID with a list of clusters in the folder.
-
Get an IAM token for API authentication and put it into the environment variable:
export IAM_TOKEN="<IAM_token>"
-
Use the Cluster.streamLogs method and make a request, e.g., via cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-mysql/v1/clusters/<cluster_ID>:stream_logs' \ --url-query serviceType=<service_type> \ --url-query columnFilter=<column_list>
Where:
-
serviceType
: Type of the service to get logs for:-
MYSQL_ERROR
: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL
: Log of client connections and queries.This log is disabled by default. To enable this log, change the value of the General log setting when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY
: Slow query log.This log is disabled by default. To enable the log, change the value of the Slow query log setting when updating the MySQL® settings. See also the Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time settings.
-
MYSQL_AUDIT
: Audit log.This log is disabled by default. To enable the log, change the value of the Audit log setting when updating the MySQL® settings.
-
-
columnFilter
: List of columns for data output:hostname
: Host name.id
: Request ID.message
: Message output by the service.status
: Message status, e.g.,Note
orWarning
.raw
: Raw data for all columns.
Note
The example shows only the main columns. A list of columns to output depends on the selected
serviceType
.
You can get the cluster ID with a list of clusters in the folder.
-
-
View the server response to make sure the request was successful.
Once you run the command, it does not terminate. The command output displays new logs in real time.
-
Get an IAM token for API authentication and put it into the environment variable:
export IAM_TOKEN="<IAM_token>"
-
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Below, we assume the repository contents are stored in the
~/cloudapi/
directory. -
Use the ClusterService/StreamLogs call and make a request, e.g., via gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/mysql/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<cluster_ID>", "service_type": "<service_type>", "column_filter": [ "<column_1>", "<column_2>", ..., "<column_N>" ] }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.mysql.v1.ClusterService.StreamLogs
Where:
-
service_type
: Type of the service to get logs for:-
MYSQL_ERROR
: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL
: Log of client connections and queries.This log is disabled by default. To enable this log, change the value of the General log setting when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY
: Slow query log.This log is disabled by default. To enable the log, change the value of the Slow query log setting when updating the MySQL® settings. See also the Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time settings.
-
MYSQL_AUDIT
: Audit log.This log is disabled by default. To enable the log, change the value of the Audit log setting when updating the MySQL® settings.
-
-
column_filter
: List of columns for data output:hostname
: Host name.id
: Request ID.message
: Message output by the service.status
: Message status, e.g.,Note
orWarning
.raw
: Raw data for all columns.
Note
The example shows only the main columns. A list of columns to output depends on the selected
service_type
. -
from_time
: Left boundary of a time range in RFC-3339 format, e.g.,2024-09-18T15:04:05Z
. -
to_time
: Right boundary of a time range, the format is the same as forfrom_time
.
You can get the cluster ID with a list of clusters in the folder.
-
-
View the server response to make sure the request was successful.
Once you run the command, it does not terminate. The command output displays new logs in real time.