Skip to content

Commit f54e4a9

Browse files
committed
Remove all metrics ingestion into OpenObserve (gateway + bundled KSM)
Extend the agent-only change to a full "no metrics in OpenObserve" posture: metrics and alerting live solely in kube-prometheus. Gateway: - Remove the `metrics` pipeline (otlp, servicegraph, prometheus -> OpenObserve) - Remove the `prometheus` receiver (cadvisor/KSM scrapes into OpenObserve) - Remove the `servicegraph` connector and unwire it from the traces pipeline (drops the OpenObserve service-map, which was the only metrics we kept) Chart: - Disable the bundled `kube-state-metrics` subchart; kube-prometheus already ships KSM, node-exporter, and kubelet/cAdvisor scraping for Prometheus Gateway now runs logs/k8s_events + traces only; agent runs logs only.
1 parent 42d22a7 commit f54e4a9

1 file changed

Lines changed: 3 additions & 198 deletions

File tree

  • argocd-helm-charts/openobserve/charts/openobserve-collector

argocd-helm-charts/openobserve/charts/openobserve-collector/values.yaml

Lines changed: 3 additions & 198 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ labels: {}
5959
# kube-state-metrics exposes Kubernetes object states as Prometheus metrics.
6060
# Set enabled: false if you already have kube-state-metrics installed in your cluster.
6161
kube-state-metrics:
62-
enabled: true
62+
enabled: false
6363
namespaceOverride: "kube-system"
6464
fullnameOverride: "kube-state-metrics"
6565
tolerations:
@@ -499,171 +499,6 @@ gateway:
499499
objects:
500500
- name: resourcequotas
501501
mode: watch
502-
prometheus:
503-
config:
504-
scrape_configs:
505-
- job_name: cadvisor
506-
scheme: https
507-
sample_limit: 10000
508-
scrape_interval: 30s
509-
scrape_timeout: 10s
510-
metrics_path: /metrics/cadvisor
511-
tls_config:
512-
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
513-
insecure_skip_verify: true
514-
authorization:
515-
credentials_file: "/var/run/secrets/kubernetes.io/serviceaccount/token"
516-
type: Bearer
517-
kubernetes_sd_configs:
518-
- role: node
519-
metric_relabel_configs:
520-
# Keep container filesystem read/write metrics for IOPS
521-
- action: keep
522-
regex: container_fs_(reads_total|writes_total|reads_bytes_total|writes_bytes_total)
523-
source_labels:
524-
- __name__
525-
# Drop cgroup metrics with no pod
526-
- action: drop
527-
regex: ".+;"
528-
separator: ";"
529-
source_labels:
530-
- id
531-
- pod
532-
relabel_configs:
533-
- action: replace
534-
replacement: "kubelet"
535-
target_label: job
536-
- action: replace
537-
source_labels:
538-
- __meta_kubernetes_node_name
539-
target_label: node
540-
- job_name: kube-state-metrics
541-
scrape_interval: 30s
542-
scrape_timeout: 10s
543-
static_configs:
544-
- targets: ["kube-state-metrics.kube-system.svc.cluster.local:8080"]
545-
metric_relabel_configs:
546-
# Keep the most useful kube-state-metrics for a Datadog-equivalent view
547-
- action: keep
548-
regex: "kube_(pod_info|pod_created|pod_status_phase|pod_status_ready|pod_status_reason|pod_container_info|pod_container_status_ready|pod_container_status_restarts_total|pod_container_resource_requests|pod_container_resource_limits|pod_container_status_waiting.*|pod_container_status_terminated_reason|pod_owner|pod_spec_volumes_persistentvolumeclaims_info|pod_container_security_context_privileged|pod_container_security_context_run_as_user|pod_container_security_context_run_as_non_root|deployment_status_replicas.*|deployment_spec_replicas|deployment_created|daemonset_created|daemonset_status.*|statefulset_replicas|statefulset_created|statefulset_status.*|replicaset_status.*|replicaset_spec_replicas|replicaset_created|replicaset_owner|replicaset_annotations|service_info|service_created|service_spec_type|service_status_load_balancer_ingress|endpoint_address|node_status_condition|node_status_allocatable|node_info|node_spec_taint|node_created|namespace_status_phase|namespace_created|persistentvolumeclaim_status_phase|persistentvolumeclaim_info|persistentvolumeclaim_access_mode|persistentvolumeclaim_resource_requests_storage_bytes|persistentvolumeclaim_created|persistentvolume_info|persistentvolume_created|persistentvolume_status_phase|persistentvolume_capacity_bytes|persistentvolume_access_mode|persistentvolume_reclaim_policy|horizontalpodautoscaler_info|horizontalpodautoscaler_created|horizontalpodautoscaler_status.*|horizontalpodautoscaler_spec.*|job_info|job_created|job_status.*|job_spec.*|job_complete|job_failed|job_owner|cronjob_info|cronjob_created|cronjob_status_active|cronjob_spec_suspend|cronjob_next_schedule_time|ingress_info|ingress_created|ingress_path|ingress_tls|ingress_labels|networkpolicy_created|networkpolicy_spec_ingress_rules|networkpolicy_spec_egress_rules|resourcequota|limitrange|serviceaccount_info|serviceaccount_created)"
549-
source_labels: [__name__]
550-
# CoreDNS metrics (DNS request rate, error rate, cache hit/miss)
551-
- job_name: coredns
552-
scrape_interval: 30s
553-
scrape_timeout: 10s
554-
kubernetes_sd_configs:
555-
- role: endpoints
556-
namespaces:
557-
names: [kube-system]
558-
relabel_configs:
559-
- source_labels: [__meta_kubernetes_service_name]
560-
action: keep
561-
regex: kube-dns
562-
- source_labels: [__meta_kubernetes_endpoint_port_name]
563-
action: keep
564-
regex: metrics
565-
# kube-apiserver metrics (request rate, latency, error rate, inflight requests)
566-
- job_name: kube-apiserver
567-
scheme: https
568-
scrape_interval: 30s
569-
scrape_timeout: 10s
570-
tls_config:
571-
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
572-
authorization:
573-
credentials_file: "/var/run/secrets/kubernetes.io/serviceaccount/token"
574-
type: Bearer
575-
kubernetes_sd_configs:
576-
- role: endpoints
577-
namespaces:
578-
names: [default]
579-
relabel_configs:
580-
- source_labels: [__meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
581-
action: keep
582-
regex: kubernetes;https
583-
metric_relabel_configs:
584-
- action: keep
585-
regex: "apiserver_(request_total|request_duration_seconds_bucket|request_duration_seconds_count|admission_webhook_request_total|current_inflight_requests|client_certificate_expiration_seconds.*)|process_resident_memory_bytes|process_cpu_seconds_total|kubernetes_build_info"
586-
source_labels: [__name__]
587-
# kube-scheduler metrics (scheduling latency, queue depth)
588-
- job_name: kube-scheduler
589-
scheme: https
590-
scrape_interval: 30s
591-
scrape_timeout: 10s
592-
tls_config:
593-
insecure_skip_verify: true
594-
authorization:
595-
credentials_file: "/var/run/secrets/kubernetes.io/serviceaccount/token"
596-
type: Bearer
597-
kubernetes_sd_configs:
598-
- role: pod
599-
namespaces:
600-
names: [kube-system]
601-
relabel_configs:
602-
- source_labels: [__meta_kubernetes_pod_label_component]
603-
action: keep
604-
regex: kube-scheduler
605-
- source_labels: [__address__]
606-
action: replace
607-
regex: "([^:]+)(?::\\d+)?"
608-
replacement: "$1:10259"
609-
target_label: __address__
610-
- source_labels: [__meta_kubernetes_pod_node_name]
611-
target_label: node
612-
# kube-controller-manager metrics (reconciliation errors, queue depth)
613-
- job_name: kube-controller-manager
614-
scheme: https
615-
scrape_interval: 30s
616-
scrape_timeout: 10s
617-
tls_config:
618-
insecure_skip_verify: true
619-
authorization:
620-
credentials_file: "/var/run/secrets/kubernetes.io/serviceaccount/token"
621-
type: Bearer
622-
kubernetes_sd_configs:
623-
- role: pod
624-
namespaces:
625-
names: [kube-system]
626-
relabel_configs:
627-
- source_labels: [__meta_kubernetes_pod_label_component]
628-
action: keep
629-
regex: kube-controller-manager
630-
- source_labels: [__address__]
631-
action: replace
632-
regex: "([^:]+)(?::\\d+)?"
633-
replacement: "$1:10257"
634-
target_label: __address__
635-
- source_labels: [__meta_kubernetes_pod_node_name]
636-
target_label: node
637-
# Prometheus auto-discovery: scrapes any pod annotated with prometheus.io/scrape=true
638-
- job_name: prometheus-autodiscovery
639-
scrape_interval: 30s
640-
kubernetes_sd_configs:
641-
- role: pod
642-
relabel_configs:
643-
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
644-
action: keep
645-
regex: "true"
646-
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
647-
action: replace
648-
target_label: __metrics_path__
649-
regex: (.+)
650-
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
651-
action: replace
652-
regex: "([^:]+)(?::\\d+)?;(\\d+)"
653-
replacement: "$1:$2"
654-
target_label: __address__
655-
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scheme]
656-
action: replace
657-
regex: (https?)
658-
target_label: __scheme__
659-
- source_labels: [__meta_kubernetes_namespace]
660-
target_label: namespace
661-
- source_labels: [__meta_kubernetes_pod_name]
662-
target_label: pod
663-
- source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
664-
target_label: service
665-
sample_limit: 10000
666-
667502
processors:
668503
# Strip large CRD spec/status before export.
669504
# The openAPIV3Schema inside spec.versions[*].schema is 100KB-2MB per CRD.
@@ -760,32 +595,7 @@ gateway:
760595
# memory_ballast:
761596
# # Memory Ballast size should be max 1/3 to 1/2 of memory. It's a large buffer that is pre-allocated in the memory to help stabilize and reduce the garbage collection (GC) pressure on the Go runtime.
762597
# size_mib: 512
763-
connectors:
764-
servicegraph:
765-
latency_histogram_buckets:
766-
[
767-
2ms,
768-
4ms,
769-
6ms,
770-
8ms,
771-
10ms,
772-
50ms,
773-
100ms,
774-
200ms,
775-
400ms,
776-
800ms,
777-
1s,
778-
1400ms,
779-
2s,
780-
5s,
781-
10s,
782-
15s,
783-
]
784-
dimensions:
785-
- http.method
786-
store:
787-
ttl: 30s
788-
max_items: 10000
598+
connectors: {}
789599
service:
790600
extensions: [health_check, zpages]
791601
pipelines:
@@ -794,13 +604,8 @@ gateway:
794604
processors:
795605
[memory_limiter, resourcedetection, attributes, k8sattributes, transform/strip_crd_spec, batch]
796606
exporters: [otlphttp/openobserve_k8s_events]
797-
metrics:
798-
receivers: [otlp, servicegraph, prometheus]
799-
processors:
800-
[memory_limiter, resourcedetection, attributes, k8sattributes, batch]
801-
exporters: [otlphttp/openobserve]
802607
traces:
803608
receivers: [otlp]
804609
processors:
805610
[memory_limiter, resourcedetection, attributes, k8sattributes, batch]
806-
exporters: [otlphttp/openobserve, servicegraph]
611+
exporters: [otlphttp/openobserve]

0 commit comments

Comments
 (0)