Update prometheus output sample config and README

This commit is contained in:
Daniel Nelson 2018-08-24 16:37:11 -07:00
parent ff66a9de69
commit 80346b2e93
No known key found for this signature in database
GPG Key ID: CAAD59C9444F6155
2 changed files with 40 additions and 31 deletions

View File

@ -4,30 +4,35 @@ This plugin starts a [Prometheus](https://prometheus.io/) Client, it exposes all
## Configuration ## Configuration
``` ```toml
# Publish all metrics to /metrics for Prometheus to scrape # Publish all metrics to /metrics for Prometheus to scrape
[[outputs.prometheus_client]] [[outputs.prometheus_client]]
# Address to listen on ## Address to listen on.
listen = ":9273" listen = ":9273"
# Use TLS ## Use HTTP Basic Authentication.
tls_cert = "/etc/ssl/telegraf.crt" # basic_username = "Foo"
tls_key = "/etc/ssl/telegraf.key" # basic_password = "Bar"
# Use http basic authentication ## If set, the IP Ranges which are allowed to access metrics.
basic_username = "Foo" ## ex: ip_range = ["192.168.0.0/24", "192.168.1.0/30"]
basic_password = "Bar" # ip_range = []
# IP Ranges which are allowed to access metrics ## Path to publish the metrics on.
ip_range = ["192.168.0.0/24", "192.168.1.0/30"] # path = "/metrics"
# Path to publish the metrics on, defaults to /metrics ## Expiration interval for each metric. 0 == no expiration
path = "/metrics" # expiration_interval = "60s"
# Expiration interval for each metric. 0 == no expiration ## Collectors to enable, valid entries are "gocollector" and "process".
expiration_interval = "60s" ## If unset, both are enabled.
# collectors_exclude = ["gocollector", "process"]
# Send string metrics as Prometheus labels. ## Send string metrics as Prometheus labels.
# Unless set to false all string metrics will be sent as labels. ## Unless set to false all string metrics will be sent as labels.
string_as_label = true # string_as_label = true
## If set, enable TLS with the given certificate.
# tls_cert = "/etc/ssl/telegraf.crt"
# tls_key = "/etc/ssl/telegraf.key"
``` ```

View File

@ -76,29 +76,33 @@ type PrometheusClient struct {
var sampleConfig = ` var sampleConfig = `
## Address to listen on ## Address to listen on
# listen = ":9273" listen = ":9273"
## Use TLS ## Use HTTP Basic Authentication.
#tls_cert = "/etc/ssl/telegraf.crt" # basic_username = "Foo"
#tls_key = "/etc/ssl/telegraf.key" # basic_password = "Bar"
## Use http basic authentication ## If set, the IP Ranges which are allowed to access metrics.
#basic_username = "Foo" ## ex: ip_range = ["192.168.0.0/24", "192.168.1.0/30"]
#basic_password = "Bar" # ip_range = []
## IP Ranges which are allowed to access metrics ## Path to publish the metrics on.
#ip_range = ["192.168.0.0/24", "192.168.1.0/30"] # path = "/metrics"
## Interval to expire metrics and not deliver to prometheus, 0 == no expiration ## Expiration interval for each metric. 0 == no expiration
# expiration_interval = "60s" # expiration_interval = "60s"
## Collectors to enable, valid entries are "gocollector" and "process". ## Collectors to enable, valid entries are "gocollector" and "process".
## If unset, both are enabled. ## If unset, both are enabled.
collectors_exclude = ["gocollector", "process"] # collectors_exclude = ["gocollector", "process"]
# Send string metrics as Prometheus labels. ## Send string metrics as Prometheus labels.
# Unless set to false all string metrics will be sent as labels. ## Unless set to false all string metrics will be sent as labels.
string_as_label = true # string_as_label = true
## If set, enable TLS with the given certificate.
# tls_cert = "/etc/ssl/telegraf.crt"
# tls_key = "/etc/ssl/telegraf.key"
` `
func (p *PrometheusClient) auth(h http.Handler) http.Handler { func (p *PrometheusClient) auth(h http.Handler) http.Handler {