Documentation ¶
Index ¶
- Constants
- type DigitalOceanBuffer
- type DigitalOceanCollector
- type DigitalOceanService
- func (s *DigitalOceanService) Droplets() map[DropletCounter]int
- func (s *DigitalOceanService) FloatingIPs() map[FlipCounter]int
- func (s *DigitalOceanService) LoadBalancers() map[LoadBalancerCounter]int
- func (s *DigitalOceanService) QueryDuration() time.Duration
- func (s *DigitalOceanService) Tags() map[TagCounter]int
- func (s *DigitalOceanService) Volumes() map[VolumeCounter]int
- type DigitalOceanSource
- type DropletCounter
- type Exporter
- type FlipCounter
- type LoadBalancerCounter
- type TagCounter
- type VolumeCounter
Constants ¶
const (
DefaultRefreshInterval int = 60
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DigitalOceanBuffer ¶
type DigitalOceanBuffer struct { Droplets map[DropletCounter]int FloatingIPs map[FlipCounter]int LoadBalancers map[LoadBalancerCounter]int Tags map[TagCounter]int Volumes map[VolumeCounter]int QueryDuration time.Duration // contains filtered or unexported fields }
func NewDigitalOceanBuffer ¶
func NewDigitalOceanBuffer(client *godo.Client, refreshInterval int) *DigitalOceanBuffer
type DigitalOceanCollector ¶
type DigitalOceanCollector struct { Droplets *prometheus.Desc FloatingIPs *prometheus.Desc LoadBalancers *prometheus.Desc Tags *prometheus.Desc Volumes *prometheus.Desc QueryDuration *prometheus.Desc // contains filtered or unexported fields }
A DigitalOceanCollector is a Prometheus collector for metrics regarding DigitalOcean.
func NewDigitalOceanCollector ¶
func NewDigitalOceanCollector(dos DigitalOceanSource) *DigitalOceanCollector
NewDigitalOceanCollector creates a new DigitalOceanCollector which collects metrics about resources in a DigitalOcean account.
func (*DigitalOceanCollector) Collect ¶
func (c *DigitalOceanCollector) Collect(ch chan<- prometheus.Metric)
Collect sends the metric values for each metric pertaining to the DigitalOcean resources to the provided prometheus Metric channel.
func (*DigitalOceanCollector) Describe ¶
func (c *DigitalOceanCollector) Describe(ch chan<- *prometheus.Desc)
Describe sends the descriptors of each metric over to the provided channel. The corresponding metric values are sent separately.
type DigitalOceanService ¶
type DigitalOceanService struct {
Buffer *DigitalOceanBuffer
}
DigitalOceanService is a wrapper around godo.Client.
func NewDigitalOceanService ¶
func NewDigitalOceanService(buffer *DigitalOceanBuffer) *DigitalOceanService
func (*DigitalOceanService) Droplets ¶
func (s *DigitalOceanService) Droplets() map[DropletCounter]int
Droplets retrieves a count of Droplets grouped by status, size, and region.
func (*DigitalOceanService) FloatingIPs ¶
func (s *DigitalOceanService) FloatingIPs() map[FlipCounter]int
FloatingIPs retrieves a count of Floating IPs grouped by status and region.
func (*DigitalOceanService) LoadBalancers ¶
func (s *DigitalOceanService) LoadBalancers() map[LoadBalancerCounter]int
LoadBalancers retrieves a count of Load Balancers grouped by status and region.
func (*DigitalOceanService) QueryDuration ¶
func (s *DigitalOceanService) QueryDuration() time.Duration
QueryDuration reports the time elapsed while querying the DigitalOcean API.
func (*DigitalOceanService) Tags ¶
func (s *DigitalOceanService) Tags() map[TagCounter]int
Tags retrieves a count of Tags grouped by name and resource type.
func (*DigitalOceanService) Volumes ¶
func (s *DigitalOceanService) Volumes() map[VolumeCounter]int
Volumes retrieves a count of Volumes grouped by status, size, and region.
type DigitalOceanSource ¶
type DigitalOceanSource interface { Droplets() map[DropletCounter]int FloatingIPs() map[FlipCounter]int LoadBalancers() map[LoadBalancerCounter]int Tags() map[TagCounter]int Volumes() map[VolumeCounter]int QueryDuration() time.Duration }
A DigitalOceanSource is an interface which can retrieve information about a resources in a DigitalOcean account. It is implemented by *digitaloceanexporter.DigitalOceanService.
type DropletCounter ¶
type DropletCounter struct {
// contains filtered or unexported fields
}
DropletCounter is a struct holding information about a Droplet.
type Exporter ¶
type Exporter struct {
// contains filtered or unexported fields
}
An Exporter is a Prometheus exporter for DigitalOcean metrics. It wraps all DigitalOcean metrics collectors and provides a single global exporter which can serve metrics. It also ensures that the collection is done in a thread-safe manner, the necessary requirement stated by Prometheus. It implements the prometheus.Collector interface in order to register with Prometheus.
func New ¶
func New(s *DigitalOceanService) *Exporter
New creates a new Exporter which collects metrics from one or mote sites.
func (*Exporter) Collect ¶
func (c *Exporter) Collect(ch chan<- prometheus.Metric)
Collect sends the collected metrics from each of the collectors to prometheus. Collect could be called several times concurrently and thus its run is protected by a single mutex.
func (*Exporter) Describe ¶
func (c *Exporter) Describe(ch chan<- *prometheus.Desc)
Describe sends all the descriptors of the collectors included to the provided channel.
type FlipCounter ¶
type FlipCounter struct {
// contains filtered or unexported fields
}
FlipCounter is a struct holding information about a Floating IP.
type LoadBalancerCounter ¶
type LoadBalancerCounter struct {
// contains filtered or unexported fields
}
LoadBalancerCounter is a struct holding information about a Load Balancer.
type TagCounter ¶
type TagCounter struct {
// contains filtered or unexported fields
}
TagCounter is a struct holding information about a Tag.
type VolumeCounter ¶
type VolumeCounter struct {
// contains filtered or unexported fields
}
VolumeCounter is a struct holding information about a Block Storage Volume.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
digitalocean_exporter
Command digitalocean_exporter provides a Prometheus exporter for DigitalOcean.
|
Command digitalocean_exporter provides a Prometheus exporter for DigitalOcean. |