stackdriver

package
v0.0.0-...-16a0e24 Latest Latest
Warning

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

Go to latest
Published: May 25, 2020 License: MIT Imports: 16 Imported by: 0

README

Stackdriver Google Cloud Monitoring Output Plugin

This plugin writes to the Google Cloud Monitoring API (formerly Stackdriver) and requires authentication with Google Cloud using either a service account or user credentials

This plugin accesses APIs which are chargeable; you might incur costs.

Requires project to specify where Stackdriver metrics will be delivered to.

Metrics are grouped by the namespace variable and metric key - eg: custom.googleapis.com/telegraf/system/load5

Resource type is configured by the resource_type variable (default global).

Additional resource labels can be configured by resource_labels. By default the required project_id label is always set to the project variable.

Configuration
[[outputs.stackdriver]]
  ## GCP Project
  project = "erudite-bloom-151019"

  ## The namespace for the metric descriptor
  namespace = "telegraf"

  ## Custom resource type
  # resource_type = "generic_node"

  ## Additional resource labels
  # [outputs.stackdriver.resource_labels]
  #   node_id = "$HOSTNAME"
  #   namespace = "myapp"
  #   location = "eu-north0"
Restrictions

Stackdriver does not support string values in custom metrics, any string fields will not be written.

The Stackdriver API does not allow writing points which are out of order, older than 24 hours, or more with resolution greater than than one per point minute. Since Telegraf writes the newest points first and moves backwards through the metric buffer, it may not be possible to write historical data after an interruption.

Points collected with greater than 1 minute precision may need to be aggregated before then can be written. Consider using the basicstats aggregator to do this.

Documentation

Index

Constants

View Source
const (
	// QuotaLabelsPerMetricDescriptor is the limit
	// to labels (tags) per metric descriptor.
	QuotaLabelsPerMetricDescriptor = 10
	// QuotaStringLengthForLabelKey is the limit
	// to string length for label key.
	QuotaStringLengthForLabelKey = 100
	// QuotaStringLengthForLabelValue is the limit
	// to string length for label value.
	QuotaStringLengthForLabelValue = 1024

	// StartTime for cumulative metrics.
	StartTime = int64(1)
	// MaxInt is the max int64 value.
	MaxInt = int(^uint(0) >> 1)
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Stackdriver

type Stackdriver struct {
	Project        string
	Namespace      string
	ResourceType   string            `toml:"resource_type"`
	ResourceLabels map[string]string `toml:"resource_labels"`
	// contains filtered or unexported fields
}

Stackdriver is the Google Stackdriver config info.

func (*Stackdriver) Close

func (s *Stackdriver) Close() error

Close will terminate the session to the backend, returning error if an issue arises.

func (*Stackdriver) Connect

func (s *Stackdriver) Connect() error

Connect initiates the primary connection to the GCP project.

func (*Stackdriver) Description

func (s *Stackdriver) Description() string

Description returns the human-readable function definition of the plugin.

func (*Stackdriver) SampleConfig

func (s *Stackdriver) SampleConfig() string

SampleConfig returns the formatted sample configuration for the plugin.

func (*Stackdriver) Write

func (s *Stackdriver) Write(metrics []telegraf.Metric) error

Write the metrics to Google Cloud Stackdriver.

Jump to

Keyboard shortcuts

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