Viewing MySQL® cluster logs
Managed Service for MySQL® allows you to get a cluster log snippet for the selected period and to view logs in real time.
Note
Cluster logs are kept for 30 days.
Getting a cluster log
- Go to Managed Service for MySQL.
- Click the name of your cluster and select the
Logs tab. - Specify a time period for the log entries you want to view by entering it manually or selecting it 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 row with the date input field, if required.
You will see a list of log entries for the time period you specified. To view detailed information about an event, click the relevant entry in the list.
If there are too many entries and not all of them are displayed, click Load more at the end of the list.
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
-
See the description of the CLI command for viewing cluster logs:
yc managed-mysql cluster list-logs --help -
Run the following command to get cluster logs (our example only shows some of the 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_start> \ --until <time_range_end>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 entries (mysql-error,mysql-general,mysql-slow-query, ormysql-audit). -
--columns: List of data columns:hostname: Host name.id: Query ID.message: Message output by the service.status: Message status, e.g.,NoteorWarning.
Note
This example includes only the essential columns. The complete list of columns depends on the selected
--service-type.To output separate columns, provide the
--formatparameter and specify the output format (yaml,json, orjson-rest). Columns are not supported fortextoutput format (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:SSformat 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 get the cluster name and ID with the list of clusters in the folder.
-
Get an IAM token for API authentication and set it as an environment variable:
export IAM_TOKEN="<IAM_token>" -
Call the Cluster.listLogs method, e.g., via the following cURL
request: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_start> \ --url-query toTime=<time_range_end>Where:
-
serviceType: Type of the service for which you want to get logs:-
MYSQL_ERROR: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL: Log of client connections and queries.It is disabled by default. To enable it, change the General log value when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY: Slow query log.It is disabled by default. To enable it, change the Slow query log value when updating the MySQL® settings. See also: Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time.
-
MYSQL_AUDIT: Audit log.It is disabled by default. To enable it, change the Audit log value when updating the MySQL® settings.
-
-
columnFilter: List of data columns:hostname: Host name.id: Query ID.message: Message output by the service.status: Message status, e.g.,NoteorWarning.raw: Raw data for all columns.
Note
This example includes only the essential columns. The complete list of columns depends on the selected
serviceType. -
fromTime: Start of the time range in RFC-3339 format, e.g.,2024-09-18T15:04:05Z. -
toTime: End of the time range in the same format asfromTime.
You can get the cluster ID with the list of clusters in the folder.
-
-
View the server response to make sure your request was successful.
-
Get an IAM token for API authentication and set it as an environment variable:
export IAM_TOKEN="<IAM_token>" -
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiBelow, we assume the repository contents are stored in the
~/cloudapi/directory. -
Call the ClusterService/ListLogs method, e.g., via the following gRPCurl
request: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_start>", "to_time": "<time_range_end>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.mysql.v1.ClusterService.ListLogsWhere:
-
service_type: Type of the service for which you want to get logs:-
MYSQL_ERROR: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL: Log of client connections and queries.It is disabled by default. To enable it, change the General log value when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY: Slow query log.It is disabled by default. To enable it, change the Slow query log value when updating the MySQL® settings. See also: Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time.
-
MYSQL_AUDIT: Audit log.It is disabled by default. To enable it, change the Audit log value when updating the MySQL® settings.
-
-
column_filter: List of data columns:hostname: Host name.id: Query ID.message: Message output by the service.status: Message status, e.g.,NoteorWarning.raw: Raw data for all columns.
Note
This example includes only the essential columns. The complete list of columns depends on the selected
service_type. -
from_time: Start of the time range in RFC-3339 format, e.g.,2024-09-18T15:04:05Z. -
to_time: End of the time range in the same format asfrom_time.
You can get the cluster ID with the list of clusters in the folder.
-
-
Check the server response to make sure your 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 CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
To view cluster logs in real time, run this command:
yc managed-mysql cluster list-logs <cluster_name_or_ID> --follow
You can get the cluster name and ID with the list of clusters in the folder.
-
Get an IAM token for API authentication and set it as an environment variable:
export IAM_TOKEN="<IAM_token>" -
Call the Cluster.streamLogs method, e.g., via the following cURL
request: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 for which you want to get logs:-
MYSQL_ERROR: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL: Log of client connections and queries.It is disabled by default. To enable it, change the General log value when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY: Slow query log.It is disabled by default. To enable it, change the Slow query log value when updating the MySQL® settings. See also: Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time.
-
MYSQL_AUDIT: Audit log.It is disabled by default. To enable it, change the Audit log value when updating the MySQL® settings.
-
-
columnFilter: List of output data columns:hostname: Host name.id: Query ID.message: Message output by the service.status: Message status, e.g.,NoteorWarning.raw: Raw data for all columns.
Note
This example includes only the essential columns. The complete list of columns depends on the selected
serviceType.
You can get the cluster ID with the list of clusters in the folder.
-
-
Check the server response to make sure your request was successful.
The command continues running after execution, displaying new logs in its output in real time.
-
Get an IAM token for API authentication and set it as an environment variable:
export IAM_TOKEN="<IAM_token>" -
Clone the cloudapi
repository:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiBelow, we assume the repository contents are stored in the
~/cloudapi/directory. -
Call the ClusterService/StreamLogs method, e.g., via the following gRPCurl
request: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.StreamLogsWhere:
-
service_type: Type of the service for which you want to get logs:-
MYSQL_ERROR: Log of errors related to starting, running, and stopping MySQL® instances. -
MYSQL_GENERAL: Log of client connections and queries.It is disabled by default. To enable it, change the General log value when updating the MySQL® settings.
-
MYSQL_SLOW_QUERY: Slow query log.It is disabled by default. To enable it, change the Slow query log value when updating the MySQL® settings. See also: Log slow filter, Log slow rate limit, Log slow rate type, Log slow sp statements, and Slow query log always write time.
-
MYSQL_AUDIT: Audit log.It is disabled by default. To enable it, change the Audit log value when updating the MySQL® settings.
-
-
column_filter: List of output data columns:hostname: Host name.id: Query ID.message: Message output by the service.status: Message status, e.g.,NoteorWarning.raw: Raw data for all columns.
Note
This example includes only the essential columns. The complete list of columns depends on the selected
service_type. -
from_time: Start of the time range in RFC-3339 format, e.g.,2024-09-18T15:04:05Z. -
to_time: End of the time range in the same format asfrom_time.
You can get the cluster ID with the list of clusters in the folder.
-
-
Check the server response to make sure your request was successful.
Once you launch the command, it will continue running, displaying new logs in its output in real time.