Portworx Metrics for monitoring
Alert metrics
Alert metrics use variable labels depending on the resource type. Each metric has a label named after its resource type (such as node, volume, drive, or cluster) that contains the resource ID, plus a clusterid label.
| Name | Labels | Description |
|---|---|---|
| px_alerts_callhomefailure | node, clusterid | Increments when a call-home failure alert is raised; decrements when cleared |
| px_alerts_nodestatechange | node, clusterid | Increments when a node state-change alert is raised; decrements when cleared |
| px_alerts_nodestartsuccess | node, clusterid | Increments when a node successfully starts; decrements when cleared |
Backup metrics
Per-backup metrics include volume and volumename labels that identify the backed-up volume. Node-level transfer metrics (px_backup_stats_node_*) do not include volume labels.
| Name | Labels | Description |
|---|---|---|
| px_backup_stats_backup_status | cluster, clusterUUID, nodeID, node, volume, volumename | Status for this backup (0=InProgress,1=Done,2=Failed) |
| px_backup_stats_backup_size | cluster, clusterUUID, nodeID, node, volume, volumename | Size in bytes for this backup |
| px_backup_stats_backup_duration_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Duration in seconds for this backup |
| px_backup_stats_backup_uploaded_bytes_mbs | cluster, clusterUUID, nodeID, node, volume, volumename | Delta bytes uploaded in MB/s from last interval for this backup |
| px_backup_stats_download_size_bytes | cluster, clusterUUID, nodeID, node, volume, volumename | Size of downloaded bytes during backup/restore from cloud |
| px_backup_stats_upload_size_bytes | cluster, clusterUUID, nodeID, node, volume, volumename | Size of uploaded bytes during backup/restore from cloud |
| px_backup_stats_get_apis_invoked | cluster, clusterUUID, nodeID, node, volume, volumename | Number of times GET API was invoked |
| px_backup_stats_put_apis_invoked | cluster, clusterUUID, nodeID, node, volume, volumename | Number of times PUT API was invoked |
| px_backup_stats_read_time_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Time spent in read operations during cloudsnap backup |
| px_backup_stats_write_time_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Time spent in write operations during cloudsnap restore |
| px_backup_stats_upload_time_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Time spent in upload operations during cloudsnap backup |
| px_backup_stats_download_time_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Time spent in download operations during cloudsnap restore |
| px_backup_stats_compress_time_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Time spent in compression during cloudsnap backup |
| px_backup_stats_encrypt_time_seconds | cluster, clusterUUID, nodeID, node, volume, volumename | Time spent in encryption during cloudsnap backup |
| px_backup_stats_node_upload_bytes_total | cluster, clusterUUID, nodeID, node | Total bytes uploaded from this node across all cloudsnaps |
| px_backup_stats_node_download_bytes_total | cluster, clusterUUID, nodeID, node | Total bytes downloaded to this node across all cloudsnaps |
| px_backup_stats_node_upload_bytes_interval | cluster, clusterUUID, nodeID, node | Bytes uploaded from this node in the current interval |
| px_backup_stats_node_download_bytes_interval | cluster, clusterUUID, nodeID, node | Bytes downloaded to this node in the current interval |
| px_backup_stats_node_upload_rate_bytes_per_sec | cluster, clusterUUID, nodeID, node | Current upload rate in bytes per second for this node |
| px_backup_stats_node_download_rate_bytes_per_sec | cluster, clusterUUID, nodeID, node | Current download rate in bytes per second for this node |
Cluster metrics
| Name | Labels | Description |
|---|---|---|
| px_cluster_cpu_percent | cluster, clusterUUID, nodeID, node | Percentage of CPU used |
| px_cluster_memory_utilized_percent | cluster, clusterUUID, nodeID, node | Percentage of memory utilization |
| px_cluster_disk_total_bytes | cluster, clusterUUID, nodeID, node | Total storage space in bytes for this node |
| px_cluster_disk_available_bytes | cluster, clusterUUID, nodeID, node | Available storage space in bytes for this node |
| px_cluster_disk_utilized_bytes | cluster, clusterUUID, nodeID, node | Utilized storage space in bytes for this node |
| px_cluster_pendingio | cluster, clusterUUID, nodeID, node | Number of read and write operations currently in progress for this node |
| px_cluster_trashcan_volumes | cluster, clusterUUID, nodeID, node | Number of volumes currently in the trashcan |
Cluster status metrics
| Name | Labels | Description |
|---|---|---|
| px_cluster_status_cluster_size | cluster, clusterUUID, nodeID, node | Node count for your Portworx cluster. Deprecated. |
| px_cluster_status_size | cluster, clusterUUID, nodeID, node | Node count for your Portworx cluster |
| px_cluster_status_cluster_quorum | cluster, clusterUUID, nodeID, node | Indicates if the cluster is in quorum. Deprecated. |
| px_cluster_status_quorum | cluster, clusterUUID, nodeID, node | Indicates if the cluster is in quorum |
| px_cluster_status_nodes_online | cluster, clusterUUID, nodeID, node | Number of online nodes in the cluster (includes storage and storageless) |
| px_cluster_status_nodes_offline | cluster, clusterUUID, nodeID, node | Number of offline nodes in the cluster (includes storage and storageless) |
| px_cluster_status_nodes_storage_down | cluster, clusterUUID, nodeID, node | Number of nodes where the storage is full or down |
| px_cluster_status_storage_nodes_online | cluster, clusterUUID, nodeID, node | Number of storage nodes that are online |
| px_cluster_status_storage_nodes_offline | cluster, clusterUUID, nodeID, node | Number of storage nodes that are offline |
| px_cluster_status_storage_nodes_decommissioned | cluster, clusterUUID, nodeID, node | Number of storage nodes that are decommissioned |
Device delete metrics
| Name | Labels | Description |
|---|---|---|
| px_device_delete_delete_after_discard_enabled | cluster, clusterUUID, nodeID, node, poolid | Current configuration value indicating if NBDD is enabled |
| px_device_delete_discard_bytes_total | cluster, clusterUUID, nodeID, node, poolid | Total bytes discarded across all device deletes |
| px_device_delete_discard_duration_msec_total | cluster, clusterUUID, nodeID, node, poolid | Total time spent in discard operations in milliseconds across all device deletes |
| px_device_delete_discard_errors_total | cluster, clusterUUID, nodeID, node, poolid | Total number of discard errors encountered across all device deletes |
| px_device_delete_discard_operations_total | cluster, clusterUUID, nodeID, node, poolid | Total number of discard operations performed across all device deletes |
| px_device_delete_discard_size_bytes | cluster, clusterUUID, nodeID, node, poolid | Current configuration value for discard size in bytes |
| px_device_delete_operations_completed_total | cluster, clusterUUID, nodeID, node, poolid | Total number of delete operations completed |
| px_device_delete_operations_inprogress | cluster, clusterUUID, nodeID, node, poolid | Current number of delete operations in progress |
| px_device_delete_operations_queued | cluster, clusterUUID, nodeID, node, poolid | Current number of delete operations queued |
| px_device_delete_release_bytes_total | cluster, clusterUUID, nodeID, node, poolid | Total size of devices processed for storage release in bytes |
| px_device_delete_release_duration_msec_total | cluster, clusterUUID, nodeID, node, poolid | Total time spent in storage release operations in milliseconds |
| px_device_delete_release_operations_total | cluster, clusterUUID, nodeID, node, poolid | Total number of devices processed for storage release |
Disk metrics
| Name | Labels | Description |
|---|---|---|
| px_disk_stats_used_bytes | cluster, clusterUUID, nodeID, node, disk, pool | Total storage in bytes for this disk |
| px_disk_stats_interval_seconds | cluster, clusterUUID, nodeID, node, disk, pool | interval_seconds |
| px_disk_stats_io_seconds | cluster, clusterUUID, nodeID, node, disk, pool | Time spent doing IO in seconds for this disk |
| px_disk_stats_progress_io | cluster, clusterUUID, nodeID, node, disk, pool | IO's currently in progress for this disk |
| px_disk_stats_disk_read_bytes | cluster, clusterUUID, nodeID, node, disk, pool | Total bytes read for this disk. Deprecated. |
| px_disk_stats_read_bytes | cluster, clusterUUID, nodeID, node, disk, pool | Total bytes read for this disk |
| px_disk_stats_write_bytes_seconds | cluster, clusterUUID, nodeID, node, disk, pool | Total written bytes for this disk. Deprecated. |
| px_disk_stats_written_bytes | cluster, clusterUUID, nodeID, node, disk, pool | Total written bytes for this disk |
| px_disk_stats_read_seconds | cluster, clusterUUID, nodeID, node, disk, pool | Total time spent reading in seconds for this disk |
| px_disk_stats_write_seconds | cluster, clusterUUID, nodeID, node, disk, pool | Total time spent writing in seconds for this disk |
| px_disk_stats_read_latency_seconds | cluster, clusterUUID, nodeID, node, disk, pool | Average time spent per read operation in seconds for this disk |
| px_disk_stats_write_latency | cluster, clusterUUID, nodeID, node, disk, pool | Average time spent per write operation in seconds for this disk. Deprecated. |
| px_disk_stats_write_latency_seconds | cluster, clusterUUID, nodeID, node, disk, pool | Average time spent per write operation in seconds |
| px_disk_stats_disk_num_reads | cluster, clusterUUID, nodeID, node, disk, pool | Total number of read operations completed successfully for this disk. Deprecated. |
| px_disk_stats_disk_num_writes | cluster, clusterUUID, nodeID, node, disk, pool | Total number of write operations completed successfully for this disk. Deprecated. |
| px_disk_stats_num_reads | cluster, clusterUUID, nodeID, node, disk, pool | Total number of read operations completed successfully for this disk |
| px_disk_stats_num_writes | cluster, clusterUUID, nodeID, node, disk, pool | Total number of write operations completed successfully for this disk |
| px_disk_stats_num_reads_total | cluster, clusterUUID, nodeID, node, disk, pool | Total number of read operations completed successfully for this disk |
| px_disk_stats_num_writes_total | cluster, clusterUUID, nodeID, node, disk, pool | Total number of write operations completed successfully for this disk |
| px_disk_stats_written_bytes_total | cluster, clusterUUID, nodeID, node, disk, pool | Total bytes written for this disk |
| px_disk_stats_read_bytes_total | cluster, clusterUUID, nodeID, node, disk, pool | Total bytes read for this disk |
| px_disk_stats_read_seconds_total | cluster, clusterUUID, nodeID, node, disk, pool | Total time spent reading in seconds for this disk |
| px_disk_stats_write_seconds_total | cluster, clusterUUID, nodeID, node, disk, pool | Total time spent writing in seconds for this disk |
FA/FB API metrics
| Name | Labels | Description |
|---|---|---|
| px_fafb_apis_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to all the configured FA/FB endpoints |
| px_fafb_apis_array_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /arrays endpoint. |
| px_fafb_apis_login_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /login endpoint. |
| px_fafb_apis_controllers_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /controllers endpoint |
| px_fafb_apis_alerts_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /alerts endpoint |
| px_fafb_apis_ports_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /ports endpoint |
| px_fafb_apis_volumes_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /volumes endpoint |
| px_fafb_apis_volumesnapshots_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /volume-snapshots endpoint |
| px_fafb_apis_hosts_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /hosts endpoint |
| px_fafb_apis_connections_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /connections endpoint |
| px_fafb_apis_version_requests_total | cluster, clusterUUID, nodeID, node | Total number of API requests made to the /api_version endpoint |
Kube Datastore metrics
Use the following Prometheus metrics to monitor Kube Datastore capacity and performance:
| Name | Labels | Description |
|---|---|---|
px_kube_datastore_total_bytes | kube_datastore | Total capacity, in bytes, across all storage pools in the Kube Datastore. |
px_kube_datastore_used_bytes | kube_datastore | Used capacity, in bytes, across all storage pools in the Kube Datastore. |
px_kube_datastore_available_bytes | kube_datastore | Available capacity, in bytes, across all storage pools in the Kube Datastore. |
px_kube_datastore_provisioned_bytes | kube_datastore | Provisioned volume capacity, in bytes, for the Kube Datastore. |
px_kube_datastore_used_percent | kube_datastore | Used capacity as a percentage of the total Kube Datastore capacity. |
px_kube_datastore_provisioned_percent | kube_datastore | Provisioned capacity as a percentage of the total Kube Datastore capacity. |
px_kube_datastore_write_iops | kube_datastore | Write IOPS for the Kube Datastore, calculated as a 5-minute rate. |
px_kube_datastore_write_throughput_bytes_per_second | kube_datastore | Write throughput, in bytes per second, for the Kube Datastore, calculated as a 5-minute rate. |
px_kube_datastore_write_latency_seconds | kube_datastore | Write latency, in seconds, for the Kube Datastore, calculated over a 5-minute rate. |
-
Kube Datastore metrics are generated from storage pool metrics by using Prometheus recording rules installed by the Portworx Operator. Prometheus is required to evaluate these rules. On OpenShift, additional configuration is required to enable the recording rules. For more information, see Enable Kube Datastore metrics.
-
Storage pool metrics include the
kube_datastorelabel, which identifies the Kube Datastore associated with each pool. -
Kube Datastore I/O metrics are available only for write operations because storage pool metrics for read operations are not available.
KVDB metrics
| Name | Labels | Description |
|---|---|---|
| px_kvdb_get_requests_total | cluster, clusterUUID, nodeID, node | Total number of get requests for a key |
| px_kvdb_snapshot_requests_total | cluster, clusterUUID, nodeID, node | Total number of kvdb snapshot requests for a list of prefixes |
| px_kvdb_put_requests_total | cluster, clusterUUID, nodeID, node | Total number of put requests for a key |
| px_kvdb_create_requests_total | cluster, clusterUUID, nodeID, node | Total number of create requests for a key |
| px_kvdb_update_requests_total | cluster, clusterUUID, nodeID, node | Total number of update requests for a key |
| px_kvdb_enumerate_requests_total | cluster, clusterUUID, nodeID, node | Total number of enumerate requests for a key |
| px_kvdb_delete_requests_total | cluster, clusterUUID, nodeID, node | Total number of delete requests for a key |
| px_kvdb_keys_requests_total | cluster, clusterUUID, nodeID, node | Total number of list key requests for a prefix |
| px_kvdb_cas_requests_total | cluster, clusterUUID, nodeID, node | Total number of compare and sets for a key |
| px_kvdb_cad_requests_total | cluster, clusterUUID, nodeID, node | Total number of compare and deletes for a key |
| px_kvdb_lock_requests_total | cluster, clusterUUID, nodeID, node | Total number of lock requests for a key |
| px_kvdb_unlock_requests_total | cluster, clusterUUID, nodeID, node | Total number of unlock requests for a key |
| px_kvdb_watchkey_requests_total | cluster, clusterUUID, nodeID, node | Total number of watch requests for a key from a node |
| px_kvdb_watchtree_requests_total | cluster, clusterUUID, nodeID, node | Total number of watch requests for a prefix from a node |
| px_kvdb_adduser_requests_total | cluster, clusterUUID, nodeID, node | Total number of add user requests |
| px_kvdb_removeuser_requests_total | cluster, clusterUUID, nodeID, node | Total number of remove user requests |
| px_kvdb_grantuser_access_requests_total | cluster, clusterUUID, nodeID, node | Total number of grant access requests for a user |
| px_kvdb_revokeuser_access_requests_total | cluster, clusterUUID, nodeID, node | Total number of revoke access requests for a user |
| px_kvdb_addmember_requests_total | cluster, clusterUUID, nodeID, node | Total number of add member requests from a node |
| px_kvdb_addlearner_requests_total | cluster, clusterUUID, nodeID, node | Total number of add learner requests from a node |
| px_kvdb_removemember_requests_total | cluster, clusterUUID, nodeID, node | Total number of remove member requests from a node |
| px_kvdb_updatemember_requests_total | cluster, clusterUUID, nodeID, node | Total number of update member requests from a node |
| px_kvdb_listmembers_requests_total | cluster, clusterUUID, nodeID, node | Total number of list member requests from a node |
| px_kvdb_setendpoints_requests_total | cluster, clusterUUID, nodeID, node | Total number of set endpoint requests from a node |
| px_kvdb_getendpoints_requests_total | cluster, clusterUUID, nodeID, node | Total number of get endpoint requests from a node |
| px_kvdb_defragment_requests_total | cluster, clusterUUID, nodeID, node | Total number of defragment requests from a node |
| px_kvdb_watch_latency_seconds | cluster, clusterUUID, nodeID, node | Time taken in seconds between a kvdb put and a corresponding watch update |
KVDB health metrics
| Name | Labels | Description |
|---|---|---|
| px_kvdb_health_state_node_view | cluster, clusterUUID, nodeID, node | This node's kvdb state (1 = healthy, 2 = not healthy) |
| px_kvdb_health_state_cluster_view | cluster, clusterUUID, nodeID, node | This node's view of other node's kvdb state (1 = healthy, 2 = not healthy) |
License metrics
| Name | Labels | Description |
|---|---|---|
| px_license_expiry | cluster, clusterUUID, nodeID, node | License expiry in days. A negative value indicates the license has expired. |
| px_license_next_refresh | cluster, clusterUUID, nodeID, node | Next license refresh timestamp in minutes. A negative value indicates that the license will not be refreshed. |
| px_license_type | cluster, clusterUUID, nodeID, node | Indicates the type of license (0=PX-Developer, 1=Legacy Enterprise, 2=Trial, 3=PX-Enterprise, 4=PX-Enterprise floating, 5=IBM Cloud Pak for Data, 6=CISCO OEM, 7=PX-Essential, 8=Portworx CSI for FA/FB, 9=INVALID LICENSE) |
Network I/O metrics
| Name | Labels | Description |
|---|---|---|
| px_network_io_bytessent | cluster, clusterUUID, nodeID, node | Number of bytes sent during this interval |
| px_network_io_received_bytes | cluster, clusterUUID, nodeID, node | Number of bytes received during this interval |
| px_network_io_sent_bytes_total | cluster, clusterUUID, nodeID, node | Total number of bytes sent |
| px_network_io_received_bytes_total | cluster, clusterUUID, nodeID, node | Total number of bytes received |
| px_network_io_reservation_waits | cluster, clusterUUID, nodeID, node, nodeid | Total number of SM waits for reservation |
| px_network_io_reservation_wake_ups | cluster, clusterUUID, nodeID, node, nodeid | Total number of SM wake ups after getting the reservation |
NFS pool metrics
| Name | Labels | Description |
|---|---|---|
| px_nfs_pool_stats_packets_arrived | cluster, clusterUUID, nodeID, node | Counts the number of NFS packets that arrived on the socket. |
| px_nfs_pool_stats_sockets_enqueued | cluster, clusterUUID, nodeID, node | Counts how many times an NFS transport is enqueued to wait for an nfsd thread to service it, i.e. no nfsd thread was considered available. |
| px_nfs_pool_stats_threads_woken | cluster, clusterUUID, nodeID, node | Counts how many times an idle nfsd thread is woken to try to receive some data from an NFS transport. |
| px_nfs_pool_stats_threads_timedout | cluster, clusterUUID, nodeID, node | Counts how many times an nfsd thread triggered an idle timeout, i.e. was not woken to handle any incoming network packets for some time. |