diff --git a/portworx/README.md b/portworx/README.md index baeb6ec0cc..7fc36420c4 100644 --- a/portworx/README.md +++ b/portworx/README.md @@ -4,69 +4,196 @@ Get metrics from Portworx service in real time to: -- Monitor health and performance of your Portworx Cluster -- Track disk usage, latency and throughput for Portworx volumes +- Monitor health and performance of your Portworx cluster +- Track disk usage, latency, and throughput for Portworx volumes +- Set up [Autopilot rules][12] ## Setup -The Portworx check is not included in the [Datadog Agent][2] package, so you need to install it. - ### Installation -For Agent v7.21+ / v6.21+, follow the instructions below to install the Portworx check on your host. See [Use Community Integrations][3] to install with the Docker Agent or earlier versions of the Agent. +#### Create the Datadog credentials Secret + +Create a Kubernetes Secret containing your Datadog API and application keys: + +```yaml +apiVersion: v1 +kind: Secret +metadata: + name: datadog-credentials + namespace: datadog-ns +type: Opaque +data: + # Base64-encoded Datadog API Key + api-key: + # Base64-encoded Datadog Application Key + app-key: +``` -1. Run the following command to install the Agent integration: +- Replace the namespace, secret name, and encoded key values as required. +- Use an application key with metrics read permission for `app-key`. + +#### Configure the Datadog Agent to export Portworx metrics + +Create a Datadog Agent values file (for example, `datadog_config.yaml`): + +```yaml +datadog: + site: "datadoghq.com" + clusterName: "your-cluster-name" + apiKeyExistingSecret: "datadog-credentials" + kubelet: + tlsVerify: false + clusterChecks: + enabled: true + orchestratorExplorer: + enabled: true +clusterAgent: + enabled: true + admissionController: + enabled: true + mutateUnlabelled: false +``` - ```shell - datadog-agent integration install -t datadog-portworx== - ``` +Use your own `site`, `clusterName`, and `apiKeyExistingSecret`. The Agent scrapes Portworx metrics and sends them to Datadog. -2. Configure your integration similar to core [integrations][4]. +Install the Datadog Agent with Helm: -### Configuration +```shell +helm repo add datadog https://helm.datadoghq.com +helm upgrade --install datadog-agent datadog/datadog -f ./datadog_config.yaml +``` -1. Edit the `portworx.d/conf.yaml` file in the `conf.d/` folder at the root of your [Agent's configuration directory][6] to start collecting your Portworx [metrics](#metrics). See the [sample portworx.d/conf.yaml][7] for all available configuration options. +### Configuration - ```yaml - init_config: +#### Annotate Portworx, Stork, and Autopilot pods + +Configure Datadog Autodiscovery annotations so the Agent knows which endpoints to scrape. The typical Prometheus-style service endpoints are: + +| Component | Endpoint | Metrics filter | +|-----------|----------|----------------| +| Portworx API | `http://%%host%%:17001/metrics` | `px_*` | +| Stork | `http://%%host%%:9091/metrics` | `stork_*` | +| Autopilot | `http://%%host%%:9628/metrics` | `autopilot_*` | + +> **Note:** Portworx has many metrics. For most use cases, Portworx API metrics alone are sufficient. + +Apply a `ComponentK8sConfig` Custom Resource (CR) to add the annotations: + +```yaml +apiVersion: core.libopenstorage.org/v1 +kind: ComponentK8sConfig +metadata: + name: datadog-components-config + namespace: portworx +spec: + components: + - componentNames: + - Portworx API + workloadConfigs: + - workloadNames: + - portworx-api + annotations: + ad.datadoghq.com/portworx-api.checks: |- + { + "openmetrics": { + "instances": [ + { + "openmetrics_endpoint": "http://%%host%%:17001/metrics", + "namespace": "portworx", + "metrics": ["px_*"] + } + ] + } + } + - componentNames: + - Stork + workloadConfigs: + - workloadNames: + - stork + annotations: + ad.datadoghq.com/stork.checks: |- + { + "openmetrics": { + "instances": [ + { + "openmetrics_endpoint": "http://%%host%%:9091/metrics", + "namespace": "portworx", + "metrics": ["stork_*"] + } + ] + } + } + - componentNames: + - Autopilot + workloadConfigs: + - workloadNames: + - autopilot + annotations: + ad.datadoghq.com/autopilot.checks: |- + { + "openmetrics": { + "instances": [ + { + "openmetrics_endpoint": "http://%%host%%:9628/metrics", + "namespace": "portworx", + "metrics": ["autopilot_*"] + } + ] + } + } +``` - instances: - # url of the metrics endpoint of prometheus - - prometheus_endpoint: http://localhost:9001/metrics - ``` +At this point, the Datadog Agent is configured to scrape Portworx metrics and the Portworx, Stork, and Autopilot pods are annotated for Autodiscovery. -2. [Restart the Agent][8] +To configure rules, see the [Autopilot documentation][12]. ### Validation -[Run the Agent's `info` subcommand][9], you should see something like the following: +Run the following command to confirm the Agent is scraping Portworx metrics: + +```shell +kubectl exec -n -- agent status +``` + +Look for `openmetrics` instances under the `Checks` section with `portworx`, `stork`, and `autopilot`. ## Compatibility -The Portworx check is compatible with Portworx 1.4.0 and possible earlier versions. +This integration is compatible with Portworx 1.4.0 and later versions. ## Data Collected ### Metrics -See [metadata.csv][10] for a list of metrics provided by this integration. +See [metadata.csv][10] for a list of metrics provided by this integration. For a full reference of all Portworx metrics, see the [Portworx Metrics Reference][13]. ### Events -The Portworx check does not include any events. +The Portworx integration does not include any events. + +### Service Checks + +The Portworx integration does not include any service checks. ## Troubleshooting -### Agent cannot connect +### Agent cannot scrape metrics -```text - portworx - ------- - - instance #0 [ERROR]: "('Connection aborted.', error(111, 'Connection refused'))" - - Collected 0 metrics, 0 events & 0 service check -``` +If metrics are not appearing in Datadog, check the following: -Check that the `url` in `portworx.yaml` is correct. +- Verify the `ComponentK8sConfig` CR was applied and the pods have the expected annotations: + ```shell + kubectl get pod -n portworx -o jsonpath='{.metadata.annotations}' + ``` +- Confirm the OpenMetrics endpoints are reachable from within the Agent pod: + ```shell + kubectl exec -n -- curl http://:17001/metrics + ``` +- Check Agent logs for scrape errors: + ```shell + kubectl logs -n + ``` ## Further Reading @@ -74,13 +201,12 @@ Additional helpful documentation, links, and articles: - [Monitoring multi-cloud container storage with Portworx and Datadog][11] +## Support + +Need help? Contact [Portworx support](mailto:support@purestorage.com). + -[2]: /account/settings/agent/latest -[3]: https://docs.datadoghq.com/agent/guide/use-community-integrations/ -[4]: https://docs.datadoghq.com/getting_started/integrations/ -[6]: https://docs.datadoghq.com/agent/guide/agent-configuration-files/#agent-configuration-directory -[7]: https://github.com/DataDog/integrations-extras/blob/master/portworx/datadog_checks/portworx/data/conf.yaml.example -[8]: https://docs.datadoghq.com/agent/guide/agent-commands/#start-stop-and-restart-the-agent -[9]: https://docs.datadoghq.com/agent/faq/agent-status-and-information/ [10]: https://github.com/DataDog/integrations-extras/blob/master/portworx/metadata.csv [11]: https://www.datadoghq.com/blog/portworx-integration/ +[12]: https://docs.portworx.com/portworx-enterprise/operations/scale-portworx-cluster/autopilot +[13]: https://docs.portworx.com/portworx-enterprise/reference/metrics#storage-pool-metrics diff --git a/portworx/manifest.json b/portworx/manifest.json index e49ada3dfb..bdb2c60775 100644 --- a/portworx/manifest.json +++ b/portworx/manifest.json @@ -26,9 +26,9 @@ ] }, "author": { - "support_email": "paul@portworx.com", + "support_email": "asachan@purestorage.com", "homepage": "https://github.com/DataDog/integrations-extras", - "sales_email": "paul@portworx.com", + "sales_email": "asachan@purestorage.com", "name": "Portworx" }, "assets": { @@ -40,7 +40,7 @@ }, "metrics": { "prefix": "portworx.", - "check": "portworx.cluster.cpu_percent", + "check": "portworx.px_cluster_cpu_percent", "metadata_path": "metadata.csv" }, "service_checks": { diff --git a/portworx/metadata.csv b/portworx/metadata.csv index 4aa925b4ab..5f4798e713 100644 --- a/portworx/metadata.csv +++ b/portworx/metadata.csv @@ -1,86 +1,303 @@ metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name,curated_metric -portworx.alerts.pool_expand_failed,gauge,,,,Triggered when a pool expand operation fails,0,portworx,expand operation fails, -portworx.alerts.pool_expand_successful,gauge,,,,Triggered when a pool expand operation succeeds,0,portworx,expand operation succeeds, -portworx.cluster.cpu_percent,gauge,,percent,,Node CPU Percentage,0,portworx,cpu percentage, -portworx.cluster.disk_available_bytes,gauge,,byte,,Node Available disk space,0,portworx,available bytes, -portworx.cluster.disk_total_bytes,gauge,,byte,,Node total bytes,0,portworx,total bytes, -portworx.cluster.disk_utilized_bytes,gauge,,byte,,Node Utilized bytes,0,portworx,used bytes, -portworx.cluster.memory_utilized_percent,gauge,,percent,,Node Memory Utilization Percentage,0,portworx,memory usage percentage, -portworx.cluster.pendingio,gauge,,,,Node Pendiong IO's,0,portworx,pending IO's, -portworx.cluster.status.cluster_quorum,gauge,,,,Indicates if the cluster is in quorum,0,portworx,cluster in quorum, -portworx.cluster.status.cluster_size,gauge,,,,Node count for your portworx cluster,0,portworx,node count, -portworx.cluster.status.nodes_offline,gauge,,,,Number of offline nodes in the cluster (includes storage and storageless),0,portworx,offline nodes, -portworx.cluster.status.nodes_online,gauge,,,,Number of online nodes in the cluster (includes storage and storageless),0,portworx,online nodes, -portworx.cluster.status.nodes_storage_down,gauge,,,,Number of nodes where the storage is full or down,0,portworx,nodes with storage full or down, -portworx.cluster.status.storage_nodes_offline,gauge,,,,Number of storage nodes that are offline,0,portworx,storage nodes offline, -portworx.cluster.status.storage_nodes_online,gauge,,,,Number of storage nodes that are online,0,portworx,storage nodes online, -portworx.cluster.status_cluster.quorum,gauge,,,,Cluster Quorum,0,portworx,quorum, -portworx.cluster.status_cluster.size,gauge,,,,Cluster Size,0,portworx,cluster size, -portworx.cluster.status_nodes_offline,gauge,,,,Cluster Number of Offline nodes,0,portworx,offline nodes, -portworx.cluster.status_nodes_online,gauge,,,,Cluster Number of Online nodes,0,portworx,online nodes, -portworx.cluster.status_nodes_storage_down,gauge,,,,Cluster Number of nodes with storage down,0,portworx,storage down nodes, -portworx.cluster.status_storage_nodes_offline,gauge,,,,Cluster Number of nodes with storage offline,0,portworx,storage offline nodes, -portworx.cluster.status_storage_nodes_online,gauge,,,,Cluster Number of nodes with storage online,0,portworx,storage online nodes, -portworx.disk_stats.interval_seconds,gauge,,second,,Disk stats for interval seconds,0,portworx,interval seconds, -portworx.disk_stats.io_seconds,gauge,,second,,Disk stats for io's per seconds,0,portworx,io per second, -portworx.disk_stats.num_reads,gauge,,,,Total number of read operations completed successfully for this disk,0,portworx,read operations successful, -portworx.disk_stats.num_writes,gauge,,,,Total number of write operations completed successfully for this disk,0,portworx,write operations successful, -portworx.disk_stats.progress_io,gauge,,second,,Disk stats for io's in progress,0,portworx,io's in progress, -portworx.disk_stats.read_bytes,gauge,,byte,,Disk stats for number of read bytes,0,portworx,read bytes, -portworx.disk_stats.read_latency_seconds,gauge,,second,,Disk stats for read latency in seconds,0,portworx,read latency, -portworx.disk_stats.read_seconds,gauge,,second,,Disk stats for of reads per seconds,0,portworx,reads per second, -portworx.disk_stats.reads,gauge,,,,Disk stats for number of reads,0,portworx,reads, -portworx.disk_stats.used_bytes,gauge,,byte,,Disk stats for used bytes,0,portworx,used bytes, -portworx.disk_stats.write_bytes,gauge,,byte,,Disk stats for of written bytes,0,portworx,written bytes, -portworx.disk_stats.write_latency_seconds,gauge,,second,,Disk stats for write latency in seconds,0,portworx,write latency, -portworx.disk_stats.write_seconds,gauge,,second,,Disk stats for writes per seconds,0,portworx,writes per second, -portworx.disk_stats.writes,gauge,,,,Disk stats for number of writes,0,portworx,writes, -portworx.fs.capacity_bytes,gauge,,byte,,Filesystem stats for total bytes,0,portworx,total bytes, -portworx.fs.usage_bytes,gauge,,byte,,Filesystem stats for used bytes,0,portworx,used bytes, -portworx.network_io.bytessent,gauge,,byte,,Network stats for bytes sent,0,portworx,bytes sent, -portworx.network_io.received_bytes,gauge,,byte,,Network stats for bytes received,0,portworx,bytes received, -portworx.node_status.licence_expiry,gauge,,,,Number of days until License (or License lease) expires (<0 means Expired),0,portworx,days until licence expiry, -portworx.node_status.status,gauge,,,,Status of this node,0,portworx,node status, -portworx.pool_stats.pool_flushed_bytes,gauge,,byte,,Pool stats for flushed bytes,0,portworx,flushed bytes, -portworx.pool_stats.pool_flushms,gauge,,millisecond,,Pool stats for flush latency,0,portworx,flush latency, -portworx.pool_stats.pool_num_flushes,gauge,,,,Pool stats for number of flushes,0,portworx,number of flushes, -portworx.pool_stats.pool_write_latency_seconds,gauge,,second,,Pool stats for write latency,0,portworx,write latency, -portworx.pool_stats.pool_writethroughput,gauge,,byte,,Pool stats for write throughput,0,portworx,write throughput, -portworx.pool_stats.pool_written_bytes,gauge,,byte,,Pool stats for written bytes,0,portworx,written bytes, -portworx.pool_stats.status,gauge,,,,"Status of this pool (0=Offline, 1=Online, 2=Full, 3=NotFound, 4=Maintenance)",0,portworx,pool status, -portworx.pool_stats.write_latency_seconds.main,gauge,,second,,Average time spent per write operation for this pool,0,portworx,time spent per write operation, -portworx.pool_stats.write_throughput.main,gauge,,,,Average number of bytes written per second for this pool,0,portworx,bytes written per second, -portworx.proc_stats.cpu_percenttime,gauge,,,,Proc stats for CPU percent time,0,portworx,cpu percent time, -portworx.proc_stats.res,gauge,,,,Proc stats for resident memory size,0,portworx,resident memory, -portworx.proc_stats.virt,gauge,,,,Proc stats for virtual memory size,0,portworx,virtual memory, -portworx.volume.attached_state,gauge,,,,Attached state for this volume (valid only if volume is attached),0,portworx,attached state for volume, -portworx.volume.capacity_bytes,gauge,,byte,,Volume stats for capacity bytes,0,portworx,capacity bytes, -portworx.volume.currhalevel,gauge,,,,Volume stats for the current HA level,0,portworx,current HA level, -portworx.volume.depth_io,gauge,,,,Volume stats for io depth,0,portworx,io depth, -portworx.volume.dev_depth_io,gauge,,,,Volume Device stats for io depth,0,portworx,io depth, -portworx.volume.dev_read_latency_seconds,gauge,,second,,Volume Device stats for read latency,0,portworx,read latency, -portworx.volume.dev_readthroughput,gauge,,byte,,Volume Device stats for read throughput,0,portworx,read throughput, -portworx.volume.dev_write_latency_seconds,gauge,,second,,Volume Device stats for write latency,0,portworx,write latency, -portworx.volume.dev_writethroughput,gauge,,byte,,Volume Device stats for write throughput,0,portworx,write throughput, -portworx.volume.discard_ops,gauge,,,,Number of discard operations for this volume,0,portworx,discard operations for volume, -portworx.volume.discarded_bytes,gauge,,byte,,Number of discarded bytes for this volume,0,portworx,discard bytes for volume, -portworx.volume.halevel,gauge,,,,Volume stats for HA Level,0,portworx,HA Level, -portworx.volume.iopriority,gauge,,,,Volume stats for IO Priority,0,portworx,IO Priority, -portworx.volume.iops,gauge,,,,Volume stats for IOPS,0,portworx,IOPS, -portworx.volume.num_long_flushes,gauge,,,,Volume stats for number of flushes,0,portworx,number of flushes, -portworx.volume.num_long_reads,gauge,,,,Volume stats for number of long reads,0,portworx,number of long reads, -portworx.volume.num_long_writes,gauge,,,,Volume stats for number of long writes,0,portworx,number of long writes, -portworx.volume.read_bytes,gauge,,byte,,Number of successfully read bytes during this interval for this volume,0,portworx,read bytes for volume, -portworx.volume.read_iops,gauge,,,,Average number of completed read operations per second for this volume,0,portworx,completed read operation for volume, -portworx.volume.read_latency_seconds,gauge,,second,,Average time spent per successfully completed read operation in seconds for this volume,0,portworx,time spent per read operation for volume, -portworx.volume.readthroughput,gauge,,byte,,Volume stats for read throughput,0,portworx,read throughput, -portworx.volume.replication_status,gauge,,,,"Replication status for this volume (0:up, 1:not in quorum, 2:resync state, 3:degraded, 4:detached, 5:restore)",0,portworx,replication status, -portworx.volume.state,gauge,,,,State for this volume,0,portworx,volume state, -portworx.volume.usage_bytes,gauge,,byte,,Volume stats for used bytes,0,portworx,used bytes, -portworx.volume.vol_read_latency_seconds,gauge,,second,,Volume stats for read latency,0,portworx,read latency, -portworx.volume.vol_write_latency_seconds,gauge,,second,,Volume stats for write latency,0,portworx,write latency, -portworx.volume.write_iops,gauge,,,,Average number of completed write operations per second for this volume,0,portworx,completed write operations for volume, -portworx.volume.write_latency_seconds,gauge,,second,,Average time spent per successfully completed write operation in seconds for this volume,0,portworx,time spent per write operation for volume, -portworx.volume.writethroughput,gauge,,byte,,Volume stats for write throughput,0,portworx,write throughput, -portworx.volume.written_bytes,gauge,,byte,,Volume stats for written bytes,0,portworx,written bytes, - +portworx.px_backup_stats_backup_status,gauge,,,,"Status for this backup (0=InProgress,1=Done,2=Failed)",0,portworx,backup status, +portworx.px_backup_stats_backup_size,gauge,,byte,,Size in bytes for this backup,0,portworx,backup size, +portworx.px_backup_stats_backup_duration_seconds,gauge,,second,,Duration in seconds for this backup,0,portworx,backup duration seconds, +portworx.px_backup_stats_backup_uploaded_bytes_mbs,gauge,,byte,,Delta bytes uploaded in MB/s from last interval for this backup,0,portworx,backup uploaded bytes mbs, +portworx.px_backup_stats_download_size_bytes,gauge,,byte,,Size of downloaded bytes during backup/restore from cloud,0,portworx,backup download size bytes, +portworx.px_backup_stats_upload_size_bytes,gauge,,byte,,Size of uploaded bytes during backup/restore from cloud,0,portworx,backup upload size bytes, +portworx.px_backup_stats_get_apis_invoked,gauge,,,,Number of times GET API was invoked,0,portworx,backup get apis invoked, +portworx.px_backup_stats_put_apis_invoked,gauge,,,,Number of times PUT API was invoked,0,portworx,backup put apis invoked, +portworx.px_cluster_cpu_percent,gauge,,percent,,Percentage of CPU used,0,portworx,cluster cpu percent, +portworx.px_cluster_memory_utilized_percent,gauge,,percent,,Percentage of memory utilization,0,portworx,cluster memory utilized percent, +portworx.px_cluster_disk_total_bytes,gauge,,byte,,Total storage space in bytes for this node,0,portworx,cluster disk total bytes, +portworx.px_cluster_disk_available_bytes,gauge,,byte,,Available storage space in bytes for this node,0,portworx,cluster disk available bytes, +portworx.px_cluster_disk_utilized_bytes,gauge,,byte,,Utilized storage space in bytes for this node,0,portworx,cluster disk utilized bytes, +portworx.px_cluster_pendingio,gauge,,,,Number of read and write operations currently in progress for this node,0,portworx,cluster pendingio, +portworx.px_cluster_trashcan_volumes,gauge,,,,Number of volumes currently in the trashcan,0,portworx,cluster trashcan volumes, +portworx.px_cluster_status_cluster_size,gauge,,,,Node count for your Portworx cluster. **Deprecated**.,0,portworx,cluster status cluster size, +portworx.px_cluster_status_size,gauge,,,,Node count for your Portworx cluster,0,portworx,cluster status size, +portworx.px_cluster_status_cluster_quorum,gauge,,,,Indicates if the cluster is in quorum. **Deprecated**.,0,portworx,cluster status cluster quorum, +portworx.px_cluster_status_quorum,gauge,,,,Indicates if the cluster is in quorum,0,portworx,cluster status quorum, +portworx.px_cluster_status_nodes_online,gauge,,,,Number of online nodes in the cluster (includes storage and storageless),0,portworx,cluster status nodes online, +portworx.px_cluster_status_nodes_offline,gauge,,,,Number of offline nodes in the cluster (includes storage and storageless),0,portworx,cluster status nodes offline, +portworx.px_cluster_status_nodes_storage_down,gauge,,,,Number of nodes where the storage is full or down,0,portworx,cluster status nodes storage down, +portworx.px_cluster_status_storage_nodes_online,gauge,,,,Number of storage nodes that are online,0,portworx,cluster status storage nodes online, +portworx.px_cluster_status_storage_nodes_offline,gauge,,,,Number of storage nodes that are offline,0,portworx,cluster status storage nodes offline, +portworx.px_cluster_status_storage_nodes_decommissioned,gauge,,,,Number of storage nodes that are decommissioned,0,portworx,cluster status storage nodes decommissioned, +portworx.px_device_delete_delete_after_discard_enabled,gauge,,,,This is 1 if NBDD is enabled,0,portworx,device delete after discard enabled, +portworx.px_device_delete_discard_bytes_total,count,,byte,,Total bytes discarded across discard requests,0,portworx,device delete discard bytes, +portworx.px_device_delete_discard_duration_msec_total,count,,millisecond,,Total time spent for discard requests,0,portworx,device delete discard duration msec, +portworx.px_device_delete_discard_errors_total,count,,,,Total errors across discard requests,0,portworx,device delete discard errors, +portworx.px_device_delete_discard_operations_total,count,,,,Total number of discard requests ,0,portworx,device delete discard operations, +portworx.px_device_delete_operations_completed_total,count,,,,Total number of delete operations completed,0,portworx,device delete operations completed, +portworx.px_device_delete_operations_inprogress,gauge,,,,Current operations in progress,0,portworx,device delete operations inprogress, +portworx.px_device_delete_operations_queued,gauge,,,,Current operations queued,0,portworx,device delete operations queued, +portworx.px_disk_stats_used_bytes,gauge,,byte,,Total storage in bytes for this disk,0,portworx,disk used bytes, +portworx.px_disk_stats_interval_seconds,gauge,,second,,Length of the disk stats sampling interval in seconds,0,portworx,disk interval seconds, +portworx.px_disk_stats_io_seconds,gauge,,second,,Time spent doing I/O in seconds for this disk,0,portworx,disk io seconds, +portworx.px_disk_stats_progress_io,gauge,,,,I/O operations currently in progress for this disk,0,portworx,disk progress io, +portworx.px_disk_stats_disk_read_bytes,gauge,,byte,,Total bytes read for this disk. **Deprecated**.,0,portworx,disk read bytes, +portworx.px_disk_stats_read_bytes,gauge,,byte,,Total bytes read for this disk,0,portworx,disk read bytes, +portworx.px_disk_stats_write_bytes_seconds,gauge,,byte,,Total written bytes for this disk. **Deprecated**.,0,portworx,disk write bytes seconds, +portworx.px_disk_stats_written_bytes,gauge,,byte,,Total written bytes for this disk,0,portworx,disk written bytes, +portworx.px_disk_stats_read_seconds,gauge,,second,,Total time spent reading in seconds for this disk,0,portworx,disk read seconds, +portworx.px_disk_stats_write_seconds,gauge,,second,,Total time spent writing in seconds for this disk,0,portworx,disk write seconds, +portworx.px_disk_stats_read_latency_seconds,gauge,,second,,Average time spent per read operation in seconds for this disk,0,portworx,disk read latency seconds, +portworx.px_disk_stats_write_latency,gauge,,second,,Average time spent per write operation in seconds for this disk. **Deprecated**.,0,portworx,disk write latency, +portworx.px_disk_stats_write_latency_seconds,gauge,,second,,Average time spent per write operation in seconds for this disk,0,portworx,disk write latency seconds, +portworx.px_disk_stats_disk_num_reads,gauge,,,,Total number of read operations completed successfully for this disk. **Deprecated**.,0,portworx,disk num reads, +portworx.px_disk_stats_disk_num_writes,gauge,,,,Total number of write operations completed successfully for this disk. **Deprecated**.,0,portworx,disk num writes, +portworx.px_disk_stats_num_reads,gauge,,,,Total number of read operations completed successfully for this disk,0,portworx,disk num reads, +portworx.px_disk_stats_num_writes,gauge,,,,Total number of write operations completed successfully for this disk,0,portworx,disk num writes, +portworx.px_disk_stats_num_reads_total,count,,,,Total number of read operations completed successfully for this disk,0,portworx,disk num reads, +portworx.px_disk_stats_num_writes_total,count,,,,Total number of write operations completed successfully for this disk,0,portworx,disk num writes, +portworx.px_disk_stats_written_bytes_total,count,,byte,,Total bytes written for this disk,0,portworx,disk written bytes, +portworx.px_disk_stats_read_bytes_total,count,,byte,,Total bytes read for this disk,0,portworx,disk read bytes, +portworx.px_disk_stats_read_seconds_total,count,,second,,Total time spent reading in seconds for this disk,0,portworx,disk read seconds, +portworx.px_disk_stats_write_seconds_total,count,,second,,Total time spent writing in seconds for this disk,0,portworx,disk write seconds, +portworx.px_fafb_apis_requests_total,count,,,,Total number of API requests made to all the configured FA/FB endpoints,0,portworx,fafb apis requests, +portworx.px_fafb_apis_array_requests_total,count,,,,Total number of API requests made to the /arrays endpoint.,0,portworx,fafb apis array requests, +portworx.px_fafb_apis_login_requests_total,count,,,,Total number of API requests made to the /login endpoint.,0,portworx,fafb apis login requests, +portworx.px_fafb_apis_controllers_requests_total,count,,,,Total number of API requests made to the /controllers endpoint,0,portworx,fafb apis controllers requests, +portworx.px_fafb_apis_alerts_requests_total,count,,,,Total number of API requests made to the /alerts endpoint,0,portworx,fafb apis alerts requests, +portworx.px_fafb_apis_ports_requests_total,count,,,,Total number of API requests made to the /ports endpoint,0,portworx,fafb apis ports requests, +portworx.px_fafb_apis_volumes_requests_total,count,,,,Total number of API requests made to the /volumes endpoint,0,portworx,fafb apis volumes requests, +portworx.px_fafb_apis_volumesnapshots_requests_total,count,,,,Total number of API requests made to the /volume-snapshots endpoint,0,portworx,fafb apis volumesnapshots requests, +portworx.px_fafb_apis_hosts_requests_total,count,,,,Total number of API requests made to the /hosts endpoint,0,portworx,fafb apis hosts requests, +portworx.px_fafb_apis_connections_requests_total,count,,,,Total number of API requests made to the /connections endpoint,0,portworx,fafb apis connections requests, +portworx.px_fafb_apis_version_requests_total,count,,,,Total number of API requests made to the /api_version endpoint,0,portworx,fafb apis version requests, +portworx.px_kvdb_get_requests_total,count,,,,Total number of get requests for a key,0,portworx,kvdb get requests, +portworx.px_kvdb_snapshot_requests_total,count,,,,Total number of kvdb snapshot requests for a list of prefixes,0,portworx,kvdb snapshot requests, +portworx.px_kvdb_put_requests_total,count,,,,Total number of put requests for a key,0,portworx,kvdb put requests, +portworx.px_kvdb_create_requests_total,count,,,,Total number of create requests for a key,0,portworx,kvdb create requests, +portworx.px_kvdb_update_requests_total,count,,,,Total number of update requests for a key,0,portworx,kvdb update requests, +portworx.px_kvdb_enumerate_requests_total,count,,,,Total number of enumerate requests for a key,0,portworx,kvdb enumerate requests, +portworx.px_kvdb_delete_requests_total,count,,,,Total number of delete requests for a key,0,portworx,kvdb delete requests, +portworx.px_kvdb_keys_requests_total,count,,,,Total number of list key requests for a prefix,0,portworx,kvdb keys requests, +portworx.px_kvdb_cas_requests_total,count,,,,Total number of compare and sets for a key,0,portworx,kvdb cas requests, +portworx.px_kvdb_cad_requests_total,count,,,,Total number of compare and deletes for a key,0,portworx,kvdb cad requests, +portworx.px_kvdb_lock_requests_total,count,,,,Total number of lock requests for a key,0,portworx,kvdb lock requests, +portworx.px_kvdb_unlock_requests_total,count,,,,Total number of unlock requests for a key,0,portworx,kvdb unlock requests, +portworx.px_kvdb_watchkey_requests_total,count,,,,Total number of watch requests for a key from a node,0,portworx,kvdb watchkey requests, +portworx.px_kvdb_watchtree_requests_total,count,,,,Total number of watch requests for a prefix from a node,0,portworx,kvdb watchtree requests, +portworx.px_kvdb_adduser_requests_total,count,,,,Total number of add user requests,0,portworx,kvdb adduser requests, +portworx.px_kvdb_removeuser_requests_total,count,,,,Total number of remove user requests,0,portworx,kvdb removeuser requests, +portworx.px_kvdb_grantuser_access_requests_total,count,,,,Total number of grant access requests for a user,0,portworx,kvdb grantuser access requests, +portworx.px_kvdb_revokeuser_access_requests_total,count,,,,Total number of revoke access requests for a user,0,portworx,kvdb revokeuser access requests, +portworx.px_kvdb_addmember_requests_total,count,,,,Total number of add member requests from a node,0,portworx,kvdb addmember requests, +portworx.px_kvdb_addlearner_requests_total,count,,,,Total number of add learner requests from a node,0,portworx,kvdb addlearner requests, +portworx.px_kvdb_removemember_requests_total,count,,,,Total number of remove member requests from a node,0,portworx,kvdb removemember requests, +portworx.px_kvdb_updatemember_requests_total,count,,,,Total number of update member requests from a node,0,portworx,kvdb updatemember requests, +portworx.px_kvdb_listmembers_requests_total,count,,,,Total number of list member requests from a node,0,portworx,kvdb listmembers requests, +portworx.px_kvdb_setendpoints_requests_total,count,,,,Total number of set endpoint requests from a node,0,portworx,kvdb setendpoints requests, +portworx.px_kvdb_getendpoints_requests_total,count,,,,Total number of get endpoint requests from a node,0,portworx,kvdb getendpoints requests, +portworx.px_kvdb_defragment_requests_total,count,,,,Total number of defragment requests from a node,0,portworx,kvdb defragment requests, +portworx.px_kvdb_watch_latency_seconds,gauge,,second,,Time taken in seconds between a kvdb put and a corresponding watch update,0,portworx,kvdb watch latency seconds, +portworx.px_kvdb_health_state_node_view,gauge,,,,"This node's kvdb state (1 = healthy, 2 = not healthy)",0,portworx,kvdb health state node view, +portworx.px_kvdb_health_state_cluster_view,gauge,,,,"This node's view of other node's kvdb state (1 = healthy, 2 = not healthy)",0,portworx,kvdb health state cluster view, +portworx.px_network_io_bytessent,gauge,,byte,,Number of bytes sent during this interval,0,portworx,network io bytessent, +portworx.px_network_io_received_bytes,gauge,,byte,,Number of bytes received during this interval,0,portworx,network io received bytes, +portworx.px_network_io_sent_bytes_total,count,,byte,,Total number of bytes sent,0,portworx,network io sent bytes, +portworx.px_network_io_received_bytes_total,count,,byte,,Total number of bytes received,0,portworx,network io received bytes, +portworx.px_network_io_reservation_waits,gauge,,,,Total number of SM waits for reservation,0,portworx,network io reservation waits, +portworx.px_network_io_reservation_wake_ups,gauge,,,,Total number of SM wake ups after getting the reservation,0,portworx,network io reservation wake ups, +portworx.px_nfs_pool_stats_packets_arrived,gauge,,,,Counts the number of NFS packets arrived on the socket.,0,portworx,nfs pool packets arrived, +portworx.px_nfs_pool_stats_sockets_enqueued,gauge,,,,"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.",0,portworx,nfs pool sockets enqueued, +portworx.px_nfs_pool_stats_threads_woken,gauge,,,,Counts how many times an idle nfsd thread is woken to try to receive some data from an NFS transport.,0,portworx,nfs pool threads woken, +portworx.px_nfs_pool_stats_threads_timedout,gauge,,,,"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.",0,portworx,nfs pool threads timedout, +portworx.px_node_stats_used_mem,gauge,,byte,,Used memory in bytes,0,portworx,node used mem, +portworx.px_node_stats_cpu_usage,gauge,,percent,,Percent of CPU consumption,0,portworx,node cpu usage, +portworx.px_node_stats_busy_threads_percent,gauge,,percent,,Percentage of Busy Threads,0,portworx,node busy threads percent, +portworx.px_node_stats_thread_pool_high_priority_queue_size,gauge,,,,Thread Pool High Priority Queue Size,0,portworx,node thread pool high priority queue size, +portworx.px_node_stats_writeback_list_num_dirty_pools,gauge,,,,Writeback List Number of Dirty Pools,0,portworx,node writeback list num dirty pools, +portworx.px_node_stats_writeback_list_num_pending_log_bufs,gauge,,,,Writeback List Number of Pending Log Buffers,0,portworx,node writeback list num pending log bufs, +portworx.px_node_stats_writeback_list_low_cos_queue_size,gauge,,,,Writeback List Low Cos Queue Size,0,portworx,node writeback list low cos queue size, +portworx.px_node_stats_writeback_list_high_cos_queue_size,gauge,,,,Writeback List High Cos Queue Size,0,portworx,node writeback list high cos queue size, +portworx.px_node_stats_sm_run_queue_size,gauge,,,,Statemachine Run Queue Size,0,portworx,node sm run queue size, +portworx.px_node_stats_kaio_pending_queue_size,gauge,,,,Kaio Pending Queue Size,0,portworx,node kaio pending queue size, +portworx.px_node_stats_request_scheduler_queue_size,gauge,,,,Request Scheduler Queue Size,0,portworx,node request scheduler queue size, +portworx.px_node_stats_procfs_mem_available_bytes,gauge,,byte,,Available memory in bytes,0,portworx,node procfs mem available bytes, +portworx.px_node_stats_procfs_mem_dirty_bytes,gauge,,byte,,The total amount of memory waiting to be written back to the disk,0,portworx,node procfs mem dirty bytes, +portworx.px_node_stats_procfs_mem_writeback_bytes,gauge,,byte,,The total amount of memory actively being written back to the disk,0,portworx,node procfs mem writeback bytes, +portworx.px_node_stats_procfs_mem_total_bytes,gauge,,byte,,Total amount of usable RAM which is physical RAM minus a number of reserved bits and the kernel binary code,0,portworx,node procfs mem total bytes, +portworx.px_node_stats_procfs_mem_free_bytes,gauge,,byte,,"The amount of physical RAM, in bytes, left unused by the system.",0,portworx,node procfs mem free bytes, +portworx.px_node_stats_procfs_mem_buffers_bytes,gauge,,byte,,"The amount, in bytes, of temporary storage for raw disk blocks",0,portworx,node procfs mem buffers bytes, +portworx.px_node_stats_procfs_mem_cached_bytes,gauge,,byte,,"The amount of physical RAM, in bytes, used as cache memory",0,portworx,node procfs mem cached bytes, +portworx.px_node_stats_procfs_mem_active_anon_bytes,gauge,,byte,,"The amount of anonymous and tmpfs/shmem memory, in bytes, that is in active use",0,portworx,node procfs mem active anon bytes, +portworx.px_node_stats_procfs_mem_inactive_anon_bytes,gauge,,byte,,"The amount of anonymous and tmpfs/shmem memory, in bytes, that is a candidate for eviction",0,portworx,node procfs mem inactive anon bytes, +portworx.px_node_stats_procfs_mem_active_file_bytes,gauge,,byte,,"The amount of file cache memory, in bytes, that is in active use",0,portworx,node procfs mem active file bytes, +portworx.px_node_stats_procfs_mem_inactive_file_bytes,gauge,,byte,,"The amount of file cache memory, in bytes, that is newly loaded from the disk",0,portworx,node procfs mem inactive file bytes, +portworx.px_node_stats_procfs_mem_unevictable_bytes,gauge,,byte,,"The amount of memory, in bytes, discovered by the pageout code",0,portworx,node procfs mem unevictable bytes, +portworx.px_node_stats_procfs_mem_mlocked_bytes,gauge,,byte,,"The total amount of memory, in bytes, that is not evictable because it is locked into memory by user programs",0,portworx,node procfs mem mlocked bytes, +portworx.px_node_stats_procfs_mem_anon_pages_bytes,gauge,,byte,,"The total amount of memory, in bytes, used by pages that are not backed by files and are mapped into userspace page tables",0,portworx,node procfs mem anon pages bytes, +portworx.px_node_stats_procfs_mem_mapped_bytes,gauge,,byte,,"The memory, in bytes, used for files that have been mmaped",0,portworx,node procfs mem mapped bytes, +portworx.px_node_stats_procfs_mem_sh_mem_bytes,gauge,,byte,,"The total amount of memory, in bytes, used by shared memory (shmem) and tmpfs",0,portworx,node procfs mem sh mem bytes, +portworx.px_node_stats_num_skinnysnaps,gauge,,,,The number of SkinnySnaps,0,portworx,node num skinnysnaps, +portworx.px_node_stats_skinnysnaps_num_repls_skips,gauge,,,,The number of target replicas skipped for a snapshot due to SkinnySnap,0,portworx,node skinnysnaps num repls skips, +portworx.px_node_stats_skinnysnaps_num_repls_snapshots,gauge,,,,The number of target replicas that underwent a snapshot operation due to SkinnySnap,0,portworx,node skinnysnaps num repls snapshots, +portworx.px_node_stats_relaxed_reclaim_pending,gauge,,,,The number of volumes in RelaxedReclaim pending queue,0,portworx,node relaxed reclaim pending, +portworx.px_node_stats_relaxed_reclaim_skipped,gauge,,,,The number of volume deletes that were skipped from being delayed even when RelaxedReclaim was enabled.,0,portworx,node relaxed reclaim skipped, +portworx.px_node_stats_relaxed_reclaim_deleted,gauge,,,,The number of volume deletes done through RelaxedReclaim,0,portworx,node relaxed reclaim deleted, +portworx.px_node_stats_num_volumes,gauge,,,,The number of volumes hosted on this node,0,portworx,node num volumes, +portworx.px_node_status_node_status,gauge,,,,Status of this node (https://libopenstorage.github.io/w/master.generated-api/#status),0,portworx,node status node status, +portworx.px_node_status_license_expiry,gauge,,,,Number of days until License (or License lease) expires (<0 means Expired),0,portworx,node status license expiry, +portworx.px_none_stats_free_mem,gauge,,byte,,Available memory in bytes,0,portworx,none free mem, +portworx.px_none_stats_total_mem,gauge,,byte,,Total memory in bytes,0,portworx,none total mem, +portworx.px_pool_stats_pool_written_bytes,gauge,,byte,,Bytes written since last interval for this pool. **Deprecated**.,0,portworx,pool written bytes, +portworx.px_pool_stats_pool_write_latency_seconds,gauge,,second,,Average time spent per write operation for this pool. **Deprecated**.,0,portworx,pool write latency seconds, +portworx.px_pool_stats_pool_writethroughput,gauge,,byte,,Average number of bytes written per second for this pool. **Deprecated**.,0,portworx,pool writethroughput, +portworx.px_pool_stats_pool_flushed_bytes,gauge,,byte,,Number of flushed bytes since last interval for this pool. **Deprecated**.,0,portworx,pool flushed bytes, +portworx.px_pool_stats_pool_num_flushes,gauge,,,,Number of flush(sync) operations since last interval for this pool. **Deprecated**.,0,portworx,pool num flushes, +portworx.px_pool_stats_pool_flushms,gauge,,millisecond,,Latency for flush for this pool. **Deprecated**.,0,portworx,pool flushms, +portworx.px_pool_stats_pool_provisioned_bytes,gauge,,byte,,Provisioned storage space in bytes for this pool. **Deprecated**.,0,portworx,pool provisioned bytes, +portworx.px_pool_stats_pool_status,gauge,,,,"Status of this Pool (0=Offline,1=Online). **Deprecated**.",0,portworx,pool status, +portworx.px_pool_stats_written_bytes,gauge,,byte,,Bytes written since last interval for this pool,0,portworx,pool written bytes, +portworx.px_pool_stats_num_writes,gauge,,,,Number of write operations in the last interval for this pool,0,portworx,pool num writes, +portworx.px_pool_stats_write_ms,gauge,,millisecond,,Total time in millisecond spent in writing in the last interval for this pool,0,portworx,pool write ms, +portworx.px_pool_stats_write_latency_seconds,gauge,,second,,Average time spent per write operation for this pool,0,portworx,pool write latency seconds, +portworx.px_pool_stats_write_iops,gauge,,,,Average number of completed write operations per second for this pool,0,portworx,pool write iops, +portworx.px_pool_stats_writethroughput,gauge,,byte,,Average number of bytes written per second for this pool,0,portworx,pool writethroughput, +portworx.px_pool_stats_flushed_bytes,gauge,,byte,,Number of flushed bytes since last interval for this pool,0,portworx,pool flushed bytes, +portworx.px_pool_stats_num_flushes,gauge,,,,Number of flush(sync) operations since last interval for this pool,0,portworx,pool num flushes, +portworx.px_pool_stats_flushms,gauge,,millisecond,,Latency for flush for this pool,0,portworx,pool flushms, +portworx.px_pool_stats_provisioned_bytes,gauge,,byte,,Provisioned storage space in bytes for this pool,0,portworx,pool provisioned bytes, +portworx.px_pool_stats_status,gauge,,,,"Status of this Pool (0=Offline, 1=Online, 2=Full, 3=NotFound, 4=Maintenance)",0,portworx,pool status, +portworx.px_pool_stats_available_bytes,gauge,,byte,,Available storage space in bytes for this pool,0,portworx,pool available bytes, +portworx.px_pool_stats_used_bytes,gauge,,byte,,Used storage space in bytes for this pool,0,portworx,pool used bytes, +portworx.px_pool_stats_total_bytes,gauge,,byte,,Total storage space in bytes for this pool,0,portworx,pool total bytes, +portworx.px_pool_stats_written_bytes_total,count,,byte,,Total bytes written for this pool,0,portworx,pool written bytes, +portworx.px_pool_stats_flushed_bytes_total,count,,byte,,Total number of flushed bytes,0,portworx,pool flushed bytes, +portworx.px_pool_stats_num_flushes_total,count,,,,Total number of flush(sync) operations,0,portworx,pool num flushes, +portworx.px_pool_stats_flushms_total,count,,millisecond,,Total time spent in flush,0,portworx,pool flushms, +portworx.px_proc_stats_virt,gauge,,byte,,Virtual memory in bytes,0,portworx,proc virt, +portworx.px_proc_stats_res,gauge,,byte,,Resident set size memory in bytes,0,portworx,proc res, +portworx.px_proc_stats_cputime,gauge,,,,Amount of time that this process has been scheduled in user and kernel mode measured in clock ticks,0,portworx,proc cputime, +portworx.px_px_cache_status,gauge,,,,"Cache enabled (0=No,1=Yes)",0,portworx,px cache status, +portworx.px_px_cache_total_blocks,gauge,,,,Number of total blocks in the cache,0,portworx,px cache total blocks, +portworx.px_px_cache_used_blocks,gauge,,,,Number of used blocks in the cache,0,portworx,px cache used blocks, +portworx.px_px_cache_dirty_blocks,gauge,,,,Number of dirty blocks in the cache,0,portworx,px cache dirty blocks, +portworx.px_px_cache_read_hits,gauge,,,,Number of read hits for the cache,0,portworx,px cache read hits, +portworx.px_px_cache_read_miss,gauge,,,,Number of read misses for the cache,0,portworx,px cache read miss, +portworx.px_px_cache_write_hits,gauge,,,,Number of write hits for the cache,0,portworx,px cache write hits, +portworx.px_px_cache_write_miss,gauge,,,,Number of write misses for the cache,0,portworx,px cache write miss, +portworx.px_px_cache_block_size,gauge,,,,Block size for the cache,0,portworx,px cache block size, +portworx.px_px_cache_mode,gauge,,,,Mode of the cache,0,portworx,px cache mode, +portworx.px_px_cache_migrate_promote,gauge,,,,Number of blocks promoted to the cache,0,portworx,px cache migrate promote, +portworx.px_px_cache_migrate_demote,gauge,,,,Number of block demoted from the cache,0,portworx,px cache migrate demote, +portworx.px_px_cache_io_mbps,gauge,,,,Approximate cache bandwidth from cache internal actions,0,portworx,px cache io mbps, +portworx.px_rebalance_rebalance_job_state,gauge,,,,"Rebalance job state (0 = pending, 1 = running, 2 = done, 3 = paused, 4 = cancelled)",0,portworx,rebalance job state, +portworx.px_rebalance_provision_space_rebalanced_bytes_total,count,,byte,,Total provisioned space rebalanced (only counts add (since remove has equal value as add)),0,portworx,rebalance provision space rebalanced bytes, +portworx.px_rebalance_used_space_rebalanced_bytes_total,count,,byte,,Total used space rebalanced (only counts add (since remove has equal value as add)),0,portworx,rebalance used space rebalanced bytes, +portworx.px_rebalance_volumes_rebalanced_total,count,,,,Total volumes affected by rebalance operation,0,portworx,rebalance volumes rebalanced, +portworx.px_rebalance_overloaded_pools_total,count,,,,Number of overloaded pools,0,portworx,rebalance overloaded pools, +portworx.px_volume_usage_bytes,gauge,,byte,,Used storage space in bytes for this volume,0,portworx,volume usage bytes, +portworx.px_volume_capacity_bytes,gauge,,byte,,Configured size in bytes for this volume,0,portworx,volume capacity bytes, +portworx.px_volume_halevel,gauge,,,,Configured HA level for this volume,0,portworx,volume halevel, +portworx.px_volume_currhalevel,gauge,,,,Current HA level for this volume,0,portworx,volume currhalevel, +portworx.px_volume_iopriority,gauge,,,,Configured I/O priority for this volume,0,portworx,volume iopriority, +portworx.px_volume_elapsed_time_since_detached_seconds,gauge,,second,,Seconds elapsed since the volume is detached,0,portworx,volume elapsed time since detached seconds, +portworx.px_volume_elapsed_time_since_attached_seconds,gauge,,second,,Seconds elapsed since the volume is attached,0,portworx,volume elapsed time since attached seconds, +portworx.px_volume_attached,gauge,,,,"Attached state for this volume (0=detached,1=attached)",0,portworx,volume attached, +portworx.px_volume_status,gauge,,,,Status for this volume (https://libopenstorage.github.io/w/master.generated-api/#volumestatus),0,portworx,volume status, +portworx.px_volume_state,gauge,,,,State for this volume (https://libopenstorage.github.io/w/master.generated-api/#volumestate),0,portworx,volume state, +portworx.px_volume_attached_state,gauge,,,,Attached state for this volume (valid only if volume is attached) (https://libopenstorage.github.io/w/master.generated-api/#attachstate),0,portworx,volume attached state, +portworx.px_volume_fs_health_status,gauge,,,,Filesystem health status for this volume (https://libopenstorage.github.io/w/master.generated-api/#filesystemhealthstatus),0,portworx,volume fs health status, +portworx.px_volume_replication_status,gauge,,,,"Replication Status for this volume (0 : up, 1 : not in quorum, 2 : resync state, 3 : degraded, 4 : detached, 5 : restore)",0,portworx,volume replication status, +portworx.px_volume_fs_usage_bytes,gauge,,byte,,Used storage space in bytes as reported by the filesystem for this volume,0,portworx,volume fs usage bytes, +portworx.px_volume_fs_capacity_bytes,gauge,,byte,,Total storage space in bytes as reported by the filesystem for this volume,0,portworx,volume fs capacity bytes, +portworx.px_volume_vol_read_bytes,gauge,,byte,,Number of successfully read bytes during this interval for this volume. **Deprecated**.,0,portworx,volume vol read bytes, +portworx.px_volume_vol_written_bytes,gauge,,byte,,Number of successfully written bytes during this interval for this volume. **Deprecated**.,0,portworx,volume vol written bytes, +portworx.px_volume_vol_reads,gauge,,,,Number of successfully completed read operations during this interval for this volume. **Deprecated**.,0,portworx,volume vol reads, +portworx.px_volume_vol_writes,gauge,,,,Number of successfully completed write operations during this interval for this volume. **Deprecated**.,0,portworx,volume vol writes, +portworx.px_volume_read_bytes,gauge,,byte,,Number of successfully read bytes during this interval for this volume,0,portworx,volume read bytes, +portworx.px_volume_written_bytes,gauge,,byte,,Number of successfully written bytes during this interval for this volume,0,portworx,volume written bytes, +portworx.px_volume_reads,gauge,,,,Number of successfully completed read operations during this interval for this volume,0,portworx,volume reads, +portworx.px_volume_writes,gauge,,,,Number of successfully completed write operations during this interval for this volume,0,portworx,volume writes, +portworx.px_volume_read_bytes_total,count,,byte,,Total number of successfully read bytes for this volume,0,portworx,volume read bytes, +portworx.px_volume_written_bytes_total,count,,byte,,Total number of successfully written bytes for this volume,0,portworx,volume written bytes, +portworx.px_volume_reads_total,count,,,,Total number of successfully completed read operations for this volume,0,portworx,volume reads, +portworx.px_volume_writes_total,count,,,,Total number of successfully completed write operations for this volume,0,portworx,volume writes, +portworx.px_volume_iops,gauge,,,,Number of successful completed I/O operations per second during this interval for this volume,0,portworx,volume iops, +portworx.px_volume_write_iops,gauge,,,,Average number of completed write operations per second for this volume,0,portworx,volume write iops, +portworx.px_volume_read_iops,gauge,,,,Average number of completed read operations per second for this volume,0,portworx,volume read iops, +portworx.px_volume_vol_num_sequential_writes,gauge,,,,Number of sequential write I/O operations during this interval for this volume,0,portworx,volume vol num sequential writes, +portworx.px_volume_vol_num_sequential_reads,gauge,,,,Number of sequential read I/O operations during this interval for this volume,0,portworx,volume vol num sequential reads, +portworx.px_volume_vol_num_random_writes,gauge,,,,Number of random write I/O operations during this interval for this volume,0,portworx,volume vol num random writes, +portworx.px_volume_vol_num_random_reads,gauge,,,,Number of random read I/O operations during this interval for this volume,0,portworx,volume vol num random reads, +portworx.px_volume_depth_io,gauge,,,,Number of I/O operations currently in progress for this volume,0,portworx,volume depth io, +portworx.px_volume_readthroughput,gauge,,byte,,Number of bytes read per second during this interval for this volume,0,portworx,volume readthroughput, +portworx.px_volume_writethroughput,gauge,,byte,,Number of bytes written per second during this interval for this volume,0,portworx,volume writethroughput, +portworx.px_volume_vol_bytes_reclaimed,gauge,,byte,,Number of bytes reclaimed by fstrim operation,0,portworx,volume vol bytes reclaimed, +portworx.px_volume_vol_bytes_reclaimable,gauge,,byte,,Number of bytes reclaimable on the volume as seen by fstrim operation,0,portworx,volume vol bytes reclaimable, +portworx.px_volume_vol_read_latency_seconds,gauge,,second,,Average time spent per successfully completed read operation in seconds during this interval for this volume. **Deprecated**.,0,portworx,volume vol read latency seconds, +portworx.px_volume_vol_write_latency_seconds,gauge,,second,,Average time spent per successfully completed write operation in seconds during this interval for this volume. **Deprecated**.,0,portworx,volume vol write latency seconds, +portworx.px_volume_read_latency_seconds,gauge,,second,,Average time spent per successfully completed read operation in seconds for this volume,0,portworx,volume read latency seconds, +portworx.px_volume_write_latency_seconds,gauge,,second,,Average time spent per successfully completed write operation in seconds for this volume,0,portworx,volume write latency seconds, +portworx.px_volume_num_long_reads,gauge,,,,Number of long reads for this volume,0,portworx,volume num long reads, +portworx.px_volume_num_long_writes,gauge,,,,Number of long writes for this volume,0,portworx,volume num long writes, +portworx.px_volume_num_long_flushes,gauge,,,,Number of long flushes for this volume,0,portworx,volume num long flushes, +portworx.px_volume_num_db_flushes,gauge,,,,Number of DB flushes for this volume,0,portworx,volume num db flushes, +portworx.px_volume_replica_read_bytes_total,count,,byte,,Total number of successfully read bytes for this replica volume,0,portworx,volume replica read bytes, +portworx.px_volume_replica_written_bytes_total,count,,byte,,Total number of successfully written bytes for this replica volume,0,portworx,volume replica written bytes, +portworx.px_volume_replica_reads_total,count,,,,Total number of successfully completed read operations for this replica volume,0,portworx,volume replica reads, +portworx.px_volume_replica_writes_total,count,,,,Total number of successfully completed write operations for this replica volume,0,portworx,volume replica writes, +portworx.px_volume_replica_flushes_total,count,,,,Total number of successfully completed flush operations for this replica volume,0,portworx,volume replica flushes, +portworx.px_volume_replica_read_ms_total,count,,millisecond,,Total time spent doing read operations in milliseconds for this replica volume,0,portworx,volume replica read ms, +portworx.px_volume_replica_write_ms_total,count,,millisecond,,Total time doing write operations in milliseconds for this replica volume,0,portworx,volume replica write ms, +portworx.px_volume_replica_flush_ms_total,count,,millisecond,,Total time doing write operations in milliseconds for this replica volume,0,portworx,volume replica flush ms, +portworx.px_volume_dev_depth_io,gauge,,,,Number of I/O operations currently in progress as reported by the kernel pxd device for this volume,0,portworx,volume dev depth io, +portworx.px_volume_dev_writethroughput,gauge,,byte,,Number of successfully written bytes per second as reported by the kernel pxd device for this volume,0,portworx,volume dev writethroughput, +portworx.px_volume_dev_readthroughput,gauge,,byte,,Number of successfully read bytes per second as reported by the kernel pxd device for this volume,0,portworx,volume dev readthroughput, +portworx.px_volume_dev_read_latency_seconds,gauge,,second,,Average time spent per successfully completed read in seconds as reported by the kernel pxd device for this volume,0,portworx,volume dev read latency seconds, +portworx.px_volume_dev_write_latency_seconds,gauge,,second,,Average time spent per successfully completed write in seconds as reported by the kernel pxd device for this volume,0,portworx,volume dev write latency seconds, +portworx.px_volume_dev_read_bytes_total,count,,byte,,Total number of successfully read bytes as reported by the kernel pxd device for this volume,0,portworx,volume dev read bytes, +portworx.px_volume_dev_written_bytes_total,count,,byte,,Number of successfully written bytes as reported by the kernel pxd device for this volume,0,portworx,volume dev written bytes, +portworx.px_volume_dev_reads_total,count,,,,Total number of successfully completed read operations as reported by the kernel pxd device for this volume,0,portworx,volume dev reads, +portworx.px_volume_dev_writes_total,count,,,,Total number of successfully completed write operations as reported by the kernel pxd device for this volume,0,portworx,volume dev writes, +portworx.px_volume_dev_read_seconds_total,count,,second,,Total time spent reading in seconds for this disk as reported by the kernel pxd device for this volume,0,portworx,volume dev read seconds, +portworx.px_volume_dev_write_seconds_total,count,,second,,Total time spent writing in seconds for this disk as reported by the kernel pxd device for this volume,0,portworx,volume dev write seconds, +portworx.px_volume_unique_blocks,gauge,,byte,,Size(in bytes) of unique blocks for this volume,0,portworx,volume unique blocks, +portworx.px_volume_timestamp_records,gauge,,,,Number of timestamp records accumulated,0,portworx,volume timestamp records, +portworx.px_volume_timestamp_records_per_node,gauge,,,,Number of timestamp records accumulated for a node,0,portworx,volume timestamp records per node, +portworx.px_volume_num_discard_ops,gauge,,,,Number of discard operations for this volume,0,portworx,volume num discard ops, +portworx.px_volume_discarded_bytes,gauge,,byte,,Number of discarded bytes for this volume,0,portworx,volume discarded bytes, +portworx.autopilot_errors_total,count,,,,Total number of autopilot errors,0,portworx,autopilot errors, +portworx.autopilot_action_failed_count,gauge,,,,Total number of declined or failed actions,0,portworx,autopilot action failed count, +portworx.autopilot_action_failed_total,count,,,,Total number of failed actions per rule object,0,portworx,autopilot action failed, +portworx.autopilot_objects_in_stable_condition_total,count,,,,Total number of objects with stable conditions per rule,0,portworx,autopilot objects in stable condition, +portworx.autopilot_action_taken_total,count,,,,Total number of actions taken per rule object,0,portworx,autopilot action taken, +portworx.autopilot_objects_total,count,,,,Total number of objects per rule,0,portworx,autopilot objects, +portworx.autopilot_objects_with_rules_total,count,,,,Total number of objects matching any rules,0,portworx,autopilot objects with rules, +portworx.autopilot_rules_in_system,gauge,,,,Total number of rules in the system,0,portworx,autopilot rules in system, +portworx.autopilot_dynamic_throttle_applied_total,count,,,,Total number of dynamic throttles applied,0,portworx,autopilot dynamic throttle applied, +portworx.autopilot_dynamic_throttle_failed_total,count,,,,Total number of dynamic throttles failed to apply,0,portworx,autopilot dynamic throttle failed, +portworx.autopilot_dynamic_throttle_skipped_total,count,,,,Total number of dynamic throttles skipped to apply,0,portworx,autopilot dynamic throttle skipped, +portworx.autopilot_datadog_success_total,count,,,,Total number of successful Datadog queries,0,portworx,autopilot datadog success, +portworx.autopilot_datadog_failures_total,count,,,,Total number of failed Datadog queries,0,portworx,autopilot datadog failures, +portworx.autopilot_datadog_query_validation_failures_total,count,,,,Total number of failed Datadog query validations,0,portworx,autopilot datadog query validation failures, +portworx.autopilot_datadog_empty_response_total,count,,,,Total number of empty Datadog responses,0,portworx,autopilot datadog empty response, +portworx.autopilot_prometheus_empty_response_total,count,,,,Total number of empty Prometheus responses,0,portworx,autopilot prometheus empty response, +portworx.stork_migration_status,gauge,,,,Migration status - used to filter and list migrations by status within the cluster.,0,portworx,stork migration status, +portworx.stork_migration_stage,gauge,,,,"Stage of migration (0 = Initial, 1 = PreExecRule, 2 = PostExecRule, 3 = Volumes, 4 = Applications, 5 = Final).",0,portworx,stork migration stage, +portworx.stork_migration_duration,gauge,,second,,Duration of migration in seconds. Stage label values: `volume` (volume migration) or `resource` (resource migration).,0,portworx,stork migration duration, +portworx.stork_migration_duration_seconds,gauge,,second,,Total time taken by a migration in seconds.,0,portworx,stork migration duration seconds, +portworx.stork_migration_resources,gauge,,,,Count of resources collected for migration (state: planned or migrated).,0,portworx,stork migration resources, +portworx.stork_migration_volumes,gauge,,,,Volumes planned for migration (state: planned or migrated).,0,portworx,stork migration volumes, +portworx.stork_migration_created_total,count,,,,Increments when a migration is created.,0,portworx,stork migration created, +portworx.stork_migration_completed_total,count,,,,"Increments when a migration reaches a terminal state (Successful, Failed, or PartialSuccess).",0,portworx,stork migration completed, +portworx.stork_migration_transfer_rate,gauge,,byte,,Data transfer rate for a single migration (bytes/second).,0,portworx,stork migration transfer rate, +portworx.stork_migration_transferred_bytes,gauge,,byte,,Total bytes transferred during a single migration.,0,portworx,stork migration transferred bytes, +portworx.stork_migration_completion_timestamp_seconds,gauge,,second,,"Timestamp when the latest migration completed for a schedule with the status being Successful, PartialSuccess, or Failed.",0,portworx,stork migration completion timestamp seconds, +portworx.stork_migration_schedule_status,gauge,,,,Status of migration schedules.,0,portworx,stork migration schedule status, +portworx.stork_migration_schedule_last_run_status,gauge,,,,Status of the latest run of each migration schedule.,0,portworx,stork migration schedule last run status, +portworx.stork_action_status,gauge,,,,Status of Failover or Failback actions.,0,portworx,stork action status, +portworx.stork_action_created_total,count,,,,Increments when a Failover/Failback action is created.,0,portworx,stork action created, +portworx.stork_action_completed_total,count,,,,Increments when a Failover/Failback action reaches a terminal state.,0,portworx,stork action completed, +portworx.stork_action_completion_timestamp_seconds,gauge,,second,,"Timestamp when a Failover/Failback action completes with the status as Successful, Failed, RollbackSuccessful, or RollbackFailed.",0,portworx,stork action completion timestamp seconds, +portworx.stork_clusterpair_scheduler_status,gauge,,,,"Status of the cluster pair's health with respect to Kubernetes (0 = NotCreated, 1 = NotReady, 2 = Ready, 3 = Error, 4 = Degraded, 5 = Deleting, 6 = NotProvided, 7 = Paused, 8 = Unknown, 9 = MaintenanceMode).",0,portworx,stork clusterpair scheduler status, +portworx.stork_clusterpair_storage_status,gauge,,,,"Status of the cluster pair's health with respect to storage provisioner (0 = NotCreated, 1 = NotReady, 2 = Ready, 3 = Error, 4 = Degraded, 5 = Deleting, 6 = NotProvided, 7 = Paused, 8 = Unknown, 9 = MaintenanceMode).",0,portworx,stork clusterpair storage status, +portworx.stork_all_namespaces,gauge,,,,"Number of namespaces in the Kubernetes cluster, including Kubernetes system namespaces.",0,portworx,stork all namespaces, +portworx.stork_protected_namespaces,gauge,,,,Count of namespaces being migrated through active migration schedules.,0,portworx,stork protected namespaces, +portworx.stork_hyperconverged_pods_total,gauge,,,,Number of pods scheduled on a node where replicas for all pod volumes exist (hyper-converged by the Stork scheduler).,0,portworx,stork hyperconverged pods, +portworx.stork_non_hyperconverged_pods_total,gauge,,,,Number of pods not hyper-converged by the Stork scheduler.,0,portworx,stork non hyperconverged pods, +portworx.stork_semi_hyperconverged_pods_total,gauge,,,,Number of pods partially hyper-converged (scheduled on nodes with some but not all volume replicas).,0,portworx,stork semi hyperconverged pods,