Pure Storage Metrics

Pure Storage-related metrics in this repo are documented through the Portworx metrics path.

Prerequisites

Ensure that:
  • Portworx is deployed and exposing Prometheus metrics
  • service path is reachable from the AppDynamics scrape path
  • verify that the portworx-service exposes port 9001
  • Portworx runs as a DaemonSet. Set internalTrafficPolicy: Local on portworx-service so each Machine Agent scrapes the local Portworx pod; otherwise agents may scrape a different node each interval and corrupt the delta-based IOPS metrics.

Enable Prometheus Scraping for Pure Storage

The following are example values from this repo:
  • service: portworx-service
  • namespace: kube-system
  • port: 9001
  • path: /metrics

Replace these values with the storage metrics service name and namespace used in the target environment.

Configure Machine Agent Ingestion

Infrastructure Visibility Prometheus monitoring loads the storage exporter definition through prometheus-config-template.yaml.

Before enabling the scrape, update the exporter YAML service discovery fields to the service name and namespace used by your storage metrics deployment.

Exporter YAML Contract

  • exporter-yamls/storage-exporter.yaml
  • key source metrics:
    • px_cluster_disk_total_bytes
    • px_cluster_disk_utilized_bytes
    • px_cluster_status_nodes_online
    • px_cluster_status_nodes_offline
    • px_cluster_cpu_percent
    • px_volume_reads_total
    • px_volume_writes_total
    • px_volume_readthroughput
    • px_volume_writethroughput
    • px_volume_read_latency_seconds
    • px_volume_write_latency_seconds
  • custom metric family: Custom Metrics|Storage|...

Counter-backed IOPS and throughput metrics in this exporter use delta publication before dashboarding. Throughput metrics are source gauge rates and are aggregated without reportDelta.

Expected AppDynamics Custom Metric Paths

  • Custom Metrics|Storage|Cluster Disk Total Bytes
  • Custom Metrics|Storage|Cluster Disk Utilized Bytes
  • Custom Metrics|Storage|Nodes Online
  • Custom Metrics|Storage|Nodes Offline
  • Custom Metrics|Storage|Cluster CPU (%)
  • Custom Metrics|Storage|Volume Read IOPS
  • Custom Metrics|Storage|Volume Write IOPS
  • Custom Metrics|Storage|Volume Read Throughput
  • Custom Metrics|Storage|Volume Write Throughput
  • Custom Metrics|Storage|Volume Read Latency (microseconds)
  • Custom Metrics|Storage|Volume Write Latency (microseconds)

Create Custom Dashboard

The custom dashboard script generates ready-to-import AppDynamics dashboard JSON files from a set of templates. You supply your environment's node names and, optionally, the custom metric path prefixes. The script substitutes them into the templates and writes the JSON files. See Create Custom Dashboards for AI Pods.

Troubleshooting

Distinguish the zero-valued storage metrics from missing paths before changing the exporter YAML.