exporter

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetConfigForClientFunc

func GetConfigForClientFunc(certFile, keyFile, caCertFile string) func(*tls.ClientHelloInfo) (*tls.Config, error)

GetConfigForClientFunc returns a function for tls.Config.GetConfigForClient

func GetServerCertificateFunc

func GetServerCertificateFunc(certFile, keyFile string) func(*tls.ClientHelloInfo) (*tls.Certificate, error)

GetServerCertificateFunc returns a function for tls.Config.GetCertificate

func LoadCAFile

func LoadCAFile(caFile string) (*x509.CertPool, error)

LoadCAFile reads and parses CA certificates from a file into a pool. The file must contain PEM encoded data.

func LoadKeyPair

func LoadKeyPair(certFile, keyFile string) (*tls.Certificate, error)

LoadKeyPair reads and parses a public/private key pair from a pair of files. The files must contain PEM encoded data.

func LoadPwdFile

func LoadPwdFile(passwordFile string) (map[string]string, error)

LoadPwdFile reads the redis password file and returns the password map

Types

type BuildInfo

type BuildInfo struct {
	Version   string
	CommitSha string
	Date      string
}

type Exporter

type Exporter struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Exporter implements the prometheus.Exporter interface, and exports Redis metrics.

func NewRedisExporter

func NewRedisExporter(redisURI string, opts Options) (*Exporter, error)

NewRedisExporter returns a new exporter of Redis metrics.

func (*Exporter) Collect

func (e *Exporter) Collect(ch chan<- prometheus.Metric)

Collect fetches new metrics from the RedisHost and updates the appropriate metrics.

func (*Exporter) CreateClientTLSConfig

func (e *Exporter) CreateClientTLSConfig() (*tls.Config, error)

CreateClientTLSConfig verifies configured files and return a prepared tls.Config

func (*Exporter) CreateServerTLSConfig

func (e *Exporter) CreateServerTLSConfig(certFile, keyFile, caCertFile, minVersionString string) (*tls.Config, error)

CreateServerTLSConfig verifies configuration and return a prepared tls.Config

func (*Exporter) Describe

func (e *Exporter) Describe(ch chan<- *prometheus.Desc)

Describe outputs Redis metric descriptions.

func (*Exporter) ServeHTTP

func (e *Exporter) ServeHTTP(w http.ResponseWriter, r *http.Request)

type Options

type Options struct {
	User                  string
	Password              string
	Namespace             string
	PasswordMap           map[string]string
	ConfigCommandName     string
	CheckKeys             string
	CheckSingleKeys       string
	CheckStreams          string
	CheckSingleStreams    string
	CheckKeysBatchSize    int64
	CheckKeyGroups        string
	MaxDistinctKeyGroups  int64
	CountKeys             string
	LuaScript             map[string][]byte
	ClientCertFile        string
	ClientKeyFile         string
	CaCertFile            string
	InclConfigMetrics     bool
	RedactConfigMetrics   bool
	InclSystemMetrics     bool
	SkipTLSVerification   bool
	SetClientName         bool
	IsTile38              bool
	IsCluster             bool
	ExportClientList      bool
	ExportClientsInclPort bool
	ConnectionTimeouts    time.Duration
	MetricsPath           string
	RedisMetricsOnly      bool
	PingOnConnect         bool
	Registry              *prometheus.Registry
	BuildInfo             BuildInfo
}

Jump to

Keyboard shortcuts

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