@@ -69,21 +69,59 @@ docker build -t pure-fa-ome:$VERSION .
6969
7070** Authentication**
7171
72- Authentication is used by the exporter as the mechanism to cross authenticate to the scraped appliance, therefore for each array it is required to provide the REST API token for an account that has a 'readonly' role. The api-token must be provided in the http request using the HTTP Authorization header of type 'Bearer'. This is achieved by specifying the api-token value as the authorization parameter of the specific job in the Prometheus configuration file.
72+ Authentication is used by the exporter as the mechanism to cross authenticate to the scraped appliance, therefore for each array it is required to provide the REST API token for an account that has a 'readonly' role. The api-token can be provided in two ways
73+
74+ - using the HTTP Authorization header of type 'Bearer', or
75+ - via a configuration map in a specific configuration file.
76+
77+ The first option requires to specify the api-token value as the authorization parameter of the specific job in the Prometheus configuration file.
78+ The second option provides the FlashArray/api-token key-pair map for a list of arrays in a simple YAML configuration file that is passed as paramether to the exporter. This makes possible to write more concise Prometheus configuration files and also to configure other scrapers that cannot use the HTTP authentication header.
79+
80+ ### Usage
81+
82+ ``` shell
83+
84+ usage: pure-fa-om-exporter [-h| --help] [-a| --address " <value>" ] [-p| --port < integer> ] [-d| --debug] [-t| --tokens < file> ]
85+
86+ Pure Storage FA OpenMetrics exporter
87+
88+ Arguments:
89+
90+ -h --help Print help information
91+ -a --address IP address for this exporter to bind to. Default: 0.0.0.0
92+ -p --port Port for this exporter to listen. Default: 9490
93+ -d --debug Enable debug. Default: false
94+ -t --tokens API token(s) map file
95+ ```
96+
97+ The array token configuration file must have to following syntax:
98+
99+ ``` shell
100+ < array_id1> :
101+ address: < ip-address> | < hosname1>
102+ api_token: < api-token1>
103+ < array_id2> :
104+ address: < ip-address2> | < hostname2>
105+ api_token: < api-token2>
106+ ...
107+ < array_idN> :
108+ address: < ip-addressN> | < hostnameN>
109+ api_token: < api-tokenN>
110+ ```
73111
74112### Scraping endpoints
75113
76114The exporter uses a RESTful API schema to provide Prometheus scraping endpoints.
77115
78116
79- URL | GET parameters | Description
80- ---|---|---
81- http://\< exporter-host\> :\< port\> /metrics | endpoint | Full array metrics
82- http://\< exporter-host\> :\< port\> /metrics/array | endpoint | Array only metrics
83- http://\< exporter-host\> :\< port\> /metrics/volumes | endpoint | Volumes only metrics
84- http://\< exporter-host\> :\< port\> /metrics/hosts | endpoint | Hosts only metrics
85- http://\< exporter-host\> :\< port\> /metrics/pods | endpoint | Pods only metrics
86- http://\< exporter-host\> :\< port\> /metrics/directories| endpoint | Directories only metrics
117+ | URL | GET parameters | Description |
118+ | ------------------------------------------------------ | --------------- | ------------------------- |
119+ | http://\< exporter-host\> :\< port\> /metrics | endpoint | Full array metrics |
120+ | http://\< exporter-host\> :\< port\> /metrics/array | endpoint | Array only metrics |
121+ | http://\< exporter-host\> :\< port\> /metrics/volumes | endpoint | Volumes only metrics |
122+ | http://\< exporter-host\> :\< port\> /metrics/hosts | endpoint | Hosts only metrics |
123+ | http://\< exporter-host\> :\< port\> /metrics/pods | endpoint | Pods only metrics |
124+ | http://\< exporter-host\> :\< port\> /metrics/directories | endpoint | Directories only metrics |
87125
88126Depending on the target array, scraping for the whole set of metrics could result into timeout issues, in which case it is suggested either to increase the scraping timeout or to scrape each single endpoint instead.
89127
@@ -116,47 +154,51 @@ A complete example monitoring stack implemented in Docker Compose which can be f
116154
117155### Metrics Collected
118156
119- | Metric Name | Description |
120- | --------------------------------------------| -----------------------------------------------------|
121- | purefa_info | FlashArray system information |
122- | purefa_alerts_open | FlashArray open alert events |
123- | purefa_array_performance_average_bytes | FlashArray array average operations size in bytes |
124- | purefa_array_performance_bandwidth_bytes | FlashArray array throughput in bytes per second |
125- | purefa_array_performance_latency_usec | FlashArray array latency in microseconds |
126- | purefa_array_performance_queue_depth_ops | FlashArray array queue depth size |
127- | purefa_array_performance_throughput_iops | FlashArray array throughput in iops |
128- | purefa_array_space_bytes | FlashArray array space in bytes |
129- | purefa_array_space_data_reduction_ratio | FlashArray array space data reduction |
130- | purefa_array_space_utilization | FlashArray array space utilization in percent |
131- | purefa_directory_performance_average_bytes | FlashArray directory average operations size in bytes|
132- | purefa_directory_performance_bandwidth_bytes| FlashArray directory throughput in bytes per second |
133- | purefa_directory_performance_latency_usec | FlashArray directory latency in microseconds |
134- | purefa_directory_performance_throughput_iops| FlashArray directory throughput in iops |
135- | purefa_directory_space_bytes | FlashArray directory space in bytes |
136- | purefa_directory_space_data_reduction_ratio | FlashArray directory space data reduction |
137- | purefa_host_connections_info | FlashArray host volumes connections |
138- | purefa_host_performance_average_bytes | FlashArray host average operations size in bytes |
139- | purefa_host_performance_bandwidth_bytes | FlashArray host bandwidth in bytes per second |
140- | purefa_host_performance_latency_usec | FlashArray host latency in microseconds |
141- | purefa_host_performance_throughput_iops | FlashArray host throughput in iops |
142- | purefa_host_space_bytes | FlashArray host space in bytes |
143- | purefa_host_space_data_reduction_ratio | FlashArray host space data reduction |
144- | purefa_host_space_size_bytes | FlashArray host volumes size |
145- | purefa_hw_component_status | FlashArray hardware component status |
146- | purefa_hw_component_temperature_celsius | FlashArray hardware component temperature in C |
147- | purefa_hw_component_voltage_volt | FlashArray hardware component voltage |
148- | purefa_pod_performance_average_bytes | FlashArray pod average operations size |
149- | purefa_pod_performance_bandwidth_bytes | FlashArray pod throughput in bytes per second |
150- | purefa_pod_performance_latency_usec | FlashArray pod latency in microseconds |
151- | purefa_pod_performance_throughput_iops | FlashArray pod throughput in iops |
152- | purefa_pod_space_bytes | FlashArray pod space in bytes |
153- | purefa_pod_space_data_reduction_ratio | FlashArray pod space data reduction |
154- | purefa_volume_performance_average_bytes | FlashArray volume average operations size in bytes |
155- | purefa_volume_performance_bandwidth_bytes | FlashArray volume throughput in bytes per second |
156- | purefa_volume_performance_latency_usec | FlashArray volume latency in microseconds |
157- | purefa_volume_performance_throughput_iops | FlashArray volume throughput in iops |
158- | purefa_volume_space_bytes | FlashArray volume space in bytes |
159- | purefa_volume_space_data_reduction_ratio | FlashArray volume space data reduction |
157+ | Metric Name | Description |
158+ | -----------------------------------------------------| ------------------------------------------------------------|
159+ | purefa_info | FlashArray system information |
160+ | purefa_alerts_open | FlashArray open alert events |
161+ | purefa_array_performance_average_bytes | FlashArray array average operations size in bytes |
162+ | purefa_array_performance_bandwidth_bytes | FlashArray array throughput in bytes per second |
163+ | purefa_array_performance_latency_usec | FlashArray array latency in microseconds |
164+ | purefa_array_performance_queue_depth_ops | FlashArray array queue depth size |
165+ | purefa_array_performance_throughput_iops | FlashArray array throughput in iops |
166+ | purefa_array_space_bytes | FlashArray array space in bytes |
167+ | purefa_array_space_data_reduction_ratio | FlashArray array space data reduction |
168+ | purefa_array_space_utilization | FlashArray array space utilization in percent |
169+ | purefa_directory_performance_average_bytes | FlashArray directory average operations size in bytes |
170+ | purefa_directory_performance_bandwidth_bytes | FlashArray directory throughput in bytes per second |
171+ | purefa_directory_performance_latency_usec | FlashArray directory latency in microseconds |
172+ | purefa_directory_performance_throughput_iops | FlashArray directory throughput in iops |
173+ | purefa_directory_space_bytes | FlashArray directory space in bytes |
174+ | purefa_directory_space_data_reduction_ratio | FlashArray directory space data reduction |
175+ | purefa_host_connections_info | FlashArray host volumes connections |
176+ | purefa_host_performance_average_bytes | FlashArray host average operations size in bytes |
177+ | purefa_host_performance_bandwidth_bytes | FlashArray host bandwidth in bytes per second |
178+ | purefa_host_performance_latency_usec | FlashArray host latency in microseconds |
179+ | purefa_host_performance_throughput_iops | FlashArray host throughput in iops |
180+ | purefa_host_space_bytes | FlashArray host space in bytes |
181+ | purefa_host_space_data_reduction_ratio | FlashArray host space data reduction |
182+ | purefa_host_space_size_bytes | FlashArray host volumes size |
183+ | purefa_hw_component_status | FlashArray hardware component status |
184+ | purefa_hw_component_temperature_celsius | FlashArray hardware component temperature in C |
185+ | purefa_hw_component_voltage_volt | FlashArray hardware component voltage |
186+ | purefa_pod_performance_average_bytes | FlashArray pod average operations size |
187+ | purefa_pod_performance_bandwidth_bytes | FlashArray pod throughput in bytes per second |
188+ | purefa_pod_performance_latency_usec | FlashArray pod latency in microseconds |
189+ | purefa_pod_performance_throughput_iops | FlashArray pod throughput in iops |
190+ | purefa_pod_space_bytes | FlashArray pod space in bytes |
191+ | purefa_pod_space_data_reduction_ratio | FlashArray pod space data reduction |
192+ | purefa_pod_performance_replication_bandwidth_bytes | FlashArray pod replication bandwidth in bytes per second |
193+ | purefa_pod_replica_links_performance_bandwidth_bytes | FlashArray pod replica links throughput in bytes per second |
194+ | purefa_pod_replica_links_lag_average_sec | FlashArray pod replica links average lag in seconds |
195+ | purefa_pod_replica_links_lag_max_sec | FlashArray pod replica links maximum lag in seconds |
196+ | purefa_volume_performance_average_bytes | FlashArray volume average operations size in bytes |
197+ | purefa_volume_performance_bandwidth_bytes | FlashArray volume throughput in bytes per second |
198+ | purefa_volume_performance_latency_usec | FlashArray volume latency in microseconds |
199+ | purefa_volume_performance_throughput_iops | FlashArray volume throughput in iops |
200+ | purefa_volume_space_bytes | FlashArray volume space in bytes |
201+ | purefa_volume_space_data_reduction_ratio | FlashArray volume space data reduction |
160202
161203## Monitoring On-Premise with Prometheus and Grafana
162204Take a holistic overview of your Pure Storage FlashArray estate on-premise with Prometheus and Grafana to summarize statistics such as:
@@ -174,4 +216,4 @@ For more information on dependencies, and notes to deploy -- take look at the ex
174216
175217# License
176218
177- This project is licensed under the Apache 2.0 License - see the [ LICENSE] ( LICENSE ) file for details
219+ This project is licensed under the Apache 2.0 License - see the [ LICENSE] ( LICENSE ) file for details.
0 commit comments