Skip to content

Instantly share code, notes, and snippets.

@lorf
Last active April 8, 2020 12:52
Show Gist options
  • Save lorf/e5257bda464f09a27c39803e7e378607 to your computer and use it in GitHub Desktop.
Save lorf/e5257bda464f09a27c39803e7e378607 to your computer and use it in GitHub Desktop.
Standalone prometheus config for using with KubeGraf

Standalone prometheus config for using with KubeGraf. Supports prometheus.io/scrape, prometheus.io/port and prometheus.io/path annotations for pods and services.

global:
evaluation_interval: 30s
external_labels: null
scrape_interval: 15s
scrape_timeout: 10s
rule_files:
- /etc/prometheus/rules/*.rules.yml
scrape_configs:
- job_name: prometheus
static_configs:
- labels:
instance: %%PROMETHEUS_SERVER%%
targets:
- localhost:9090
- bearer_token: %%K8S_TOKEN%%
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- api_server: https://%%K8S_APISERVER%%:6443
bearer_token: %%K8S_TOKEN%%
role: endpoints
tls_config:
insecure_skip_verify: true
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
tls_config:
insecure_skip_verify: true
- bearer_token: %%K8S_TOKEN%%
job_name: kubernetes-nodes
kubernetes_sd_configs:
- api_server: https://%%K8S_APISERVER%%:6443
bearer_token: %%K8S_TOKEN%%
role: node
tls_config:
insecure_skip_verify: true
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: %%K8S_APISERVER%%:6443
target_label: __address__
- regex: (.+)
replacement: /api/v1/nodes/${1}/proxy/metrics
source_labels:
- __meta_kubernetes_node_name
target_label: __metrics_path__
scheme: https
tls_config:
insecure_skip_verify: true
- bearer_token: %%K8S_TOKEN%%
job_name: kubernetes-cadvisor
kubernetes_sd_configs:
- api_server: https://%%K8S_APISERVER%%:6443
bearer_token: %%K8S_TOKEN%%
role: node
tls_config:
insecure_skip_verify: true
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: %%K8S_APISERVER%%:6443
target_label: __address__
- regex: (.+)
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
source_labels:
- __meta_kubernetes_node_name
target_label: __metrics_path__
scheme: https
tls_config:
insecure_skip_verify: true
- bearer_token: %%K8S_TOKEN%%
job_name: kubernetes-service-endpoints
kubernetes_sd_configs:
- api_server: https://%%K8S_APISERVER%%:6443
bearer_token: %%K8S_TOKEN%%
role: endpoints
tls_config:
insecure_skip_verify: true
relabel_configs:
- action: keep
regex: true;TCP
source_labels:
- __meta_kubernetes_service_annotation_prometheus_io_scrape
- __meta_kubernetes_endpoint_port_protocol
- regex: (.+)
source_labels:
- __meta_kubernetes_service_annotation_prometheus_io_path
target_label: __metrics_path__
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
source_labels:
- __address__
- __meta_kubernetes_service_annotation_prometheus_io_port
target_label: __address__
- regex: (.+);(.+);(?:[^:]+)(:\d+);(.+)
replacement: /api/v1/namespaces/${1}/services/${2}${3}/proxy${4}
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __address__
- __metrics_path__
target_label: __metrics_path__
- replacement: %%K8S_APISERVER%%:6443
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: kubernetes_namespace
- action: replace
source_labels:
- __meta_kubernetes_service_name
target_label: kubernetes_name
scheme: https
tls_config:
insecure_skip_verify: true
- bearer_token: %%K8S_TOKEN%%
job_name: kubernetes-pod-endpoints
kubernetes_sd_configs:
- api_server: https://%%K8S_APISERVER%%:6443
bearer_token: %%K8S_TOKEN%%
role: endpoints
tls_config:
insecure_skip_verify: true
relabel_configs:
- action: keep
regex: true;TCP
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
- __meta_kubernetes_endpoint_port_protocol
- regex: (.+)
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_path
target_label: __metrics_path__
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
source_labels:
- __address__
- __meta_kubernetes_pod_annotation_prometheus_io_port
target_label: __address__
- regex: (.+);(.+);(?:[^:]+)(:\d+);(.+)
replacement: /api/v1/namespaces/${1}/pods/${2}${3}/proxy${4}
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
- __address__
- __metrics_path__
target_label: __metrics_path__
- replacement: %%K8S_APISERVER%%:6443
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: kubernetes_namespace
- action: replace
source_labels:
- __meta_kubernetes_pod_name
target_label: kubernetes_name
- action: replace
regex: nats;(.+)
replacement: $1
source_labels:
- __meta_kubernetes_pod_label_app
- __meta_kubernetes_pod_name
target_label: server_id
scheme: https
tls_config:
insecure_skip_verify: true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment