Telemetry to Pure1
Telemetry, also called callhome, is a built-in support feature in PX-CSI. When enabled, PX-CSI sends cluster diagnostics, node metadata, and PX-CSI pod logs to Pure1. This data helps Pure Support proactively identify issues, correlate patterns across fleets, and accelerate root cause analysis.
PX-CSI deploys two types of telemetry components in the portworx namespace:
-
The
px-pure-csi-telemetryDaemonSet runs one pod per node. It collects telemetry data, compresses logs, and securely uploads them to Pure1.
Each pod contains the following containers:telemetry: Collects node-specific cluster metadata and telemetry payloads.log-upload-service: Compresses and uploads controller and node plugin logs.envoy: Acts as an HTTPS proxy for outbound telemetry traffic.
-
The
px-pure-csi-telemetry-registrationDeployment runs as a single pod in the cluster. It registers the cluster with Pure1 and manages authentication and certificates.
The pod contains the following containers:telemetry: Coordinates registration operations and handles certificate rotation.registration: Sends cluster identity and configuration to Pure1.envoy: Handles HTTPS communication during registration.
Telemetry does not include workload or application data.
Data collected by telemetry
PX-CSI telemetry collects system metadata from the cluster and sends it to Pure1. The payload is structured as a JSON document and includes the following fields:
-
Cluster identity
ClusterID: Internal PX cluster identifier.ClusterUUID: Unique cluster identifier used across Pure1 and telemetry.
-
Cluster status and metadata
Status: Numerical code representing overall cluster health.ManagementURL: URL for out-of-band cluster management, if configured.
-
Node information
Each node entry contains:
Id: Internal PX node ID.SchedulerNodeName: Kubernetes node name.Cpu: CPU usage as a float (for example, 0.6 = 60%).MemTotal: Total memory in bytes.MemUsed: Used memory in bytes.MemFree: Free memory in bytes.Avgload: Load average at the time of snapshot.MgmtIpandDataIp: IP addresses used for PX control and data planes.Timestamp: Timestamp of the telemetry snapshot.StartTime: PX service start time on the node.NodeLabels: Includes:Kernel VersionOSPX VersioncontainerRuntimekubeletVersion
-
Storage backends
Each backend array includes:
ID: Unique identifier for the backend.Family: Product family (FlashArray or FlashBlade).BackendType: Storage type (blockorfile).PurityVersion: Version of Purity OS on the backend.Model: Array model string.
-
Component versions
The
ClusterImageVersionssection reports PX-CSI sidecar versions:OperatorVersionCSINodeDriverRegistrarVersionCSIProvisionerVersionCSIAttacherVersionCSIResizerVersionCSISnapshotterVersionTelemetryVersion
-
Volume and snapshot data
Volumes: List of volumes deployed by PX-CSI.LocalSnapshots: Number of volume snapshots present in the cluster.
Enable telemetry
Telemetry is enabled by default. If you disabled it during installation, follow these steps to enable it and verify that it's working.
-
Edit the
StorageClusterspecification to enable telemetry.StorageCluster...
spec:
monitoring:
telemetry:
enabled: true
...Additional configuration for air-gapped clusters
In air-gapped clusters, telemetry is supported through a simple or traditional proxy configured to use HTTP mode. If you use a next-generation firewall as a proxy, or if you experience issues with telemetry configuration, contact Portworx Support.
To enable telemetry, configure a proxy and add it to the
PX_HTTP_PROXYorPX_HTTPS_PROXYenvironment variable in yourStorageClusterspecification. Telemetry communicates through the specified proxy.StorageCluster...
spec:
env:
- name: PX_HTTP_PROXY
value: "http://<IP:port>"
- name: PX_HTTPS_PROXY
value: "http://<IP:port>"
...After saving and applying the change, the Portworx Operator deploys telemetry pods in the
portworxnamespace. -
Check that telemetry pods are running.
kubectl get pods -n portworx | grep telemetryYou should see output similar to the following:
px-pure-csi-telemetry-ftph9 3/3 Running 0 23m
px-pure-csi-telemetry-q474h 3/3 Running 0 23m
px-pure-csi-telemetry-registration-659fbf8bd4-cqzww 3/3 Running 0 23m
px-pure-csi-telemetry-zz9lt 3/3 Running 0 23mYou should see multiple pods named
px-pure-csi-telemetry-*and one namedpx-pure-csi-telemetry-registration-*. All pods must be in theRunningstate, and each should show3/3containers ready. -
Run the following command to check log upload activity.
kubectl -n portworx logs pod/<telemetry-pod-name> -c log-upload-service --tail=100Look for lines indicating log bundle uploads, such as:
Upload status 200
Uploaded: /logs/csi-driver-node-2025-xxxx.tar.gz ...
Disable telemetry
To disable telemetry, set the spec.monitoring.telemetry.enabled field to false in the StorageCluster specification:
spec:
monitoring:
telemetry:
enabled: false
After applying the change, the Portworx Operator removes the telemetry components from the cluster.