exporters

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2019 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//nolint: deadcode, unused
	BYTE = 1 << (10 * iota)
	//nolint: deadcode, unused
	KILOBYTE
	MEGABYTE
	GIGABYTE
	//nolint: deadcode, unused
	TERABYTE
)

Variables

This section is empty.

Functions

func ListAZs

func ListAZs(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListAgentStates

func ListAgentStates(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListAllServers

func ListAllServers(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListCinderAgentState

func ListCinderAgentState(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListComputeSecGroups

func ListComputeSecGroups(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListDomains

func ListDomains(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListFlavors

func ListFlavors(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListFloatingIps

func ListFloatingIps(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListGroups

func ListGroups(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListHypervisors

func ListHypervisors(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListImages

func ListImages(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListNetworks

func ListNetworks(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListNovaAgentState

func ListNovaAgentState(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListPorts

func ListPorts(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListProjects

func ListProjects(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListRegions

func ListRegions(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListSecGroups

func ListSecGroups(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListSnapshots

func ListSnapshots(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListSubnets

func ListSubnets(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListUsers

func ListUsers(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

func ListVolumes

func ListVolumes(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

Types

type BaseOpenStackExporter

type BaseOpenStackExporter struct {
	Name    string
	Prefix  string
	Metrics map[string]*PrometheusMetric
	Client  *gophercloud.ServiceClient
}

func (*BaseOpenStackExporter) AddMetric

func (exporter *BaseOpenStackExporter) AddMetric(name string, fn ListFunc, labels []string, constLabels prometheus.Labels)

func (*BaseOpenStackExporter) CollectMetrics

func (exporter *BaseOpenStackExporter) CollectMetrics(ch chan<- prometheus.Metric)

func (*BaseOpenStackExporter) GetName

func (exporter *BaseOpenStackExporter) GetName() string

func (*BaseOpenStackExporter) RefreshClient

func (exporter *BaseOpenStackExporter) RefreshClient() error

type CinderExporter

type CinderExporter struct {
	BaseOpenStackExporter
}

func NewCinderExporter

func NewCinderExporter(client *gophercloud.ServiceClient, prefix string) (*CinderExporter, error)

func (*CinderExporter) Collect

func (exporter *CinderExporter) Collect(ch chan<- prometheus.Metric)

func (*CinderExporter) Describe

func (exporter *CinderExporter) Describe(ch chan<- *prometheus.Desc)

type GlanceExporter

type GlanceExporter struct {
	BaseOpenStackExporter
}

func NewGlanceExporter

func NewGlanceExporter(client *gophercloud.ServiceClient, prefix string) (*GlanceExporter, error)

func (*GlanceExporter) Collect

func (exporter *GlanceExporter) Collect(ch chan<- prometheus.Metric)

func (*GlanceExporter) Describe

func (exporter *GlanceExporter) Describe(ch chan<- *prometheus.Desc)

type KeystoneExporter

type KeystoneExporter struct {
	BaseOpenStackExporter
}

func NewKeystoneExporter

func NewKeystoneExporter(client *gophercloud.ServiceClient, prefix string) (*KeystoneExporter, error)

func (*KeystoneExporter) Collect

func (exporter *KeystoneExporter) Collect(ch chan<- prometheus.Metric)

func (*KeystoneExporter) Describe

func (exporter *KeystoneExporter) Describe(ch chan<- *prometheus.Desc)

type ListFunc

type ListFunc func(exporter *BaseOpenStackExporter, ch chan<- prometheus.Metric)

type Metric

type Metric struct {
	Name   string
	Labels []string
	Fn     ListFunc
}

type NeutronExporter

type NeutronExporter struct {
	BaseOpenStackExporter
}

func NewNeutronExporter

func NewNeutronExporter(client *gophercloud.ServiceClient, prefix string) (*NeutronExporter, error)

func (*NeutronExporter) Collect

func (exporter *NeutronExporter) Collect(ch chan<- prometheus.Metric)

func (*NeutronExporter) Describe

func (exporter *NeutronExporter) Describe(ch chan<- *prometheus.Desc)

type NovaExporter

type NovaExporter struct {
	BaseOpenStackExporter
}

func NewNovaExporter

func NewNovaExporter(client *gophercloud.ServiceClient, prefix string) (*NovaExporter, error)

func (*NovaExporter) Collect

func (exporter *NovaExporter) Collect(ch chan<- prometheus.Metric)

func (*NovaExporter) Describe

func (exporter *NovaExporter) Describe(ch chan<- *prometheus.Desc)

type OpenStackExporter

type OpenStackExporter interface {
	GetName() string
	AddMetric(name string, fn ListFunc, labels []string, constLabels prometheus.Labels)
	Describe(ch chan<- *prometheus.Desc)
	Collect(ch chan<- prometheus.Metric)
	CollectMetrics(ch chan<- prometheus.Metric)
	RefreshClient() error
}

func EnableExporter

func EnableExporter(service, prefix, cloud string) (*OpenStackExporter, error)

func NewExporter

func NewExporter(name, prefix, cloud string) (OpenStackExporter, error)

type PrometheusMetric

type PrometheusMetric struct {
	Metric *prometheus.Desc
	Fn     ListFunc
}

Jump to

Keyboard shortcuts

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