diff --git a/plugins/outputs/prometheus_client/README.md b/plugins/outputs/prometheus_client/README.md index d68cafe9d..d4de4894a 100644 --- a/plugins/outputs/prometheus_client/README.md +++ b/plugins/outputs/prometheus_client/README.md @@ -4,30 +4,35 @@ This plugin starts a [Prometheus](https://prometheus.io/) Client, it exposes all ## Configuration -``` +```toml # Publish all metrics to /metrics for Prometheus to scrape [[outputs.prometheus_client]] - # Address to listen on + ## Address to listen on. listen = ":9273" - # Use TLS - tls_cert = "/etc/ssl/telegraf.crt" - tls_key = "/etc/ssl/telegraf.key" + ## Use HTTP Basic Authentication. + # basic_username = "Foo" + # basic_password = "Bar" - # 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 = [] - # IP Ranges which are allowed to access metrics - ip_range = ["192.168.0.0/24", "192.168.1.0/30"] + ## Path to publish the metrics on. + # path = "/metrics" - # Path to publish the metrics on, defaults to /metrics - path = "/metrics" + ## Expiration interval for each metric. 0 == no expiration + # expiration_interval = "60s" - # 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 + ## 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" ``` diff --git a/plugins/outputs/prometheus_client/prometheus_client.go b/plugins/outputs/prometheus_client/prometheus_client.go index 9634e9227..c038eba66 100644 --- a/plugins/outputs/prometheus_client/prometheus_client.go +++ b/plugins/outputs/prometheus_client/prometheus_client.go @@ -76,29 +76,33 @@ type PrometheusClient struct { var sampleConfig = ` ## Address to listen on - # listen = ":9273" + listen = ":9273" - ## Use TLS - #tls_cert = "/etc/ssl/telegraf.crt" - #tls_key = "/etc/ssl/telegraf.key" + ## Use HTTP Basic Authentication. + # basic_username = "Foo" + # basic_password = "Bar" - ## 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 = [] - ## IP Ranges which are allowed to access metrics - #ip_range = ["192.168.0.0/24", "192.168.1.0/30"] + ## Path to publish the metrics on. + # 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" ## Collectors to enable, valid entries are "gocollector" and "process". ## If unset, both are enabled. - collectors_exclude = ["gocollector", "process"] + # 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 + ## 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" ` func (p *PrometheusClient) auth(h http.Handler) http.Handler {