prometheus_client

package
v1.31.3 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2024 License: MIT Imports: 23 Imported by: 186

README

Prometheus Output Plugin

This plugin starts a Prometheus Client, it exposes all metrics on /metrics (default) to be polled by a Prometheus server.

Global configuration options

In addition to the plugin-specific configuration settings, plugins support additional global and plugin configuration settings. These settings are used to modify metrics, tags, and field or create aliases and configure ordering, etc. See the CONFIGURATION.md for more details.

Secret-store support

This plugin supports secrets from secret-stores for the basic_password option. See the secret-store documentation for more details on how to use them.

Configuration

# Configuration for the Prometheus client to spawn
[[outputs.prometheus_client]]
  ## Address to listen on.
  ##   ex:
  ##     listen = ":9273"
  ##     listen = "vsock://:9273"
  listen = ":9273"

  ## Maximum duration before timing out read of the request
  # read_timeout = "10s"
  ## Maximum duration before timing out write of the response
  # write_timeout = "10s"

  ## Metric version controls the mapping from Prometheus metrics into Telegraf metrics.
  ## See "Metric Format Configuration" in plugins/inputs/prometheus/README.md for details.
  ## Valid options: 1, 2
  # metric_version = 1

  ## Use HTTP Basic Authentication.
  # basic_username = "Foo"
  # basic_password = "Bar"

  ## If set, the IP Ranges which are allowed to access metrics.
  ##   ex: ip_range = ["192.168.0.0/24", "192.168.1.0/30"]
  # ip_range = []

  ## Path to publish the metrics on.
  # path = "/metrics"

  ## Expiration interval for each metric. 0 == no expiration
  # expiration_interval = "60s"

  ## Collectors to enable, valid entries are "gocollector" and "process".
  ## If unset, both are enabled.
  # collectors_exclude = ["gocollector", "process"]

  ## Send string metrics as Prometheus labels.
  ## Unless set to false all string metrics will be sent as labels.
  # string_as_label = true

  ## If set, enable TLS with the given certificate.
  # tls_cert = "/etc/ssl/telegraf.crt"
  # tls_key = "/etc/ssl/telegraf.key"

  ## Set one or more allowed client CA certificate file names to
  ## enable mutually authenticated TLS connections
  # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]

  ## Export metric collection time.
  # export_timestamp = false

  ## Specify the metric type explicitly.
  ## This overrides the metric-type of the Telegraf metric. Globbing is allowed.
  # [outputs.prometheus_client.metric_types]
  #   counter = []
  #   gauge = []

Metrics

Prometheus metrics are produced in the same manner as the prometheus serializer.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Collector added in v1.14.0

type Collector interface {
	Describe(ch chan<- *prometheus.Desc)
	Collect(ch chan<- prometheus.Metric)
	Add(metrics []telegraf.Metric) error
}

type PrometheusClient

type PrometheusClient struct {
	Listen             string                 `toml:"listen"`
	ReadTimeout        config.Duration        `toml:"read_timeout"`
	WriteTimeout       config.Duration        `toml:"write_timeout"`
	MetricVersion      int                    `toml:"metric_version"`
	BasicUsername      string                 `toml:"basic_username"`
	BasicPassword      config.Secret          `toml:"basic_password"`
	IPRange            []string               `toml:"ip_range"`
	ExpirationInterval config.Duration        `toml:"expiration_interval"`
	Path               string                 `toml:"path"`
	CollectorsExclude  []string               `toml:"collectors_exclude"`
	StringAsLabel      bool                   `toml:"string_as_label"`
	ExportTimestamp    bool                   `toml:"export_timestamp"`
	TypeMappings       serializer.MetricTypes `toml:"metric_types"`
	Log                telegraf.Logger        `toml:"-"`

	tlsint.ServerConfig
	// contains filtered or unexported fields
}

func (*PrometheusClient) Close

func (p *PrometheusClient) Close() error

func (*PrometheusClient) Connect

func (p *PrometheusClient) Connect() error

func (*PrometheusClient) Init added in v1.14.0

func (p *PrometheusClient) Init() error

func (*PrometheusClient) SampleConfig

func (*PrometheusClient) SampleConfig() string

func (*PrometheusClient) URL added in v1.14.0

func (p *PrometheusClient) URL() string

URL returns the address the plugin is listening on. If not listening an empty string is returned.

func (*PrometheusClient) Write

func (p *PrometheusClient) Write(metrics []telegraf.Metric) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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