Add support for k8s service DNS discovery to prometheus input (#3236)

This commit is contained in:
Christian Meilke
2017-09-19 00:06:11 +02:00
committed by Daniel Nelson
parent 0048bf2120
commit 292c5229bf
3 changed files with 142 additions and 15 deletions

View File

@@ -5,9 +5,9 @@ exposing metrics with Prometheus format
### Configuration:
Example for Kubernetes apiserver
Example for Kubernetes API server
```toml
# Get all metrics from Kube-apiserver
# Get all metrics from Kubernetes API server
[[inputs.prometheus]]
# An array of urls to scrape metrics from.
urls = ["http://my-kube-apiserver:8080/metrics"]
@@ -15,7 +15,7 @@ Example for Kubernetes apiserver
Specify a 10 second timeout for slower/over-loaded clients
```toml
# Get all metrics from Kube-apiserver
# Get all metrics from Kubernetes API server
[[inputs.prometheus]]
# An array of urls to scrape metrics from.
urls = ["http://my-kube-apiserver:8080/metrics"]
@@ -28,7 +28,7 @@ You can use more complex configuration
to filter and some tags
```toml
# Get all metrics from Kube-apiserver
# Get all metrics from Kubernetes API server
[[inputs.prometheus]]
# An array of urls to scrape metrics from.
urls = ["http://my-kube-apiserver:8080/metrics"]
@@ -61,6 +61,18 @@ to filter and some tags
ssl_key = '/path/to/keyfile'
```
```toml
# Use with [Kubernetes headless services](https://kubernetes.io/docs/concepts/services-networking/service/#headless-services)
[[inputs.prometheus]]
# An array of urls to scrape metrics from.
urls = ["https://my-kube-apiserver:8080/metrics"]
# An array of Kubernetes services to scrape metrics from.
# The IP addresses of all pods behind these services will be resolved and
# then scraped
kubernetes_services = ["https://my-headless-service.my-namespace:8080/metrics"]
```
### Usage for Caddy HTTP server
If you want to monitor Caddy, you need to use Caddy with its Prometheus plugin: