86 lines
2.4 KiB
Smarty
86 lines
2.4 KiB
Smarty
{{/*
|
|
Copyright VMware, Inc.
|
|
SPDX-License-Identifier: APACHE-2.0
|
|
*/}}
|
|
|
|
{{/*
|
|
Return the prometheus scrape configuration for kubernetes objects.
|
|
Usage:
|
|
{{ include "prometheus.scrape_config" (dict "component" "alertmanager" "context" $) }}
|
|
*/}}
|
|
{{- define "prometheus.scrape_config" -}}
|
|
kubernetes_sd_configs:
|
|
- role: endpoints
|
|
namespaces:
|
|
names:
|
|
- {{ include "common.names.namespace" .context }}
|
|
metrics_path: /metrics
|
|
relabel_configs:
|
|
- source_labels:
|
|
- job
|
|
target_label: __tmp_prometheus_job_name
|
|
- action: keep
|
|
source_labels:
|
|
- __meta_kubernetes_service_label_app_kubernetes_io_component
|
|
- __meta_kubernetes_service_labelpresent_app_kubernetes_io_component
|
|
regex: ({{ .component }});true
|
|
- action: keep
|
|
source_labels:
|
|
- __meta_kubernetes_service_label_app_kubernetes_io_instance
|
|
- __meta_kubernetes_service_labelpresent_app_kubernetes_io_instance
|
|
regex: ({{ .context.Release.Name }});true
|
|
- action: keep
|
|
source_labels:
|
|
- __meta_kubernetes_service_label_app_kubernetes_io_name
|
|
- __meta_kubernetes_service_labelpresent_app_kubernetes_io_name
|
|
regex: (prometheus);true
|
|
- action: keep
|
|
source_labels:
|
|
- __meta_kubernetes_endpoint_port_name
|
|
regex: http
|
|
- source_labels:
|
|
- __meta_kubernetes_endpoint_address_target_kind
|
|
- __meta_kubernetes_endpoint_address_target_name
|
|
separator: ;
|
|
regex: Node;(.*)
|
|
replacement: ${1}
|
|
target_label: node
|
|
- source_labels:
|
|
- __meta_kubernetes_endpoint_address_target_kind
|
|
- __meta_kubernetes_endpoint_address_target_name
|
|
separator: ;
|
|
regex: Pod;(.*)
|
|
replacement: ${1}
|
|
target_label: pod
|
|
- source_labels:
|
|
- __meta_kubernetes_namespace
|
|
target_label: namespace
|
|
- source_labels:
|
|
- __meta_kubernetes_service_name
|
|
target_label: service
|
|
- source_labels:
|
|
- __meta_kubernetes_pod_name
|
|
target_label: pod
|
|
- source_labels:
|
|
- __meta_kubernetes_pod_container_name
|
|
target_label: container
|
|
- action: drop
|
|
source_labels:
|
|
- __meta_kubernetes_pod_phase
|
|
regex: (Failed|Succeeded)
|
|
- source_labels:
|
|
- __meta_kubernetes_service_name
|
|
target_label: job
|
|
replacement: ${1}
|
|
- target_label: endpoint
|
|
replacement: http
|
|
- source_labels:
|
|
- __address__
|
|
target_label: __tmp_hash
|
|
modulus: 1
|
|
action: hashmod
|
|
- source_labels:
|
|
- __tmp_hash
|
|
regex: 0
|
|
action: keep
|
|
{{- end -}} |