collector

package
v2.13.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2023 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MetricsNamespace = "azure_operator"
)

Variables

This section is empty.

Functions

func IsCredentialsNotFoundError added in v2.1.0

func IsCredentialsNotFoundError(err error) bool

IsCredentialsNotFoundError asserts credentialsNotFoundError.

func IsInvalidConfig

func IsInvalidConfig(err error) bool

IsInvalidConfig asserts invalidConfigError.

func IsMissingOrganizationLabel added in v2.1.0

func IsMissingOrganizationLabel(err error) bool

IsMissingOrganizationLabel asserts missingOrganizationLabel.

func IsNotFound added in v2.8.0

func IsNotFound(err error) bool

func IsThrottlingError added in v2.1.0

func IsThrottlingError(err error) bool

IsThrottlingError asserts 429 response.

func IsTooManyCredentialsError added in v2.1.0

func IsTooManyCredentialsError(err error) bool

IsTooManyCredentialsError asserts tooManyCredentialsError.

Types

type Deployment

type Deployment struct {
	// contains filtered or unexported fields
}

func NewDeployment

func NewDeployment(config DeploymentConfig) (*Deployment, error)

NewDeployment exposes metrics about the Azure ARM Deployments for every cluster on this installation. It finds the cluster in the control plane, and uses the cluster Azure credentials to find the Deployments info.

func (*Deployment) Collect

func (d *Deployment) Collect(ch chan<- prometheus.Metric) error

func (*Deployment) Describe

func (d *Deployment) Describe(ch chan<- *prometheus.Desc) error

type DeploymentConfig

type DeploymentConfig struct {
	G8sClient  versioned.Interface
	K8sClient  kubernetes.Interface
	Logger     micrologger.Logger
	GSTenantID string
}

type LoadBalancer added in v2.8.0

type LoadBalancer struct {
	// contains filtered or unexported fields
}

func NewLoadBalancer added in v2.8.0

func NewLoadBalancer(config LoadBalancerConfig) (*LoadBalancer, error)

NewLoadBalancer exposes metrics about the 'kubernetes' load balancer used to Kubernetes services with type LoadBalancer.

func (*LoadBalancer) Collect added in v2.8.0

func (d *LoadBalancer) Collect(ch chan<- prometheus.Metric) error

func (*LoadBalancer) Describe added in v2.8.0

func (d *LoadBalancer) Describe(ch chan<- *prometheus.Desc) error

type LoadBalancerConfig added in v2.8.0

type LoadBalancerConfig struct {
	G8sClient  versioned.Interface
	K8sClient  kubernetes.Interface
	Logger     micrologger.Logger
	GSTenantID string
}

type RateLimit

type RateLimit struct {
	// contains filtered or unexported fields
}

func NewRateLimit

func NewRateLimit(config RateLimitConfig) (*RateLimit, error)

NewRateLimit exposes metrics about the Azure resource group client rate limit. It creates and fetches a resource group. That way it can inspect the Azure API response to find rate limit headers. It uses the credentials found in the "credential-*" secrets of the control plane.

func (*RateLimit) Collect

func (u *RateLimit) Collect(ch chan<- prometheus.Metric) error

func (*RateLimit) Describe

func (u *RateLimit) Describe(ch chan<- *prometheus.Desc) error

type RateLimitConfig

type RateLimitConfig struct {
	G8sClient  versioned.Interface
	K8sClient  kubernetes.Interface
	Logger     micrologger.Logger
	Location   string
	GSTenantID string
}

type ResourceGroup

type ResourceGroup struct {
	// contains filtered or unexported fields
}

func NewResourceGroup

func NewResourceGroup(config ResourceGroupConfig) (*ResourceGroup, error)

NewResourceGroup exposes metrics on the existing resource groups for every subscription. It exposes metrcis about the subscriptions found in the "credential-*" secrets of the control plane.

func (*ResourceGroup) Collect

func (r *ResourceGroup) Collect(ch chan<- prometheus.Metric) error

func (*ResourceGroup) Describe

func (r *ResourceGroup) Describe(ch chan<- *prometheus.Desc) error

type ResourceGroupConfig

type ResourceGroupConfig struct {
	K8sClient  kubernetes.Interface
	Logger     micrologger.Logger
	GSTenantID string
}

type SPExpiration

type SPExpiration struct {
	// contains filtered or unexported fields
}

func NewSPExpiration

func NewSPExpiration(config SPExpirationConfig) (*SPExpiration, error)

NewSPExpiration exposes metrics about the expiration date of Azure Service Principals. It exposes metrcis about the Service Principals found in the "credential-*" secrets of the control plane.

func (*SPExpiration) Collect

func (v *SPExpiration) Collect(ch chan<- prometheus.Metric) error

func (*SPExpiration) Describe

func (v *SPExpiration) Describe(ch chan<- *prometheus.Desc) error

type SPExpirationConfig

type SPExpirationConfig struct {
	K8sClient  kubernetes.Interface
	Logger     micrologger.Logger
	GSTenantID string
}

type Set

type Set struct {
	*collector.Set
}

Set is basically only a wrapper for the operator's collector implementations. It eases the iniitialization and prevents some weird import mess so we do not have to alias packages.

func NewSet

func NewSet(config SetConfig) (*Set, error)

type SetConfig

type SetConfig struct {
	K8sClient                 k8sclient.Interface
	Location                  string
	Logger                    micrologger.Logger
	ControlPlaneResourceGroup string
	GSTenantID                string
}

type Usage

type Usage struct {
	// contains filtered or unexported fields
}

func NewUsage

func NewUsage(config UsageConfig) (*Usage, error)

NewUsage exposes metrics about the quota usage on Azure so we can alert when we are reaching the quota limits. It exposes quota metrics for every subscription found in the "credential-*" secrets of the control plane.

func (*Usage) Collect

func (u *Usage) Collect(ch chan<- prometheus.Metric) error

func (*Usage) Describe

func (u *Usage) Describe(ch chan<- *prometheus.Desc) error

type UsageConfig

type UsageConfig struct {
	G8sClient versioned.Interface
	K8sClient kubernetes.Interface
	Logger    micrologger.Logger

	Location   string
	GSTenantID string
}

type VMSSRateLimit

type VMSSRateLimit struct {
	// contains filtered or unexported fields
}

func NewVMSSRateLimit

func NewVMSSRateLimit(config VMSSRateLimitConfig) (*VMSSRateLimit, error)

func (*VMSSRateLimit) Collect

func (u *VMSSRateLimit) Collect(ch chan<- prometheus.Metric) error

func (*VMSSRateLimit) Describe

func (u *VMSSRateLimit) Describe(ch chan<- *prometheus.Desc) error

type VMSSRateLimitConfig

type VMSSRateLimitConfig struct {
	CtrlClient ctrlclient.Client
	Logger     micrologger.Logger
	GSTenantID string
}

type VPNConnection

type VPNConnection struct {
	// contains filtered or unexported fields
}

func NewVPNConnection

func NewVPNConnection(config VPNConnectionConfig) (*VPNConnection, error)

func (*VPNConnection) Collect

func (v *VPNConnection) Collect(ch chan<- prometheus.Metric) error

func (*VPNConnection) Describe

func (v *VPNConnection) Describe(ch chan<- *prometheus.Desc) error

type VPNConnectionConfig

type VPNConnectionConfig struct {
	G8sClient        versioned.Interface
	InstallationName string
	K8sClient        kubernetes.Interface
	Logger           micrologger.Logger
	GSTenantID       string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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