Skip to content

Files

Latest commit

 

History

History

purefa

Agent Check: PureFA

Overview

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

The integration can provide performance data at the array, host, volume and pod level, as well as high-level capacity and configuration information.

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

This integration requires the following:

  • Agent v7.26.x+ to utilize OpenMetricsBaseCheckV2
  • Python 3
  • The Pure Storage OpenMetrics exporter is installed and running in a containerized environment. Refer to the 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 FlashArray 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 sudo -u dd-agent -- datadog-agent integration install -t datadog-purefa==<INTEGRATION_VERSION>.

Note: <INTEGRATION_VERSION> can be found within the CHANGELOG.md for Datadog Integration Extras.

  • e.g. sudo -u dd-agent -- datadog-agent integration install -t datadog-purefa==1.2.0

Configuration

  1. Create a local user on your FlashArray with the Read-Only role and generate an API token for this user. Generate an API Key
  2. Add the following configuration block to the purefa.d/conf.yaml file, in the conf.d/ folder at the root of your Agent's configuration directory to start collecting your PureFA performance data. See the sample purefa.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: 60

instances:

  - openmetrics_endpoint: http://<exporter_ip_or_fqdn>:<port>/metrics/array?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fa_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/volumes?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fa_array_name:<full_fqdn>
    headers:
       Authorization: Bearer <api_token>
    min_collection_interval: 120

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

  - openmetrics_endpoint: http://<exporter_ip_or_fqdn>:<port>/metrics/pods?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fa_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/directories?endpoint=<array_ip_or_fqdn>
    tags:
       - env:<env>
       - fa_array_name:<full_fqdn>
       - host:<full_fqdn>
    headers:
       Authorization: Bearer <api_token>
    min_collection_interval: 120
  1. Restart the Agent.

Validation

Run the Agent's status subcommand and look for purefa under the Checks section.

Upgrading to new versions of this integration

From PureFA Agent Check 1.0.x to 1.1.x

1.1.x supports both the Pure Storage OpenMetrics exporter and the deprecated Pure Storage Prometheus exporter.

The dashboard for the deprecated Pure Storage Prometheus exporter has been renamed to Pure FlashArray - Overview (Legacy Exporter).

A listing of metrics that are both shared and unique to the different exporters are listed in metrics.py. You may need to update your dashboards and/or your alerts to match the new metric names when migrating from the Pure Storage Prometheus exporter to the Pure Storage OpenMetrics exporter. Please contact Pure Storage with the information in the Support tab if you have any questions.

When migrating from Pure Storage Prometheus exporter to the Pure Storage OpenMetrics exporter, the endpoints no longer have /flasharray in the endpoint URI.

In future versions of the PureFA Agent Check, the metric names from the Pure Storage Prometheus exporter will be removed.

Troubleshooting

Arrays are not showing in dashboard

The dashboards included in this integration use the tags env, and fa_array_name. Make sure that these are set per instance. host must also be set for the /array and /pods endpoints in purefa.d/conf.yaml.

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

Increasing collection interval

The Pure Storage FlashArray check sets min_collection_interval to 120 by default, and the minimum recommended value is 20. You may increase/decrease min_collection_interval in the purefa.d/conf.yaml file if necessary:

min_collection_interval: 120

Data Collected

Metrics

See metadata.csv for a list of metrics provided by this check.

Events

The PureFA 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: