88 lines
1.9 KiB
Plaintext
88 lines
1.9 KiB
Plaintext
logging {
|
|
level = "warn"
|
|
}
|
|
|
|
|
|
|
|
// ============================================
|
|
// Discovery: Kubernetes - endpoints
|
|
// used by:
|
|
// - loki kubernetes kube state metrics
|
|
// ============================================
|
|
discovery.kubernetes "kube_endpoints" {
|
|
role = "endpoints"
|
|
}
|
|
|
|
|
|
// ============================================
|
|
// Metrics: Prometheus Remote Write
|
|
// ============================================
|
|
prometheus.remote_write "prometheus_srv" {
|
|
endpoint {
|
|
url = sys.env("PROMETHEUS_URL")
|
|
}
|
|
external_labels = {
|
|
cluster = sys.env("CLUSTER_NAME"),
|
|
zone = sys.env("ZONE"),
|
|
}
|
|
}
|
|
|
|
|
|
// ============================================
|
|
// CoreDNS discovery (ENDPOINTS)
|
|
// ============================================
|
|
|
|
discovery.relabel "coredns" {
|
|
targets = discovery.kubernetes.kube_endpoints.targets
|
|
|
|
rule {
|
|
source_labels = ["__meta_kubernetes_service_name"]
|
|
regex = "(kube-dns|coredns)"
|
|
action = "keep"
|
|
}
|
|
|
|
rule {
|
|
regex = ".*_uid$|.*_id$|^annotation_.*|^label_.*|^endpoint_.*|^pod_ip$"
|
|
action = "drop"
|
|
}
|
|
|
|
rule {
|
|
regex = "coredns_cache_.*|coredns_forward_.*"
|
|
action = "drop"
|
|
}
|
|
|
|
rule {
|
|
source_labels = ["__meta_kubernetes_endpoint_node_name"]
|
|
target_label = "node"
|
|
}
|
|
|
|
rule {
|
|
action = "replace"
|
|
target_label = "__address__"
|
|
replacement = "$__meta_kubernetes_endpoint_address:9153"
|
|
}
|
|
|
|
rule {
|
|
target_label = "cluster"
|
|
replacement = sys.env("CLUSTER_NAME")
|
|
}
|
|
|
|
rule {
|
|
target_label = "zone"
|
|
replacement = sys.env("ZONE")
|
|
}
|
|
|
|
}
|
|
|
|
// ============================================
|
|
// CoreDNS scrape
|
|
// ============================================
|
|
prometheus.scrape "coredns" {
|
|
job_name = "integrations/kubernetes/coredns"
|
|
targets = discovery.relabel.coredns.output
|
|
|
|
scheme = "http"
|
|
metrics_path = "/metrics"
|
|
|
|
forward_to = [prometheus.remote_write.prometheus_srv.receiver]
|
|
} |