Viewing Greenplum® cluster logs
Yandex MPP Analytics for PostgreSQL allows you to get a cluster log snippet for the selected time period and view logs in real time.
Note
Cluster logs are kept for 30 days.
Getting a cluster log
-
Open the folder dashboard
. -
Navigate to the Yandex MPP Analytics for PostgreSQL service.
-
Click the name of your cluster and select the
Logs tab. -
Specify a time period for the log entries to be displayed: enter it manually or click the date field to choose from a calendar.
-
Select the type of service for which you want to output logs:
GREENPLUM: Greenplum® operations log.GREENPLUM_POOLER: Connection manager operations log.GREENPLUM_PXF: PXF protocol log.
-
Select hosts and a logging level if needed.
You will see a list of log entries for the time period you specified. To see details of a specific event, click its entry in the list.
If the list is too long to display all entries at once, 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-greenplum cluster list-logs --help -
Run the following command to get cluster logs (our example only shows some of the available parameters):
yc managed-greenplum cluster list-logs <cluster_name_or_ID> \ --limit <entry_number_limit> \ --format <output_format> \ --service-type <service_type> \ --columns <list_of_data_columns> \ --filter <entry_filtration_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 service for which you want to output entries:greenplum: Greenplum® operations log.greenplum-pooler: Connection manager operations log.greenplum-pxf: PXF protocol log.
-
--columns: List of output columns:hostname: Host name.level: Logging level, e.g.,info.pid: ID of the current session’s server process.text: Message output by the component.
Note
The list of data columns depends on the selected
--service-type. The example only shows the main columns for thegreenplum-poolertype.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 put it in an environment variable:
export IAM_TOKEN="<IAM_token>" -
Call the Cluster.ListLogs method, for instance, via the following cURL
request:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<cluster_ID>:logs' \ --url-query serviceType=<service_type> \ --url-query columnFilter=<column_name> \ --url-query fromTime=<time_range_left_boundary> \ --url-query toTime=<time_range_right_boundary>Where:
-
serviceType: Type of service to request logs for:GREENPLUM: Greenplum® operations.GREENPLUM_POOLER: Connection manager operations.GREENPLUM_PXF: PXF protocol.
-
columnFilter: Name of the data column:hostname: Host name.level: Logging level, e.g.,info.pid: ID of the current session’s server process.text: Message output by the component.
Note
The list of data columns depends on the selected
serviceType. The example only shows the main columns for theGREENPLUM_POOLERtype.You can specify only one column in the
columnFilterparameter. If you want to filter logs by more than one column, provide a list of the columns in several parameters.
fromTime: Left boundary of a time range in RFC-3339 format, Example:2006-01-02T15: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.
-
-
Check the server response to make sure your request was successful.
-
Get an IAM token for API authentication and put it in 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 that the repository contents reside in the
~/cloudapi/directory. -
Call the ClusterService.ListLogs method, for instance, via the following gRPCurl
request:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<cluster_ID>", "column_filter": [ "<column_1>", "<column_2>", ..., "<column_N>" ], "service_type": "<service_type>", "from_time": "<time_range_left_boundary>", "to_time": "<time_range_right_boundary>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.ListLogsWhere:
-
service_type: Type of service to request logs for:GREENPLUM: Greenplum® operations.GREENPLUM_POOLER: Connection manager operations.GREENPLUM_PXF: PXF protocol.
-
column_filter: List of data columns:hostname: Host name.level: Logging level, e.g.,info.pid: ID of the current session’s server process.text: Message output by the component.
Note
The list of data columns depends on the selected
serviceType. The example only shows the main columns for theGREENPLUM_POOLERtype.You can specify more than one column in the
column_filterparameter if you want to filter logs by multiple columns.
from_time: Left boundary of a time range in RFC-3339 format, Example:2006-01-02T15: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 stream 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-greenplum 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 put it in an environment variable:
export IAM_TOKEN="<IAM_token>" -
Call the Cluster.StreamLogs method, for instance, via the following cURL
request:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<cluster_ID>:stream_logs' \ --url-query serviceType=<service_type> \ --url-query columnFilter=<column_name> \ --url-query fromTime=<time_range_left_boundary> \ --url-query toTime=<time_range_right_boundary> \ --url-query filter=<log_filter>Where:
-
serviceType: Type of service to request logs for:GREENPLUM: Greenplum® operations.GREENPLUM_POOLER: Connection manager operations.GREENPLUM_PXF: PXF protocol.
-
columnFilter: Name of the data column:hostname: Host name.level: Logging level, e.g.,info.pid: ID of the current session’s server process.text: Message output by the component.
Note
The list of data columns depends on the selected
serviceType. The example only shows the main columns for theGREENPLUM_POOLERtype.You can specify only one column in the
columnFilterparameter. If you want to filter logs by more than one column, provide a list of the columns in several parameters.
fromTime: Left boundary of a time range in RFC-3339 format, Example:2006-01-02T15:04:05Z.
-
toTime: End of the time range in the same format asfromTime.If you omit this parameter, new logs will be sent to the log stream as they arrive. Semantically, this behavior is similar to
tail -f. -
filter: Log filter, e.g.,message.hostname='node1.mdb.yandexcloud.net'.For more information about filters and their syntax, see the API reference.
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.
-
Get an IAM token for API authentication and put it in 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 that the repository contents reside in the
~/cloudapi/directory. -
Call the ClusterService.StreamLogs method, for instance, via the following gRPCurl
request:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<cluster_ID>", "column_filter": [ "<column_1>", "<column_2>", ..., "<column_N>" ], "service_type": "<service_type>", "from_time": "<time_range_left_boundary>", "to_time": "<time_range_right_boundary>", "filter": "<log_filter>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.StreamLogsWhere:
-
service_type: Type of service to request logs for:GREENPLUM: Greenplum® operations.GREENPLUM_POOLER: Connection manager operations.GREENPLUM_PXF: PXF protocol.
-
column_filter: List of data columns:hostname: Host name.level: Logging level, e.g.,info.pid: ID of the current session’s server process.text: Message output by the component.
Note
The list of data columns depends on the selected
service_type. The example only shows the main columns for theGREENPLUM_POOLERtype.You can specify more than one column in the
column_filterparameter if you want to filter logs by multiple columns.
from_time: Left boundary of a time range in RFC-3339 format, Example:2006-01-02T15:04:05Z.
-
to_time: End of the time range in the same format asfrom_time.If you omit this parameter, new logs will be sent to the log stream as they arrive. Semantically, this behavior is similar to
tail -f. -
filter: Log filter, e.g.,message.hostname='node1.mdb.yandexcloud.net'.For more information about filters and their syntax, see the API reference.
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.
Greenplum® and Greenplum Database® are registered trademarks or trademarks of Broadcom Inc. in the United States and/or other countries.