Monitoring the state of a Greenplum® cluster and hosts
Data on the cluster and host state is available in the management console
Diagnostic information about cluster states is presented as graphs.
Charts are updated every 15 seconds.
Note
The most appropriate multiple units (MB, GB, and more) are automatically used in charts.
Monitoring the cluster state
To view detailed information on the state of a Greenplum® cluster:
-
Navigate to the folder dashboard
and select Yandex MPP Analytics for PostgreSQL. -
Click the name of your cluster and select the
Monitoring tab.The page that opens will display the performance charts for the Greenplum® cluster.
-
To get started with Yandex Monitoring metrics, dashboards, or alerts, click Open in Monitoring in the top panel.
The page displays the following charts:
-
Connections: Number of DB connections in each state:
- Active
- Waiting
- Idle
- Idle in transaction
- Aborted
-
Segment health: Number of segments with various performance levels:
- total: All segments.
- not sync: Unsynced segments.
- down: Unavailable segments.
- not prefer role: Non-preferred segments.
-
Xid wraparound: Utilization of a sequence of transaction IDs
(as a percentage). -
Master replication lag (in bytes).
-
Master replication state.
-
Spill files size: Total size of temporary files (in bytes).
-
Spill files count: Number of temporary files.
-
Group resource memory: Bytes of RAM used by process group:
- admin_group: In the administrative group.
- default_group: In the default group.
-
Group resource memory: Processor core workload by process group:
- admin_group: In the administrative group.
- default_group: In the default group.
-
Master: Definition of the primary master host.
-
Alive hosts: Availability of the cluster host.
-
Alive segments: Availability of the primary and backup master as well as of the primary and mirror segment.
-
Connection pooler:
- Client connections: Number of available and busy client connections in the pool.
- Server connections: Number of available and busy server connections in the pool.
- TCP connections: Number of TCP connections in the pool.
-
Background activities:
-
Table maintenance:
-
Tables vacuum age: Number of custom tables that were vacuumed N days ago.
-
Tables analyze age: Number of custom tables for which statistics were collected N days ago.
-
Expansion progress: Data redistribution progress when expanding a cluster:
- Tables: Percentage of processed tables.
- Bytes: Percentage of redistributed data bytes.
Note
This chart will show the current progress, even if the data redistribution was started not as a background process.
-
-
System catalog bloat statistics:
- Total catalog size: Catalog size for all segments.
- Number of dead tuples for segments:
dead_tuplecount in thepg_attributetable for all segments. - Interval from the last vacuum time for segments: Time elapsed since the last vacuuming of the
pg_attributetable for all segments.
The chart does not display all the bloat metrics. You can build the charts for the rest of the metrics yourself.
For example, to get the
live_tuplecount in a catalog on the master, run this request:alias(series_max("gp_vacuum.pg_attribute_live_tuples_master"{folderId = "b1g4unjqq856********", service = "managed-greenplum", resource_id = "c9q35r4odgeb********"}), "{{ database }}")See Bloat metrics for the list of available metrics.
-
-
Test Queries Execution Time:
- Read from cluster: Data read rate.
- Write to cluster: Data write rate.
- Read from each segment: Read rate for each cluster segment.
-
Hybrid Storage:
- Objects count: Number of objects in the database.
- Total objects size, bytes: Total size of object in the database, in bytes.
Monitoring the state of hosts
To view detailed information on the state of individual Greenplum® hosts:
- Navigate to the folder dashboard
and select Yandex MPP Analytics for PostgreSQL. - Click the cluster name and select the
Hosts → Monitoring tab. - Select a host from the drop-down list.
This page displays charts showing the workload of an individual cluster host (master or segment):
- CPU: Processor core workload. As the load goes up, the
Idlevalue goes down. - Disk IOPS in progress: Number of pending disk operations.
- Disk io time: Duration of disk operations.
- Disk read and write: Amount of data in disk operations (in bytes).
- Disk read and write time: Duration of disk reads and writes.
- Disk usage: Disk space usage (two charts are displayed, in bytes and %).
- Memory usage: Use of RAM, in bytes. At high workloads, the
Freevalue goes down, while the other values go up. - Network: Amount of network traffic, in bytes.
Monitoring the network state
To view detailed information about the state of a Greenplum® cluster's network:
- Navigate to the folder dashboard
and select Yandex MPP Analytics for PostgreSQL. - Click the cluster name and select the
Monitoring → Network tab.
This page displays the following charts:
-
Interfaces:
- Client Interface Packets: Number of received and sent packets on the client network interface.
- Client Interface Packets: Total amount of received and sent data on the client network interface, in bytes.
- Client Interface Drops and Errors: Number of errors and drops on the client network interface when sending or transmitting packets.
- Service Interface Packets: Number of received and sent packets on the service network interface.
- Service Interface Packets: Total amount of received and sent data on the service network interface, in bytes.
- Service Interface Drops and Errors: Number of errors and drops on the service network interface when sending or transmitting packets.
-
CPU:
- CPU Usage: Usage of processor cores (percentage).
-
Ping and SSH response time:
- Host Ping Average Response: Average ping response time (in milliseconds).
- Host Ping Packet Loss: Lost ping packets (percentage).
- Host SSH Response Time: Response time when connecting over SSH (in milliseconds).
-
TCP counters:
- TcpActiveConnection: Number of active TCP connections in the
ESTABLISHEDorCLOSE-WAITstate. - TCP Errors: Number of errors when transmitting TCP packets.
- TcpEstabPresets: Number of times TCP connections have made a direct transition to the
CLOSEDstate from either theESTABLISHEDorCLOSE-WAITstate. - TCP Retransmission: Number of retransmitted TCP packets.
- TcpActiveConnection: Number of active TCP connections in the
-
ICMP Counters:
- IcmpErrors: Number of ICMP error messages.
- Icmp6PacketsTooBig: Number of ICMPv6 Packet Too Big messages.
- IcmpDestUnreached: Number of ICMP and ICMPv6 Destination Unreachable messages.
-
UDP counters:
- UdpSndbufErrors: Number of buffer errors when sending UDP packets.
- UDP Datagrams: Number of UDP packets.
- UdpRcvbufErrors: Number of buffer errors when receiving UDP packets.
- UDP NoPorts: Number of UDP packets received without a listener on the destination port.
-
IP:
- IpMulticastPackets: Number of received and sent multicast packets.
- Ip6 Neighbor Discovery: Number of sent requests and router advertisements.
- IpBroadcastPackets: Number of received and sent broadcast packets.
- Ip6NoRoutes: Number of IPv6 packets discarded because no route could be found.
PXF monitoring
To view detailed information about the PXF state:
- Navigate to the folder dashboard
and select Yandex MPP Analytics for PostgreSQL. - Click the cluster name and select the
Monitoring → PXF tab.
This page displays the following charts:
-
Liveness: PXF state on hosts.
-
Connections: Number of connections.
-
Log messages: Number of messages of the
warn,trace,info,fatal,error, anddebugtypes. -
File handles: Number of files opened during the PXF process.
-
JVM memory: JVM PXF memory usage (in GB).
-
PXF threads: Number of PXF threads.
-
Sent data: Amount of sent data.
-
Sent records: Number of records sent by PXF.
-
JVM threads: Number of JVM PXF threads.
-
PXF Busy threads: Number of busy PXF threads.
-
Received data: Amount of received data.
-
Received records: Number of records received by PXF.
Monitoring dashboard
To view a dashboard for a Greenplum® cluster, do the following:
- Navigate to the folder dashboard
and select Yandex MPP Analytics for PostgreSQL. - Click the cluster name and select the
Monitoring → Dashboard tab.
This page displays the following charts:
-
Running queries:
- Test write query: Execution time of a test write query with the
DISTRIBUTED REPLICATEDpolicy. - Test read query: Execution time of a test read query where data is fetched from a random segment.
- Overall cluster's query execution time: Histogram of query execution time in the cluster.
- Test write query: Execution time of a test write query with the
-
Cluster liveliness:
- Cluster sessions: Number of sessions in these states:
- active: Processing a query.
- waiting: Waiting for a command.
- idle in transaction: Started the transaction, but the query is idle (e.g., pending
COMMIT).
- Number of live segments: Number of running segment instances including mirrors.
- Queries sent to the cluster: Number of accepted and interrupted (cancelled) queries.
- Cluster sessions: Number of sessions in these states:
-
Segments health:
- Idle CPU: Unused CPU capacity by segment host; the lower the value, the higher the host load.
- Reserved memory: RAM usage (in bytes) by segment host. To avoid errors, remember to keep the value within the limit.
- IOPS: Total size of disk operations (in bytes) across all segment hosts.
- Number of network packets: Number of received and sent packets on network interfaces by segment host. Values close to the limit may cause delays in processing queries.
- Number of network packets in queues: Number of packets in queues on network interfaces by segment host. Approaching the limit may result in delays in processing queries.
- Network traffic: Bandwidth utilization for incoming network traffic by segment host. Values close to the limit may cause delays in processing queries.
- Ping time: Time of running a ping from the master host to the cluster's segment hosts.
- Query execution time per segment: Total execution time for query slices on each of the cluster's segment hosts.
-
Database internal metrics:
- Free memory for resource groups: Available RAM by resource group.
- Summary CPU usage for resource groups: Total CPU usage by resource groups on the cluster. This value is collected from all cluster hosts and may be over 100%.
- CPU throttle time for cgroups: Indicates how long resource group processes need to wait for CPU time due to its full utilization (by host). An exponential increase in this value (from milliseconds to minutes) may cause delays in processing queries.
- Summary spill size: Total size of temporary (spill) files created as a result of RAM shortage.
- Interconnect quality: Percentage of packet retransmissions between segments (Greenplum® Interconnect
traffic) in the total volume of packets sent from each segment host. The higher the value, the less stable the network. - Background activity - the number of sessions: Number of system sessions on each segment in the following states:
- active: Processing a query.
- idle: Waiting for a command.
- aborted: Terminated with an error.
- Background activity - the longest query: Execution time of the longest system query on each segment.
Integration with Yandex Monitoring
To configure cluster and host state indicator alerts:
- In the management console
, select the folder containing the cluster for which you want to set up alerts. - In the list of services, select
Monitoring. - Under Service dashboards, select:
- Yandex MPP Analytics for PostgreSQL — Cluster Overview to set up cluster alerts.
- Yandex MPP Analytics for PostgreSQL — Host Overview to set up host alerts.
- In the indicator chart, click
and select Create alert. - If the chart shows multiple indicators, select a data query to create a metric and click Continue. For more information about the query language, see this Yandex Monitoring guide.
- Set the
AlarmandWarningthresholds for notifications. - Click Create alert.
To have other cluster health indicators monitored automatically:
- Create an alert.
- Add a status metric.
- In the alert parameters, set the alert thresholds.
For a complete list of supported metrics, see this Monitoring article.
Cluster state and status
The State of a cluster shows the health of its hosts, while the Status shows whether the cluster is started, stopped, or is at an intermediate stage.
To check the cluster’s state and status:
- Navigate to the folder dashboard
and select Yandex MPP Analytics for PostgreSQL. - Locate the cluster you need in the list, and hover over the indicator in the Availability column.
Cluster health
| State | Description | Suggested actions |
|---|---|---|
| ALIVE | Cluster is operating normally. | No action is required. |
| DEGRADED | Cluster is not running at its full capacity: the state of at least one of the hosts is other than ALIVE. |
Run the diagnostics:
|
| DEAD | The cluster is down: none of its hosts are running. | Make a support request
|
| UNKNOWN | Cluster state is unknown. | Make a support request
|
Cluster statuses
| Status | Description | Suggested actions |
|---|---|---|
| CREATING | Preparing for the first start | Wait a while and get started. The time it takes to create a cluster depends on the host class. |
| RUNNING | The cluster is operating normally | No action is required. |
| STOPPING | The cluster is stopping | After a while, the cluster status will switch to STOPPED and the cluster will be disabled. No action is required. |
| STOPPED | The cluster is stopped | Start the cluster to get it running again. |
| STARTING | Starting the cluster that was stopped earlier | After a while, the cluster status will switch to RUNNING. Wait a while and get started. |
| UPDATING | Updating the cluster's configuration | Once the update is complete, the cluster will get the status it had prior to the update: RUNNING or STOPPED. |
| ERROR | Error when performing an operation with the cluster or during a maintenance window | If the cluster remains in this status for a long time, contact support |
| STATUS_UNKNOWN | The cluster is unable to determine its status | If the cluster remains in this status for a long time, contact support |
Greenplum® and Greenplum Database® are registered trademarks or trademarks of Broadcom Inc. in the United States and/or other countries.