purefareceiver

package module
v0.99.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 14 Imported by: 6

README

Pure Storage FlashArray Receiver

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

The Pure Storage FlashArray receiver, receives metrics from Pure Storage internal services hosts.

Configuration

The following settings are required:

  • endpoint (default: http://172.0.0.0:9490/metrics/array): The URL of the scraper selected endpoint

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: 10s
        hosts: 13s
        directories: 15s
        pods: 30s
        volumes: 25s

  purefa/array02:
    fa_array_name: foobar02
    endpoint: http://127.0.0.1:9490/metrics
    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: 15s
        hosts: 15s
        directories: 15s
        pods: 30s
        volumes: 25s

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

The full list of settings exposed for this receiver are documented here with detailed sample configurations here.

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"`
}

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