Overview
prometheus-to-sd is a simple component that can scrape metrics stored in
prometheus text format
from one or multiple components and push them to the Stackdriver. Main requirement:
k8s cluster should run on GCE or GKE.
Container Image
The latest container image can be found at
gcr.io/google-containers/prometheus-to-sd:v0.2.1.
Usage
For scraping metrics from the component it's name, host, port and metrics should passed
through the flag source in the next format:
component-name:http://host:port?whitelisted=a,b,c. If whitelisted part is
omitted, then all metrics that are scraped from the component will be pushed
to the Stackdriver.
Custom metrics
To be able to push custom metrics to the Stackdriver flag metrics-prefix=custom.googleapis.com
has to be specified. In such case metric bar from the component
foo is going to be pushed to the Stackdriver as custom.googleapis.com/foo/bar.
Metrics autodiscovery
If metric descriptors already exist on the Stackdriver (created manually or by different component)
then autodiscovery feature could be used. In such case prometheus-to-sd will push metrics for
which metric descriptors are available on the Stackdriver. To use this feature a flag
auto-whitelist-metrics=true has to be passed.
Resource descriptor
Each pushed metric includes monitored resource
descriptor. Fields, such as
project_id, cluster_name, instance_id and zone are filled automatically by
the prometheus-to-sd. Values of the namespace_id and pod_id can be passed to
the component through the additional flags or omitted. container_name is
always empty for now.
Deployment
Example of deployment
used to monitor
kube-state-metrics component, that is used to collect
different metrics about the state of k8s cluster.