Monitoring with the Pure Storage FlashArray OpenMetrics Exporter
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. A Kubernetes example is provided in the main repo here.
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.
First, you’ll want to clone the Git Repo with
git clone https://github.com/PureStorage-OpenConnect/pure-fa-openmetrics-exporter.git
Once the repo is cloned, you’ll want to configure your environment.
- Change into the directory
- Next edit
./prometheus/prometheus.ymlfor 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.credentialto 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.endpointto 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 --detachto launch the monitoring stack.
- Open a browser to http://localhost:3000. The username is
adminand the password is
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:
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.