added repo
This commit is contained in:
@@ -0,0 +1,774 @@
|
||||
// kube state metrics
|
||||
discovery.relabel "kube_state_metrics_pod" {
|
||||
targets = [{__address__ = "kube-state-metrics-infra-prd.kube-system.svc.cluster.local:8080",}]
|
||||
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kube_state_metrics_pod" {
|
||||
targets = discovery.relabel.kube_state_metrics_pod.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "kube_state_metrics_pod"
|
||||
scrape_interval = "15s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// node metrics
|
||||
discovery.kubernetes "kubernetes_endpoints" {
|
||||
role = "endpoints"
|
||||
}
|
||||
discovery.relabel "node_exporter_endpoints" {
|
||||
targets = discovery.kubernetes.kubernetes_endpoints.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_endpoints_name"]
|
||||
regex = "prometheus-node-exporter-admin-prd"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "node_exporter_endpoints" {
|
||||
targets = discovery.relabel.node_exporter_endpoints.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "node_exporter_endpoints"
|
||||
scrape_interval = "15s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// cadvisor metrics
|
||||
discovery.kubernetes "kubernetes_nodes" {
|
||||
role = "node"
|
||||
}
|
||||
discovery.relabel "cadvisor_kubernetes_nodes" {
|
||||
targets = discovery.kubernetes.kubernetes_nodes.targets
|
||||
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
replacement = "kubernetes.default.svc:443"
|
||||
target_label = "__address__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_node_name"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
replacement = "/api/v1/nodes/$1/proxy/metrics/cadvisor"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "cadvisor_kubernetes_nodes" {
|
||||
targets = discovery.relabel.cadvisor_kubernetes_nodes.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "cadvisor_kubernetes_nodes"
|
||||
scheme = "https"
|
||||
scrape_interval = "15s"
|
||||
authorization {
|
||||
type = "Bearer"
|
||||
credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||||
}
|
||||
tls_config {
|
||||
ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// kubelet metrics
|
||||
discovery.relabel "kubelet_kubernetes_nodes" {
|
||||
targets = discovery.kubernetes.kubernetes_nodes.targets
|
||||
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "__address__"
|
||||
replacement = "kubernetes.default.svc:443"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_node_name"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
replacement = "/api/v1/nodes/$1/proxy/metrics"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kubelet_kubernetes_nodes" {
|
||||
targets = discovery.relabel.kubelet_kubernetes_nodes.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "kubelet_kubernetes_nodes"
|
||||
scheme = "https"
|
||||
scrape_interval = "15s"
|
||||
authorization {
|
||||
type = "Bearer"
|
||||
credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||||
}
|
||||
tls_config {
|
||||
ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// alloy
|
||||
prometheus.exporter.self "default" {}
|
||||
prometheus.scrape "alloy_pods" {
|
||||
targets = prometheus.exporter.self.default.targets
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
}
|
||||
|
||||
// mimir
|
||||
discovery.kubernetes "kubernetes_pods" {
|
||||
role = "pod"
|
||||
}
|
||||
discovery.relabel "mimir_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_port_name"]
|
||||
regex = ".*metrics"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_label_helm_sh_chart"]
|
||||
regex = "mimir-distributed-.*"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["cluster"]
|
||||
separator = ""
|
||||
regex = ""
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "pod"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_name"]
|
||||
target_label = "container"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_label_name", "__meta_kubernetes_pod_label_app_kubernetes_io_component"]
|
||||
separator = ""
|
||||
target_label = "__tmp_component_name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace", "__tmp_component_name"]
|
||||
separator = "/"
|
||||
target_label = "job"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||
target_label = "instance"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "mimir_kubernetes_pods" {
|
||||
targets = discovery.relabel.mimir_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "integrations/grafanamimir/metrics"
|
||||
scrape_interval = "15s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// tempo
|
||||
discovery.kubernetes "tempo_kubernetes_pods" {
|
||||
role = "pod"
|
||||
selectors {
|
||||
role = "pod"
|
||||
label = "app.kubernetes.io/name=tempo"
|
||||
}
|
||||
}
|
||||
discovery.relabel "tempo_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.tempo_kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
action = "replace"
|
||||
regex = "(.*)"
|
||||
replacement = "$1"
|
||||
target_label = "namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_label_app_kubernetes_io_component"]
|
||||
action = "replace"
|
||||
regex = "(.*)"
|
||||
replacement = "$1"
|
||||
target_label = "k8s_component_name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["cluster"]
|
||||
separator = ""
|
||||
regex = ""
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "tempo_kubernetes_pods" {
|
||||
targets = discovery.relabel.tempo_kubernetes_pods.output
|
||||
forward_to = [prometheus.relabel.tempo_kubernetes_pods.receiver]
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
prometheus.relabel "tempo_kubernetes_pods" {
|
||||
rule {
|
||||
source_labels = ["namespace", "k8s_component_name"]
|
||||
action = "replace"
|
||||
regex = "(.*?);(.*?)"
|
||||
replacement = "$1/$2"
|
||||
target_label = "job"
|
||||
}
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
}
|
||||
|
||||
// loki
|
||||
discovery.kubernetes "loki_kubernetes_pods" {
|
||||
role = "pod"
|
||||
selectors {
|
||||
role = "pod"
|
||||
label = "app.kubernetes.io/name=loki"
|
||||
}
|
||||
}
|
||||
discovery.relabel "loki_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.loki_kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "pod"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace", "__meta_kubernetes_pod_label_app_kubernetes_io_name", "__meta_kubernetes_pod_label_app_kubernetes_io_component"]
|
||||
separator = "/"
|
||||
regex = "(.*)/(.*)/(.*)"
|
||||
replacement = "${1}/${2}-${3}"
|
||||
target_label = "job"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-admin-prd-ase1"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_port_number"]
|
||||
action = "drop"
|
||||
regex = "9095"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "loki_kubernetes_pods" {
|
||||
targets = discovery.relabel.loki_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// grafana
|
||||
prometheus.scrape "grafana_metrics" {
|
||||
targets = [{
|
||||
__address__ = "grafana-edge-infra-prd.observability.svc.cluster.local:80",
|
||||
}]
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "grafana"
|
||||
scrape_interval = "15s"
|
||||
scrape_timeout = "5s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// vss_qdrant_gce
|
||||
discovery.relabel "vss_qdrant_gce" {
|
||||
targets = concat(
|
||||
[{
|
||||
__address__ = "10.138.64.90:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.88:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.89:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.81:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.135:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.136:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.137:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.131:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.132:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.134:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.138:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.67:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.171:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.210:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.228:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.65.9:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.65:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.220:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.58:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.59:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.60:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.246:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.104:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.105:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.110:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.114:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.15:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.160:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.165:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.166:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.235:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.240:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.241:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.59:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.68:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.64.9:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.65.149:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.125:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.46:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.53:8080",
|
||||
}],
|
||||
[{
|
||||
__address__ = "10.138.66.69:8080",
|
||||
}],
|
||||
)
|
||||
|
||||
rule {
|
||||
target_label = "project"
|
||||
replacement = "meesho-datascience-prd-0622"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_name"]
|
||||
target_label = "name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_service"]
|
||||
target_label = "app"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_bu"]
|
||||
target_label = "bu"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_env"]
|
||||
target_label = "env"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "vss_qdrant_gce" {
|
||||
targets = discovery.relabel.vss_qdrant_gce.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "vss_qdrant_gce"
|
||||
scrape_timeout = "30s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.scrape "redis_enterprise" {
|
||||
targets = concat(
|
||||
[{
|
||||
__address__ = "internal.c21219.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28828.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28827.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28826.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28825.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28824.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28822.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28821.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28819.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28815.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28798.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28796.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28773.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28736.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28735.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28928.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28927.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28894.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28893.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28857.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28855.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c28854.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29000.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29023.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29025.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29069.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29092.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29160.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29142.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29128.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29181.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29184.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29237.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29455.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29441.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29440.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29483.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29484.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29485.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29516.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29648.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29790.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29884.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29951.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c29980.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c30118.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c30300.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c30447.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c30660.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c31016.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c31055.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c31408.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c31615.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c32784.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33122.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33538.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33544.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33610.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33622.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33623.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33625.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33626.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33627.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33617.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33628.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33629.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33639.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33734.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33735.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33695.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33755.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33812.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33826.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33827.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
[{
|
||||
__address__ = "internal.c33828.asia-seast1-mz.gcp.cloud.rlrcp.com:8070",
|
||||
}],
|
||||
)
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "redis-enterprise"
|
||||
scrape_interval = "30s"
|
||||
scrape_timeout = "30s"
|
||||
metrics_path = "/"
|
||||
scheme = "https"
|
||||
tls_config {
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.scrape "confluent_cloud" {
|
||||
targets = [{
|
||||
__address__ = "api.telemetry.confluent.cloud",
|
||||
}]
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "confluent-cloud"
|
||||
params = {
|
||||
"resource.kafka.id" = ["lkc-6wqxz3", "lkc-nxggkv", "lkc-vn3zkj", "lkc-6w5pwj", "lkc-2j9gnm", "lkc-nxzw6z", "lkc-dv769d", "lkc-p98xq5", "lkc-8vn0k0", "lkc-r0yp97", "lkc-3wyojm", "lkc-9z11zy", "lkc-nkkxj3", "lkc-75p292"],
|
||||
}
|
||||
scrape_interval = "2m0s"
|
||||
scrape_timeout = "2m0s"
|
||||
metrics_path = "/v2/metrics/cloud/export"
|
||||
scheme = "https"
|
||||
basic_auth {
|
||||
username = "HQMRE267JQAKS7WK"
|
||||
password = "oI30bW9fJqJV5CwaJrBu1TjErowImaIJHfvkVvVcFe/ArlDy/zD2VBLX/canWLrY"
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// writers
|
||||
prometheus.remote_write "mimir" {
|
||||
endpoint {
|
||||
url = "http://mimir-nginx.mimir-distributed.svc.clusterset.local/api/v1/push"
|
||||
headers = {"X-Scope-OrgID" = "anonymous"}
|
||||
tls_config {
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
queue_config {
|
||||
min_shards = 25
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// logs
|
||||
discovery.kubernetes "observability_kubernetes_pods" {
|
||||
role = "pod"
|
||||
namespaces {
|
||||
names = ["mimir-distributed", "loki-distributed", "tempo-distributed"]
|
||||
}
|
||||
}
|
||||
loki.source.kubernetes "observability_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.observability_kubernetes_pods.targets
|
||||
forward_to = [loki.write.loki.receiver]
|
||||
}
|
||||
loki.write "loki" {
|
||||
endpoint {
|
||||
url = "http://loki-gateway.loki-distributed.svc.cluster.local/loki/api/v1/push"
|
||||
tls_config {
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,701 @@
|
||||
// gce_node_exporter
|
||||
discovery.gce "node_exporter_a" {
|
||||
project = "meesho-central-prd-0622"
|
||||
zone = "asia-southeast1-a"
|
||||
port = 9100
|
||||
}
|
||||
discovery.gce "node_exporter_b" {
|
||||
project = "meesho-central-prd-0622"
|
||||
zone = "asia-southeast1-b"
|
||||
port = 9100
|
||||
}
|
||||
discovery.gce "node_exporter_c" {
|
||||
project = "meesho-central-prd-0622"
|
||||
zone = "asia-southeast1-c"
|
||||
port = 9100
|
||||
}
|
||||
discovery.relabel "node_exporter_gce" {
|
||||
targets = concat(
|
||||
discovery.gce.node_exporter_a.targets,
|
||||
discovery.gce.node_exporter_b.targets,
|
||||
discovery.gce.node_exporter_c.targets,
|
||||
)
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_status"]
|
||||
regex = "RUNNING"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_goog-k8s-cluster-name"]
|
||||
regex = "k8s"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_monitoring"]
|
||||
regex = "no"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_name"]
|
||||
regex = "gke-k8s-.*"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
target_label = "project"
|
||||
replacement = "meesho-central-prd-0622"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_name"]
|
||||
target_label = "name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_id"]
|
||||
target_label = "instance_id"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_status"]
|
||||
target_label = "status"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_private_ip"]
|
||||
target_label = "private_ip"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_public_ip"]
|
||||
target_label = "public_ip"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_bu"]
|
||||
target_label = "bu"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_component"]
|
||||
target_label = "component"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_env"]
|
||||
target_label = "env"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_service"]
|
||||
target_label = "service"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_team"]
|
||||
target_label = "team"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_type"]
|
||||
target_label = "type"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_alerts"]
|
||||
target_label = "alerts"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "node_exporter_gce" {
|
||||
targets = discovery.relabel.node_exporter_gce.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "node_exporter_gce"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// kube state metrics
|
||||
discovery.relabel "kube_state_metrics_pod" {
|
||||
targets = [{__address__ = "kube-state-metrics-central-prd.kube-system.svc.cluster.local:8080",}]
|
||||
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-central-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kube_state_metrics_pod" {
|
||||
targets = discovery.relabel.kube_state_metrics_pod.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "kube_state_metrics_pod"
|
||||
scrape_interval = "15s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// cadvisor metrics
|
||||
discovery.kubernetes "kubernetes_nodes" {
|
||||
role = "node"
|
||||
}
|
||||
discovery.relabel "cadvisor_kubernetes_nodes" {
|
||||
targets = discovery.kubernetes.kubernetes_nodes.targets
|
||||
|
||||
rule {
|
||||
replacement = "k8s-central-prd-ase1"
|
||||
target_label = "cluster"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
replacement = "kubernetes.default.svc:443"
|
||||
target_label = "__address__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_node_name"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
replacement = "/api/v1/nodes/$1/proxy/metrics/cadvisor"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "cadvisor_kubernetes_nodes" {
|
||||
targets = discovery.relabel.cadvisor_kubernetes_nodes.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "cadvisor_kubernetes_nodes"
|
||||
scheme = "https"
|
||||
scrape_interval = "15s"
|
||||
authorization {
|
||||
type = "Bearer"
|
||||
credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||||
}
|
||||
tls_config {
|
||||
ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// kubelet
|
||||
discovery.relabel "kubelet_kubernetes_nodes" {
|
||||
targets = discovery.kubernetes.kubernetes_nodes.targets
|
||||
|
||||
rule {
|
||||
replacement = "k8s-central-prd-ase1"
|
||||
target_label = "cluster"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "__address__"
|
||||
replacement = "kubernetes.default.svc:443"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_node_name"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
replacement = "/api/v1/nodes/$1/proxy/metrics"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kubelet_kubernetes_nodes" {
|
||||
targets = discovery.relabel.kubelet_kubernetes_nodes.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "kubelet_kubernetes_nodes"
|
||||
scheme = "https"
|
||||
scrape_interval = "15s"
|
||||
authorization {
|
||||
type = "Bearer"
|
||||
credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||||
}
|
||||
tls_config {
|
||||
ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// prometheus_kubernetes_endpoints
|
||||
discovery.kubernetes "kubernetes_endpoints" {
|
||||
role = "endpoints"
|
||||
}
|
||||
discovery.relabel "prometheus_kubernetes_endpoints" {
|
||||
targets = discovery.kubernetes.kubernetes_endpoints.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_port"]
|
||||
target_label = "__meta_kubernetes_pod_container_port_number"
|
||||
action = "keepequal"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_scrape"]
|
||||
regex = "true"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_path"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__", "__meta_kubernetes_service_annotation_prometheus_io_port"]
|
||||
regex = "([^:]+)(?::\\d+)?;(\\d+)"
|
||||
target_label = "__address__"
|
||||
replacement = "$1:$2"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_service_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_endpoint_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_name"]
|
||||
target_label = "kubernetes_service_name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_endpoints_name"]
|
||||
target_label = "kubernetes_endpoints_name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-central-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "prometheus_kubernetes_endpoints" {
|
||||
targets = discovery.relabel.prometheus_kubernetes_endpoints.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "prometheus_kubernetes_endpoints"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// prometheus_kubernetes_pods
|
||||
discovery.kubernetes "kubernetes_pods" {
|
||||
role = "pod"
|
||||
}
|
||||
discovery.relabel "prometheus_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.kubernetes_pods.targets
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_port"]
|
||||
target_label = "__meta_kubernetes_pod_container_port_number"
|
||||
action = "keepequal"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_scrape"]
|
||||
regex = "true"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_path"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__", "__meta_kubernetes_pod_annotation_prometheus_io_port"]
|
||||
regex = "([^:]+)(?::\\d+)?;(\\d+)"
|
||||
target_label = "__address__"
|
||||
replacement = "$1:$2"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_pod_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-central-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "prometheus_kubernetes_pods" {
|
||||
targets = discovery.relabel.prometheus_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "prometheus_kubernetes_pods"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// jmx_kubernetes_pods
|
||||
discovery.relabel "jmx_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_jmx_io_port"]
|
||||
target_label = "__meta_kubernetes_pod_container_port_number"
|
||||
action = "keepequal"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_jmx_io_scrape"]
|
||||
regex = "true"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_jmx_io_path"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__", "__meta_kubernetes_pod_annotation_jmx_io_port"]
|
||||
regex = "([^:]+)(?::\\d+)?;(\\d+)"
|
||||
target_label = "__address__"
|
||||
replacement = "$1:$2"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_pod_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-central-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "jmx_kubernetes_pods" {
|
||||
targets = discovery.relabel.jmx_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "jmx_kubernetes_pods"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// zookeeper
|
||||
discovery.gce "zookeeper_a" {
|
||||
project = "meesho-central-prd-0622"
|
||||
zone = "asia-southeast1-a"
|
||||
port = 7000
|
||||
}
|
||||
discovery.gce "zookeeper_b" {
|
||||
project = "meesho-central-prd-0622"
|
||||
zone = "asia-southeast1-b"
|
||||
port = 7000
|
||||
}
|
||||
discovery.gce "zookeeper_c" {
|
||||
project = "meesho-central-prd-0622"
|
||||
zone = "asia-southeast1-b"
|
||||
port = 7000
|
||||
}
|
||||
|
||||
discovery.relabel "zookeeper_gce" {
|
||||
targets = concat(
|
||||
discovery.gce.zookeeper_a.targets,
|
||||
discovery.gce.zookeeper_b.targets,
|
||||
discovery.gce.zookeeper_c.targets,
|
||||
)
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_service"]
|
||||
regex = "(central-zookeeper)"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
target_label = "component"
|
||||
replacement = "zookeeper"
|
||||
}
|
||||
rule {
|
||||
target_label = "priority"
|
||||
replacement = "p0"
|
||||
}
|
||||
rule {
|
||||
target_label = "project"
|
||||
replacement = "meesho-central-prd-0622"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_bu"]
|
||||
target_label = "bu"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_team"]
|
||||
target_label = "team"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_service"]
|
||||
target_label = "app"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_type"]
|
||||
target_label = "type"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_env"]
|
||||
target_label = "env"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_name"]
|
||||
target_label = "name"
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.scrape "zookeeper_gce" {
|
||||
targets = discovery.relabel.zookeeper_gce.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "zookeeper_gce"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.exporter.self "default" {}
|
||||
prometheus.scrape "alloy_pods" {
|
||||
targets = prometheus.exporter.self.default.targets
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
}
|
||||
|
||||
|
||||
// recivers
|
||||
otelcol.receiver.otlp "otlp_receiver" {
|
||||
grpc {
|
||||
endpoint = "0.0.0.0:4317"
|
||||
}
|
||||
http {
|
||||
endpoint = "0.0.0.0:4318"
|
||||
}
|
||||
output {
|
||||
metrics = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
logs = [otelcol.processor.filter.error_warn_logs.input, otelcol.processor.filter.info_logs.input]
|
||||
traces = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
}
|
||||
}
|
||||
|
||||
// log processors
|
||||
otelcol.processor.filter "error_warn_logs" {
|
||||
error_mode = "ignore"
|
||||
logs {
|
||||
log_record = ["severity_number < SEVERITY_NUMBER_WARN",]
|
||||
}
|
||||
output {
|
||||
logs = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.filter "info_logs" {
|
||||
error_mode = "ignore"
|
||||
logs {
|
||||
log_record = ["severity_number >= SEVERITY_NUMBER_WARN",]
|
||||
}
|
||||
output {
|
||||
logs = [otelcol.processor.probabilistic_sampler.info_log_sampler.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.probabilistic_sampler "info_log_sampler" {
|
||||
sampling_percentage = 1
|
||||
output {
|
||||
logs = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
}
|
||||
}
|
||||
|
||||
// common processors
|
||||
otelcol.processor.k8sattributes "add_metadata" {
|
||||
extract {
|
||||
label {
|
||||
from = "pod"
|
||||
key_regex = "(.*)"
|
||||
tag_name = "$1"
|
||||
}
|
||||
metadata = [
|
||||
"k8s.namespace.name",
|
||||
"k8s.deployment.name",
|
||||
"k8s.statefulset.name",
|
||||
"k8s.daemonset.name",
|
||||
"k8s.cronjob.name",
|
||||
"k8s.job.name",
|
||||
"k8s.node.name",
|
||||
"k8s.pod.name",
|
||||
]
|
||||
}
|
||||
output {
|
||||
metrics = [otelcol.processor.transform.add_kube_attrs.input]
|
||||
logs = [otelcol.processor.transform.add_kube_attrs.input]
|
||||
traces = [otelcol.processor.transform.add_kube_attrs.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.transform "add_kube_attrs" {
|
||||
error_mode = "ignore"
|
||||
metric_statements {
|
||||
context = "datapoint"
|
||||
statements = [
|
||||
"set(attributes[\"k8s_namespace_name\"], resource.attributes[\"k8s.namespace.name\"])",
|
||||
"set(attributes[\"k8s_deployment_name\"], resource.attributes[\"k8s.deployment.name\"])",
|
||||
"set(attributes[\"k8s_statefulset_name\"], resource.attributes[\"k8s.statefulset.name\"])",
|
||||
"set(attributes[\"k8s_daemonset_name\"], resource.attributes[\"k8s.daemonset.name\"])",
|
||||
"set(attributes[\"k8s_cronjob_name\"], resource.attributes[\"k8s.cronjob.name\"])",
|
||||
"set(attributes[\"k8s_job_name\"], resource.attributes[\"k8s.job.name\"])",
|
||||
"set(attributes[\"k8s_node_name\"], resource.attributes[\"k8s.node.name\"])",
|
||||
"set(attributes[\"k8s_pod_name\"], resource.attributes[\"k8s.pod.name\"])",
|
||||
"set(attributes[\"cluster\"], \"k8s-central-prd-ase1\")",
|
||||
"set(attributes[\"env\"], resource.attributes[\"env\"])",
|
||||
"set(attributes[\"bu\"], resource.attributes[\"bu\"])",
|
||||
"set(attributes[\"team\"], resource.attributes[\"team\"])",
|
||||
"set(attributes[\"version\"], resource.attributes[\"version\"])",
|
||||
"set(attributes[\"job\"], \"otel_agent_push\")",
|
||||
]
|
||||
}
|
||||
log_statements {
|
||||
context = "log"
|
||||
statements = [
|
||||
"set(attributes[\"k8s_namespace_name\"], resource.attributes[\"k8s.namespace.name\"])",
|
||||
"set(attributes[\"k8s_deployment_name\"], resource.attributes[\"k8s.deployment.name\"])",
|
||||
"set(attributes[\"k8s_statefulset_name\"], resource.attributes[\"k8s.statefulset.name\"])",
|
||||
"set(attributes[\"k8s_daemonset_name\"], resource.attributes[\"k8s.daemonset.name\"])",
|
||||
"set(attributes[\"k8s_cronjob_name\"], resource.attributes[\"k8s.cronjob.name\"])",
|
||||
"set(attributes[\"k8s_job_name\"], resource.attributes[\"k8s.job.name\"])",
|
||||
"set(attributes[\"k8s_node_name\"], resource.attributes[\"k8s.node.name\"])",
|
||||
"set(attributes[\"k8s_pod_name\"], resource.attributes[\"k8s.pod.name\"])",
|
||||
"set(attributes[\"cluster\"], \"k8s-central-prd-ase1\")",
|
||||
"set(attributes[\"env\"], resource.attributes[\"env\"])",
|
||||
"set(attributes[\"bu\"], resource.attributes[\"bu\"])",
|
||||
"set(attributes[\"team\"], resource.attributes[\"team\"])",
|
||||
"set(attributes[\"version\"], resource.attributes[\"version\"])",
|
||||
"set(attributes[\"job\"], \"otel_agent_push\")",
|
||||
]
|
||||
}
|
||||
trace_statements {
|
||||
context = "span"
|
||||
statements = [
|
||||
"set(attributes[\"k8s_namespace_name\"], resource.attributes[\"k8s.namespace.name\"])",
|
||||
"set(attributes[\"k8s_deployment_name\"], resource.attributes[\"k8s.deployment.name\"])",
|
||||
"set(attributes[\"k8s_statefulset_name\"], resource.attributes[\"k8s.statefulset.name\"])",
|
||||
"set(attributes[\"k8s_daemonset_name\"], resource.attributes[\"k8s.daemonset.name\"])",
|
||||
"set(attributes[\"k8s_cronjob_name\"], resource.attributes[\"k8s.cronjob.name\"])",
|
||||
"set(attributes[\"k8s_job_name\"], resource.attributes[\"k8s.job.name\"])",
|
||||
"set(attributes[\"k8s_node_name\"], resource.attributes[\"k8s.node.name\"])",
|
||||
"set(attributes[\"k8s_pod_name\"], resource.attributes[\"k8s.pod.name\"])",
|
||||
"set(attributes[\"cluster\"], \"k8s-central-prd-ase1\")",
|
||||
"set(attributes[\"env\"], resource.attributes[\"env\"])",
|
||||
"set(attributes[\"bu\"], resource.attributes[\"bu\"])",
|
||||
"set(attributes[\"team\"], resource.attributes[\"team\"])",
|
||||
"set(attributes[\"version\"], resource.attributes[\"version\"])",
|
||||
"set(attributes[\"job\"], \"otel_agent_push\")",
|
||||
]
|
||||
}
|
||||
output {
|
||||
metrics = [otelcol.processor.batch.otlp_batcher.input]
|
||||
logs = [otelcol.processor.batch.otlp_batcher.input]
|
||||
traces = [otelcol.exporter.loadbalancing.otel.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.batch "otlp_batcher" {
|
||||
output {
|
||||
metrics = [otelcol.exporter.otlphttp.mimir.input]
|
||||
logs = [otelcol.exporter.otlphttp.loki.input]
|
||||
}
|
||||
}
|
||||
|
||||
// writers
|
||||
prometheus.remote_write "mimir" {
|
||||
endpoint {
|
||||
url = "http://mimir-nginx.mimir-distributed.svc.clusterset.local/api/v1/push"
|
||||
headers = {"X-Scope-OrgID" = "anonymous"}
|
||||
tls_config {
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
queue_config {
|
||||
min_shards = 25
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.otlphttp "mimir" {
|
||||
client {
|
||||
endpoint = "http://mimir-nginx.mimir-distributed.svc.clusterset.local/otlp"
|
||||
headers = {"X-Scope-OrgID" = "anonymous"}
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.otlphttp "loki" {
|
||||
client {
|
||||
endpoint = "http://loki-gateway.loki-distributed.svc.clusterset.local/otlp"
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.otlp "tempo" {
|
||||
client {
|
||||
endpoint = "tempo-distributor.tempo-distributed.svc.clusterset.local:4317"
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.loadbalancing "otel" {
|
||||
routing_key = "traceID"
|
||||
resolver {
|
||||
dns {
|
||||
hostname = "opentelemetry-statefulset-headless.opentelemetry.svc.clusterset.local"
|
||||
timeout = "5s"
|
||||
}
|
||||
}
|
||||
protocol {
|
||||
otlp {
|
||||
client {
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
queue {
|
||||
num_consumers = 100
|
||||
queue_size = 100000
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,677 @@
|
||||
// gce_node_exporter
|
||||
discovery.gce "node_exporter_a" {
|
||||
project = "meesho-farmiso-prd-0622"
|
||||
zone = "asia-southeast1-a"
|
||||
port = 9100
|
||||
}
|
||||
discovery.gce "node_exporter_b" {
|
||||
project = "meesho-farmiso-prd-0622"
|
||||
zone = "asia-southeast1-b"
|
||||
port = 9100
|
||||
}
|
||||
discovery.gce "node_exporter_c" {
|
||||
project = "meesho-farmiso-prd-0622"
|
||||
zone = "asia-southeast1-c"
|
||||
port = 9100
|
||||
}
|
||||
discovery.relabel "node_exporter_gce" {
|
||||
targets = concat(
|
||||
discovery.gce.node_exporter_a.targets,
|
||||
discovery.gce.node_exporter_b.targets,
|
||||
discovery.gce.node_exporter_c.targets,
|
||||
)
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_status"]
|
||||
regex = "RUNNING"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_goog-k8s-cluster-name"]
|
||||
regex = "k8s"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_monitoring"]
|
||||
regex = "no"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_name"]
|
||||
regex = "gke-k8s-.*"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
target_label = "project"
|
||||
replacement = "meesho-farmiso-prd-0622"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_name"]
|
||||
target_label = "name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_id"]
|
||||
target_label = "instance_id"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_instance_status"]
|
||||
target_label = "status"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_private_ip"]
|
||||
target_label = "private_ip"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_public_ip"]
|
||||
target_label = "public_ip"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_bu"]
|
||||
target_label = "bu"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_component"]
|
||||
target_label = "component"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_env"]
|
||||
target_label = "env"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_service"]
|
||||
target_label = "service"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_team"]
|
||||
target_label = "team"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_type"]
|
||||
target_label = "type"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_gce_label_alerts"]
|
||||
target_label = "alerts"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "node_exporter_gce" {
|
||||
targets = discovery.relabel.node_exporter_gce.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "node_exporter_gce"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// kube state metrics
|
||||
discovery.relabel "kube_state_metrics_pod" {
|
||||
targets = [{__address__ = "kube-state-metrics-farmiso-prd.kube-system.svc.cluster.local:8080",}]
|
||||
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kube_state_metrics_pod" {
|
||||
targets = discovery.relabel.kube_state_metrics_pod.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "kube_state_metrics_pod"
|
||||
scrape_interval = "15s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// cadvisor metrics
|
||||
discovery.kubernetes "kubernetes_nodes" {
|
||||
role = "node"
|
||||
}
|
||||
discovery.relabel "cadvisor_kubernetes_nodes" {
|
||||
targets = discovery.kubernetes.kubernetes_nodes.targets
|
||||
|
||||
rule {
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
target_label = "cluster"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
replacement = "kubernetes.default.svc:443"
|
||||
target_label = "__address__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_node_name"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
replacement = "/api/v1/nodes/$1/proxy/metrics/cadvisor"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "cadvisor_kubernetes_nodes" {
|
||||
targets = discovery.relabel.cadvisor_kubernetes_nodes.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "cadvisor_kubernetes_nodes"
|
||||
scheme = "https"
|
||||
scrape_interval = "15s"
|
||||
authorization {
|
||||
type = "Bearer"
|
||||
credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||||
}
|
||||
tls_config {
|
||||
ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// kubelet
|
||||
discovery.relabel "kubelet_kubernetes_nodes" {
|
||||
targets = discovery.kubernetes.kubernetes_nodes.targets
|
||||
|
||||
rule {
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
target_label = "cluster"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
target_label = "__address__"
|
||||
replacement = "kubernetes.default.svc:443"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_node_name"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
replacement = "/api/v1/nodes/$1/proxy/metrics"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "kubelet_kubernetes_nodes" {
|
||||
targets = discovery.relabel.kubelet_kubernetes_nodes.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "kubelet_kubernetes_nodes"
|
||||
scheme = "https"
|
||||
scrape_interval = "15s"
|
||||
authorization {
|
||||
type = "Bearer"
|
||||
credentials_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||||
}
|
||||
tls_config {
|
||||
ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// prometheus_kubernetes_endpoints
|
||||
discovery.kubernetes "kubernetes_endpoints" {
|
||||
role = "endpoints"
|
||||
}
|
||||
discovery.relabel "prometheus_kubernetes_endpoints" {
|
||||
targets = discovery.kubernetes.kubernetes_endpoints.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_port"]
|
||||
target_label = "__meta_kubernetes_pod_container_port_number"
|
||||
action = "keepequal"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_scrape"]
|
||||
regex = "true"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_annotation_prometheus_io_path"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__", "__meta_kubernetes_service_annotation_prometheus_io_port"]
|
||||
regex = "([^:]+)(?::\\d+)?;(\\d+)"
|
||||
target_label = "__address__"
|
||||
replacement = "$1:$2"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_service_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_endpoint_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_service_name"]
|
||||
target_label = "kubernetes_service_name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_endpoints_name"]
|
||||
target_label = "kubernetes_endpoints_name"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "prometheus_kubernetes_endpoints" {
|
||||
targets = discovery.relabel.prometheus_kubernetes_endpoints.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "prometheus_kubernetes_endpoints"
|
||||
scrape_interval = "15s"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// prometheus_kubernetes_pods
|
||||
discovery.kubernetes "kubernetes_pods" {
|
||||
role = "pod"
|
||||
}
|
||||
discovery.relabel "prometheus_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_port"]
|
||||
target_label = "__meta_kubernetes_pod_container_port_number"
|
||||
action = "keepequal"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_scrape"]
|
||||
regex = "true"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_prometheus_io_path"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__", "__meta_kubernetes_pod_annotation_prometheus_io_port"]
|
||||
regex = "([^:]+)(?::\\d+)?;(\\d+)"
|
||||
target_label = "__address__"
|
||||
replacement = "$1:$2"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_pod_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "prometheus_kubernetes_pods" {
|
||||
targets = discovery.relabel.prometheus_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "prometheus_kubernetes_pods"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// jmx_kubernetes_pods
|
||||
discovery.relabel "jmx_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_jmx_io_port"]
|
||||
target_label = "__meta_kubernetes_pod_container_port_number"
|
||||
action = "keepequal"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_jmx_io_scrape"]
|
||||
regex = "true"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_annotation_jmx_io_path"]
|
||||
regex = "(.+)"
|
||||
target_label = "__metrics_path__"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__", "__meta_kubernetes_pod_annotation_jmx_io_port"]
|
||||
regex = "([^:]+)(?::\\d+)?;(\\d+)"
|
||||
target_label = "__address__"
|
||||
replacement = "$1:$2"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_pod_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "jmx_kubernetes_pods" {
|
||||
targets = discovery.relabel.jmx_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "jmx_kubernetes_pods"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
// pm2_metrics
|
||||
discovery.relabel "pm2_kubernetes_pods" {
|
||||
targets = discovery.kubernetes.kubernetes_pods.targets
|
||||
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_container_init"]
|
||||
regex = "true"
|
||||
action = "drop"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__address__"]
|
||||
regex = "(.*9209)"
|
||||
action = "keep"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_node_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
regex = "__meta_kubernetes_pod_label_(.+)"
|
||||
action = "labelmap"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_namespace"]
|
||||
target_label = "kubernetes_namespace"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_node_name"]
|
||||
target_label = "kubernetes_node"
|
||||
}
|
||||
rule {
|
||||
source_labels = ["__meta_kubernetes_pod_name"]
|
||||
target_label = "kubernetes_pod_name"
|
||||
}
|
||||
rule {
|
||||
target_label = "cluster"
|
||||
replacement = "k8s-farmiso-prd-ase1"
|
||||
}
|
||||
}
|
||||
prometheus.scrape "pm2_kubernetes_pods" {
|
||||
targets = discovery.relabel.pm2_kubernetes_pods.output
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
job_name = "pm2_kubernetes_pods"
|
||||
clustering {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
prometheus.exporter.self "default" {}
|
||||
prometheus.scrape "alloy_pods" {
|
||||
targets = prometheus.exporter.self.default.targets
|
||||
forward_to = [prometheus.remote_write.mimir.receiver]
|
||||
}
|
||||
|
||||
// recivers
|
||||
otelcol.receiver.otlp "otlp_receiver" {
|
||||
grpc {
|
||||
endpoint = "0.0.0.0:4317"
|
||||
}
|
||||
http {
|
||||
endpoint = "0.0.0.0:4318"
|
||||
}
|
||||
output {
|
||||
metrics = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
logs = [otelcol.processor.filter.error_warn_logs.input, otelcol.processor.filter.info_logs.input]
|
||||
traces = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
}
|
||||
}
|
||||
|
||||
// processors
|
||||
otelcol.processor.filter "error_warn_logs" {
|
||||
error_mode = "ignore"
|
||||
logs {
|
||||
log_record = [
|
||||
"severity_number < SEVERITY_NUMBER_WARN",
|
||||
]
|
||||
}
|
||||
output {
|
||||
logs = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.filter "info_logs" {
|
||||
error_mode = "ignore"
|
||||
logs {
|
||||
log_record = [
|
||||
"severity_number >= SEVERITY_NUMBER_WARN",
|
||||
]
|
||||
}
|
||||
output {
|
||||
logs = [otelcol.processor.probabilistic_sampler.log_sampler.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.probabilistic_sampler "log_sampler" {
|
||||
sampling_percentage = 1
|
||||
output {
|
||||
logs = [otelcol.processor.k8sattributes.add_metadata.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.k8sattributes "add_metadata" {
|
||||
extract {
|
||||
label {
|
||||
from = "pod"
|
||||
key_regex = "(.*)"
|
||||
tag_name = "$1"
|
||||
}
|
||||
metadata = [
|
||||
"k8s.namespace.name",
|
||||
"k8s.deployment.name",
|
||||
"k8s.statefulset.name",
|
||||
"k8s.daemonset.name",
|
||||
"k8s.cronjob.name",
|
||||
"k8s.job.name",
|
||||
"k8s.node.name",
|
||||
"k8s.pod.name",
|
||||
]
|
||||
}
|
||||
output {
|
||||
metrics = [otelcol.processor.transform.add_kube_attrs.input]
|
||||
logs = [otelcol.processor.transform.add_kube_attrs.input]
|
||||
traces = [otelcol.processor.transform.add_kube_attrs.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.transform "add_kube_attrs" {
|
||||
error_mode = "ignore"
|
||||
metric_statements {
|
||||
context = "datapoint"
|
||||
statements = [
|
||||
"set(attributes[\"k8s_namespace_name\"], resource.attributes[\"k8s.namespace.name\"])",
|
||||
"set(attributes[\"k8s_deployment_name\"], resource.attributes[\"k8s.deployment.name\"])",
|
||||
"set(attributes[\"k8s_statefulset_name\"], resource.attributes[\"k8s.statefulset.name\"])",
|
||||
"set(attributes[\"k8s_daemonset_name\"], resource.attributes[\"k8s.daemonset.name\"])",
|
||||
"set(attributes[\"k8s_cronjob_name\"], resource.attributes[\"k8s.cronjob.name\"])",
|
||||
"set(attributes[\"k8s_job_name\"], resource.attributes[\"k8s.job.name\"])",
|
||||
"set(attributes[\"k8s_node_name\"], resource.attributes[\"k8s.node.name\"])",
|
||||
"set(attributes[\"k8s_pod_name\"], resource.attributes[\"k8s.pod.name\"])",
|
||||
"set(attributes[\"cluster\"], \"k8s-farmiso-prd-ase1\")",
|
||||
"set(attributes[\"env\"], resource.attributes[\"env\"])",
|
||||
"set(attributes[\"bu\"], resource.attributes[\"bu\"])",
|
||||
"set(attributes[\"team\"], resource.attributes[\"team\"])",
|
||||
"set(attributes[\"version\"], resource.attributes[\"version\"])",
|
||||
"set(attributes[\"job\"], \"otel_agent_push\")",
|
||||
]
|
||||
}
|
||||
log_statements {
|
||||
context = "log"
|
||||
statements = [
|
||||
"set(attributes[\"k8s_namespace_name\"], resource.attributes[\"k8s.namespace.name\"])",
|
||||
"set(attributes[\"k8s_deployment_name\"], resource.attributes[\"k8s.deployment.name\"])",
|
||||
"set(attributes[\"k8s_statefulset_name\"], resource.attributes[\"k8s.statefulset.name\"])",
|
||||
"set(attributes[\"k8s_daemonset_name\"], resource.attributes[\"k8s.daemonset.name\"])",
|
||||
"set(attributes[\"k8s_cronjob_name\"], resource.attributes[\"k8s.cronjob.name\"])",
|
||||
"set(attributes[\"k8s_job_name\"], resource.attributes[\"k8s.job.name\"])",
|
||||
"set(attributes[\"k8s_node_name\"], resource.attributes[\"k8s.node.name\"])",
|
||||
"set(attributes[\"k8s_pod_name\"], resource.attributes[\"k8s.pod.name\"])",
|
||||
"set(attributes[\"cluster\"], \"k8s-farmiso-prd-ase1\")",
|
||||
"set(attributes[\"env\"], resource.attributes[\"env\"])",
|
||||
"set(attributes[\"bu\"], resource.attributes[\"bu\"])",
|
||||
"set(attributes[\"team\"], resource.attributes[\"team\"])",
|
||||
"set(attributes[\"version\"], resource.attributes[\"version\"])",
|
||||
"set(attributes[\"job\"], \"otel_agent_push\")",
|
||||
]
|
||||
}
|
||||
trace_statements {
|
||||
context = "span"
|
||||
statements = [
|
||||
"set(attributes[\"k8s_namespace_name\"], resource.attributes[\"k8s.namespace.name\"])",
|
||||
"set(attributes[\"k8s_deployment_name\"], resource.attributes[\"k8s.deployment.name\"])",
|
||||
"set(attributes[\"k8s_statefulset_name\"], resource.attributes[\"k8s.statefulset.name\"])",
|
||||
"set(attributes[\"k8s_daemonset_name\"], resource.attributes[\"k8s.daemonset.name\"])",
|
||||
"set(attributes[\"k8s_cronjob_name\"], resource.attributes[\"k8s.cronjob.name\"])",
|
||||
"set(attributes[\"k8s_job_name\"], resource.attributes[\"k8s.job.name\"])",
|
||||
"set(attributes[\"k8s_node_name\"], resource.attributes[\"k8s.node.name\"])",
|
||||
"set(attributes[\"k8s_pod_name\"], resource.attributes[\"k8s.pod.name\"])",
|
||||
"set(attributes[\"cluster\"], \"k8s-farmiso-prd-ase1\")",
|
||||
"set(attributes[\"env\"], resource.attributes[\"env\"])",
|
||||
"set(attributes[\"bu\"], resource.attributes[\"bu\"])",
|
||||
"set(attributes[\"team\"], resource.attributes[\"team\"])",
|
||||
"set(attributes[\"version\"], resource.attributes[\"version\"])",
|
||||
"set(attributes[\"job\"], \"otel_agent_push\")",
|
||||
]
|
||||
}
|
||||
output {
|
||||
metrics = [otelcol.processor.batch.otlp_batcher.input]
|
||||
logs = [otelcol.processor.batch.otlp_batcher.input]
|
||||
traces = [otelcol.exporter.loadbalancing.otel.input]
|
||||
}
|
||||
}
|
||||
otelcol.processor.batch "otlp_batcher" {
|
||||
output {
|
||||
metrics = [otelcol.exporter.otlphttp.mimir.input]
|
||||
logs = [otelcol.exporter.otlphttp.loki.input]
|
||||
traces = [otelcol.exporter.otlp.tempo.input]
|
||||
}
|
||||
}
|
||||
|
||||
// writers
|
||||
prometheus.remote_write "mimir" {
|
||||
endpoint {
|
||||
url = "http://mimir-nginx.mimir-distributed.svc.clusterset.local/api/v1/push"
|
||||
headers = {"X-Scope-OrgID" = "anonymous"}
|
||||
tls_config {
|
||||
insecure_skip_verify = true
|
||||
}
|
||||
queue_config {
|
||||
min_shards = 25
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.otlphttp "mimir" {
|
||||
client {
|
||||
endpoint = "http://mimir-nginx.mimir-distributed.svc.clusterset.local/otlp"
|
||||
headers = {"X-Scope-OrgID" = "anonymous"}
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.otlphttp "loki" {
|
||||
client {
|
||||
endpoint = "http://loki-gateway.loki-distributed.svc.clusterset.local/otlp"
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.otlp "tempo" {
|
||||
client {
|
||||
endpoint = "tempo-distributor.tempo-distributed.svc.clusterset.local:4317"
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
}
|
||||
otelcol.exporter.loadbalancing "otel" {
|
||||
routing_key = "traceID"
|
||||
resolver {
|
||||
dns {
|
||||
hostname = "opentelemetry-statefulset-headless.opentelemetry.svc.clusterset.local"
|
||||
timeout = "5s"
|
||||
}
|
||||
}
|
||||
protocol {
|
||||
otlp {
|
||||
client {
|
||||
tls {
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
queue {
|
||||
num_consumers = 100
|
||||
queue_size = 100000
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user