purefareceiver

package module
v0.119.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2025 License: Apache-2.0 Imports: 14 Imported by: 6

README

Pure Storage FlashArray Receiver

Status
Stability alpha: metrics
Distributions contrib
Issues Open issues Closed issues
Code Owners @jpkrohling, @dgoscn, @chrroberts-pure

The Pure Storage FlashArray receiver, receives metrics from the Pure Storage FlashArray.

Configuration

The following settings are required:

  • endpoint (default: http://127.0.0.0:9490/metrics/array): The URL of the scraper selected endpoint.
  • fa_array_name (no default): The array's pretty name to be used as a metrics label.
  • namespace (default:purefa): The selected Pure Storage OpenMetrics Namespace to query.

In the below examples array01 is using the Pure Storage FlashArray OpenMetrics exporter, while array02 is using the native on-box metrics provided in Purity//FA v6.6.11+.

Example:

extensions:
  bearertokenauth/array01:
    token: "..."
  bearertokenauth/array02:
    token: "..."

receivers:
  purefa/array01:
    fa_array_name: foobar01
    endpoint: http://127.0.0.1:9490/metrics
    array:
      - address: array01
        auth:
          authenticator: bearertokenauth/array01
    hosts:
      - address: array01
        auth:
          authenticator: bearertokenauth/array01
    directories:
      - address: array01
        auth:
          authenticator: bearertokenauth/array01
    pods:
      - address: array01
        auth:
          authenticator: bearertokenauth/array01
    volumes:
      - address: array01
        auth:
          authenticator: bearertokenauth/array01
    env: dev
    settings:
      reload_intervals:
        array: 20s
        hosts: 60s
        directories: 60s
        pods: 60s
        volumes: 60s

  purefa/array02:
    fa_array_name: foobar02
    endpoint: https://127.0.0.1/metrics
    tls:
      insecure_skip_verify: true
    array:
      - address: array02
        auth:
          authenticator: bearertokenauth/array02
    hosts:
      - address: array02
        auth:
          authenticator: bearertokenauth/array02
    directories:
      - address: array02
        auth:
          authenticator: bearertokenauth/array02
    pods:
      - address: array02
        auth:
          authenticator: bearertokenauth/array02
    volumes:
      - address: array02
        auth:
          authenticator: bearertokenauth/array02
    env: production
    settings:
      reload_intervals:
        array: 20s
        hosts: 60s
        directories: 60s
        pods: 60s
        volumes: 60s

service:
  extensions: [bearertokenauth/array01,bearertokenauth/array02]
  pipelines:
    metrics:
      receivers: [purefa/array01,purefa/array02]

The full list of settings exposed for this receiver are documented in config.go with detailed sample configurations in testdata/config.yaml.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() receiver.Factory

NewFactory creates a factory for Pure Storage FlashArray receiver.

Types

type Config

type Config struct {
	confighttp.ClientConfig `mapstructure:",squash"`

	// Settings contains settings for the individual scrapers
	Settings *Settings `mapstructure:"settings"`

	// Array represents the list of arrays to query
	Array []internal.ScraperConfig `mapstructure:"array"`

	// Hosts represents the list of hosts to query
	Hosts []internal.ScraperConfig `mapstructure:"hosts"`

	// Directories represents the list of directories to query
	Directories []internal.ScraperConfig `mapstructure:"directories"`

	// Pods represents the list of pods to query
	Pods []internal.ScraperConfig `mapstructure:"pods"`

	// Volumes represents the list of volumes to query
	Volumes []internal.ScraperConfig `mapstructure:"volumes"`

	// Env represents the respective environment value valid to scrape
	Env string `mapstructure:"env"`

	// ArrayName represents the display name that is appended to the received metrics, as the `host` label if not provided by OpenMetrics output, and to the `fa_array_name` label always
	ArrayName string `mapstructure:"fa_array_name"`

	// Namespace selects the OpenMetrics namespace requested
	Namespace string `mapstructure:"namespace"`
}

Config relating to Array Metric Scraper.

func (*Config) Validate

func (c *Config) Validate() error

type ReloadIntervals

type ReloadIntervals struct {
	Array       time.Duration `mapstructure:"array"`
	Hosts       time.Duration `mapstructure:"hosts"`
	Directories time.Duration `mapstructure:"directories"`
	Pods        time.Duration `mapstructure:"pods"`
	Volumes     time.Duration `mapstructure:"volumes"`
}

type Settings

type Settings struct {
	ReloadIntervals *ReloadIntervals `mapstructure:"reload_intervals"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL