Monitoring with the Pure Storage FlashArray OpenMetrics Exporter

Page content

This post introduces you to the Pure Storage FlashArray OpenMetrics Exporter. It shows you how to get started quickly using Docker Compose so you can monitor your Pure Storage FlashArray environment.

I implemented this in Docker Compose since that handles all the implementation and configuration steps for you. It specifically configures Prometheus’ data source and a Grafana dashboard for monitoring.

Tip: If you’re building a persistent monitoring solution, I suggest using a dedicated Linux server running Docker Engine (Server) for Linux. If you’re testing out this solution check out Docker Desktop on your operating system choice. In my lab, I’m using Docker Engine on Ubuntu.

The monitoring stack

First, let’s break down each element in this monitoring stack since several pieces come together to provide you with a monitoring platform.

  • Pure Storage FlashArray OpenMetrics Exporter (OME) - this is an application that exports health and performance data from FlashArray.

  • Prometheus - is a time series database that stores the performance metrics exported from OME. In our system, Prometheus polls the Pure Storage FlashArray OpenMetrics Exporter and stores the data in the Prometheus database.

  • Grafana - is an open-source observability platform enabling you to build dashboards to visualize metrics, logs, and alerts from various data sources. In our monitoring stack here; the data source is Prometheus.

Why would I use this?

This Docker Compose implementation is a great place to start getting you off the ground quickly with a configured monitoring stack. This is also helpful if you’re a Pure Storage customer and need to integrate FlashArray Metrics into an enterprise monitoring platform. My plan for this work is to extend the platform and provide SQL Server performance dashboards correlated with FlashArray performance metrics. So watch this space.

Getting started

First, you’ll want to clone the Git Repo with git clone

Once the repo is cloned, you’ll want to configure your environment.

  • Change into the directory cd pure-fa-openmetrics-exporter/examples/config/docker.
  • Next edit ./prometheus/prometheus.yml for the scrape configuration for your environment.
    • In this file, you will find a basic implementation for a single Array, its Volumes, and Hosts. If your enviroment has more than one FlashArray you will need to configure jobs for each FlashArray and the Endpoints you want to monitor.
    • You will need to update authorization.credential to an API token defined in your FlashArray for each of the three scrape configs in the file. For help on creating a user account with an API token, check out this help in the main repo.
    • Next, update params.endpoint to the IP or DNS name of your FlashArray.
    • For more configuration examples, including additional monitoring endpoints, check out this help in the main repo.
  • Then use docker compose up --detach to launch the monitoring stack.
  • Open a browser to http://localhost:3000 (or the IP address or DNS name of your monitoring server). The username is admin and the password is admin!.

What’s it look like

Once the monitoring stack is up and online you will be able to browse directly to the pre-configured dashboard named Pure Storage FlashArray - Overview and you will get a dashboard similar to this:

Click for a full size image.

What’s next

You can continue to configure the rest of your environment in Prometheus and customize the dashboards specific to your environment. I will take this work and extend it with SQL Server-specific performance information to correlate performance data from SQL Server and FlashArray.