Skip to main content
Version: 3.1

Collect diagnostics

About diagnostics

The Portworx diagnostics bundle, known as diags, is a support bundle that provides all the necessary information for the Portworx support team to diagnose any problems in your cluster. It includes the following information:

  • Portworx journal logs
  • Output from common Portworx CLI commands that provide details about cluster, nodes, and volumes
  • Basic information about operating system of the worker nodes
  • Stack and heap files of Portworx processes
  • Alerts generated by the cluster
  • Cores or traces from Portworx processes (if found)

Portworx automatically uploads the diags to Pure Storage's call home service, Pure1. This feature eliminates the need for manually work of uploading diags to support tickets, ultimately reducing the time required to resolve cluster issues.

Prerequisites

  • Portworx 2.12.0 or newer
  • For Operator based installations, Portworx Operator 1.10 or newer using the spec generator
  • Outbound access to the internet to allow connection to Pure1

Enable Pure1 integration

note

Telemetry is not supported for air-gapped clusters or when the PX_HTTPS_PROXY variable has been set.

Enabling telemetry adds a new telemetry pod on each node. This pod is responsible for uploading Portworx diagnostics to Pure1.

Fresh installs

Telemetry and metrics collector are enabled by default for all new clusters when you generate a spec from Portworx Central. However, you can disable this function later in the StorageCluster spec.

Upgrades

When upgrading to Portworx Operator 23.3.0 or newer, the following conditions apply:

  • Telemetry will be enabled by default unless telemetry is disabled in the StorageCluster spec or when the PX_HTTPS_PROXY variable is configured.
  • If telemetry is already enabled and the PX_HTTPS_PROXY environment variable is set, then telemetry will be disabled. When this happens, a Kubernetes warning event will be generated to notify you that telemetry will be disabled.

How to use diags with support tickets

To resolve a support case, you need to provide your cluster UUID to the Portworx support team. This will allow them to retrieve your diags from Pure1 and diagnose the problem in your cluster.

Find your cluster's UUID

Run the following command to get your cluster UUID:

kubectl get storagecluster -n kube-system
NAME                                              CLUSTER UUID                           STATUS   VERSION           AGE
px-cluster-2ec933a4-29be-440c-b5b1-ec53d3ba5b39 199ccacd-4253-4e57-9a3d-b2249dff3501 Online 01d934d_d03a058 26h

Collect diagnostics

Portworx diagnostics are collected in primarily 2 ways:

On demand

This is done via the pxctl CLI. The most common command used here is:

/opt/pwx/bin/pxctl service diags -a

This generates the diagnostics bundle on the node. If the Pure1 telemetry is enabled, it will be automatically uploaded to Pure1.

On crash

If a Portworx process runs into an issue on a node, it will automatically collect diagnostics. If the Pure1 telemetry is enabled, it will be automatically uploaded to Pure1.

Disable Pure1 integration

Operator based install

To disable the metrics collector and telemetry integration, add the following section in your StorageCluster spec:

spec:
monitoring:
telemetry:
enabled: false

This removes the telemetry container from the Portworx pod.

DaemonSet based install

To disable the metrics collector and telemetry integration for DaemonSet based install, remove the telemetry container from the Portworx DaemonSet.

See Generate a complete diagnostics package for the entire CLI syntax.

Was this page helpful?