Pure Storage FlashBlade

Supported OS Linux Mac OS Windows

Integrationv1.0.0

Overview

This check monitors the Pure Storage FlashBlade through the Datadog Agent and the Pure Storage FlashBlade OpenMetrics exporter.

The integration can provide performance data at the array, client, share, and bucket level, as well as high-level capacity and configuration information.

You can monitor multiple FlashBlades and aggregate these into a single dashboard, or group them together by customer-defined environment.

This integration requires the following:

  • FlashBlade Purity 3.2.x+
  • Datadog Agent v7.26.x+ to use OpenMetricsBaseCheckV2
  • Python 3
  • The Pure Storage FlashBlade OpenMetrics exporter is installed and running in a containerized environment. Refer to the Pure Storage GitHub repo for installation instructions.

Setup

Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the Autodiscovery Integration Templates for guidance on applying these instructions.

Installation

  1. Download and launch the Datadog Agent.
  2. Manually install the Pure FlashBlade integration. See Use Community Integrations for more details based on your environment.

Host

To configure this check for an Agent running on a host, run datadog-agent integration install -t datadog-purefb==1.0.0.

Configuration

  1. Create a user on your FlashBlade with the Read-Only role and generate an API token for this user.

  2. Add the following configuration block to the purefb.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory, to start collecting your PureFB performance data. See the sample purefb.d/conf.yaml for all available configuration options.

Note: The /array endpoint is required as an absolute minimum when creating your configuration file.

init_config:
   timeout: 120

instances:

  - openmetrics_endpoint: http://<exporter_ip_or_fqdn>:<port>/metrics/array?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fb_array_name:<full_fqdn>
       - host:<full_fqdn>
    headers:
       Authorization: Bearer <api_token>
    min_collection_interval: 120

  - openmetrics_endpoint: http://<exporter_ip_or_fqdn>:<port>/metrics/clients?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fb_array_name:<full_fqdn>
       - host:<full_fqdn>
    headers:
       Authorization: Bearer <api_token>
    min_collection_interval: 600

  - openmetrics_endpoint: http://<exporter_ip_or_fqdn>:<port>/metrics/usage?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fb_array_name:<full_fqdn>
       - host:<full_fqdn>
    headers:
       Authorization: Bearer <api_token>
    min_collection_interval: 600
  1. Restart the Agent.

Validation

Run the Agent’s status subcommand and look for purefb under the Checks section.

Troubleshooting

Arrays are not showing in dashboard

The dashboards included in this integration use the tags env, host, and fb_array_name. Make sure that these are set per instance.

 tags:
    - env:<env>
    - fb_array_name:<full_fqdn>
    - host:<full_fqdn>

Increasing collection interval

For the /array endpoint, the Pure Storage FlashBlade check sets min_collection_interval to 120 by default, and the minimum recommended value is 15. You may increase or decrease min_collection_interval in the purefb.d/conf.yaml file if necessary:

min_collection_interval: 120

For the /clients, and /usage endpoints, the Pure Storage FlashBlade check sets min_collection_interval to 600 by default , and the minimum recommended value is 120. You may increase or decrease min_collection_interval in the purefb.d/conf.yaml file if necessary:

min_collection_interval: 600

Data Collected

Metrics

purefb.info
(gauge)
FlashBlade system information
purefb.hardware.health
(gauge)
FlashBlade hardware component health status
purefb.alerts.open
(gauge)
Open alert events
purefb.array.performance_latency_usec
(gauge)
FlashBlade array latency
Shown as microsecond
purefb.array.performance_throughput_iops
(gauge)
FlashBlade array throughput
Shown as operation
purefb.array.performance_bandwidth_bytes
(gauge)
FlashBlade array bandwidth
Shown as byte
purefb.array.performance_average_bytes
(gauge)
FlashBlade array average operations size
Shown as byte
purefb.array.http_specific_performance_latency_usec
(gauge)
FlashBlade array HTTP specific latency
Shown as microsecond
purefb.array.http_specific_performance_throughput_iops
(gauge)
FlashBlade array HTTP specific throughput
Shown as operation
purefb.array.nfs_latency_usec
(gauge)
FlashBlade array NFS latency
Shown as microsecond
purefb.array.nfs_throughput_iops
(gauge)
FlashBlade array NFS throughput
Shown as operation
purefb.array.s3_specific_performance_latency_usec
(gauge)
FlashBlade array S3 specific latency
Shown as microsecond
purefb.array.s3_specific_performance_throughput_iops
(gauge)
FlashBlade array S3 specific throughput
Shown as operation
purefb.array.space_data_reduction_ratio
(gauge)
FlashBlade space data reduction
purefb.array.space_bytes
(gauge)
FlashBlade space in bytes
Shown as byte
purefb.array.space_parity
(gauge)
FlashBlade space parity
purefb.buckets.performance_latency_usec
(gauge)
FlashBlade buckets latency
Shown as microsecond
purefb.buckets.performance_throughput_iops
(gauge)
FlashBlade buckets throughput
Shown as operation
purefb.buckets.performance_bandwidth_bytes
(gauge)
FlashBlade buckets bandwidth
Shown as byte
purefb.buckets.performance_average_bytes
(gauge)
FlashBlade buckets average operations size
Shown as byte
purefb.buckets.s3_specific_performance_latency_usec
(gauge)
FlashBlade buckets S3 specific latency
Shown as microsecond
purefb.buckets.s3_specific_performance_throughput_iops
(gauge)
FlashBlade buckets S3 specific throughput
Shown as operation
purefb.buckets.space_data_reduction_ratio
(gauge)
FlashBlade buckets space data reduction
purefb.buckets.space_bytes
(gauge)
FlashBlade buckets space in bytes
Shown as byte
purefb.buckets.space_objects
(gauge)
FlashBlade buckets objects count
purefb.file.systems_performance_latency_usec
(gauge)
FlashBlade filesystems latency
Shown as microsecond
purefb.file.systems_performance_throughput_iops
(gauge)
FlashBlade filesystems throughput
Shown as operation
purefb.file.systems_performance_bandwidth_bytes
(gauge)
FlashBlade filesystems bandwidth
Shown as byte
purefb.file.systems_performance_average_bytes
(gauge)
FlashBlade filesystems average operations size
Shown as byte
purefb.file.systems_space_data_reduction_ratio
(gauge)
FlashBlade file systems space data reduction
purefb.file.systems_space_bytes
(gauge)
FlashBlade file systems space in bytes
Shown as byte
purefb.bucket.replica_links_lag_msec
(gauge)
FlashBlade bucket replica links lag
Shown as millisecond
purefb.file.system_links_lag_msec
(gauge)
FlashBlade filesystem links lag
Shown as millisecond
purefb.hardware.connectors_performance_bandwidth_bytes
(gauge)
FlashBlade hardware connectors performance bandwidth
Shown as byte
purefb.hardware.connectors_performance_throughput_pkts
(gauge)
FlashBlade hardware connectors performance throughputh
purefb.hardware.connectors_performance_errors
(gauge)
FlashBlade hardware connectors performance errors per sec
purefb.file.system_usage_users_bytes
(gauge)
FlashBlade file system users usage
Shown as byte
purefb.file.system_usage_groups_bytes
(gauge)
FlashBlade file system groups usage
Shown as byte
purefb.array.clients_performance_latency_usec
(gauge)
FlashBlade array clients latency
Shown as microsecond
purefb.array.clients_performance_throughput_iops
(gauge)
FlashBlade array clients throughput
Shown as operation
purefb.array.clients_performance_bandwidth_bytes
(gauge)
FlashBlade array clients bandwidth
Shown as byte
purefb.array.clients_performance_avg_size_bytes
(gauge)
FlashBlade array clients average operations size
Shown as byte

Events

The PureFB integration does not include any events.

Service Checks

See service_checks.json for a list of service checks provided by this integration.

Support

For support or feature requests, contact Pure Storage through the following methods: