-
Monitoring/VictoriaMetrics Stack
VictoriaMetrics Stack 완전해부 - 4: VMAgent를 없애고 VMSingle 만 사용하기 : 메트릭
2026. 6. 9.
이전 포스팅으로 VMAgent를 삭제하는 것 까지는 좋았으나.
한가지 새롭게 안 사실이있다.
메트릭데이터가 한참 안들어와서 조사해본 결과,
이전 설정으로 Spring boot와 yaml 로 설정한 "instrumentation.yaml" 를 통해 어플리케이션 데이터가 들어오는건 맞았다.
거기에는 애플리케이션 내부 JVM 메트릭 데이터도 들어가있다.
여기까지는 맞다.
하지만 노드나 OS레벨의 메트릭 정보를 보기 위해서는 Otel collector하나로는 부족했다.
하나로 수집 가능하다고 생각했었지만, 다시 조사해본결과 그게 아니라 어찌되었든 node-exporter와 kube-state-metrics의 설치는 불가피할 거 ㅅ같다.
node-exporter는 유명하겠지만 노드의 cpu, memory 등 상태를 보여주고, kube-state-metrics는 pod의 상태, deployment등의 상태를 나타낸다.
두개를 설치해준다.
helm install node-exporter prometheus-community/prometheus-node-exporter -n monitoring helm install kube-state-metrics prometheus-community/kube-state-metrics -n monitoring그리고 otel-daemonset에서 아래처럼 수정해준다.
config: receivers: filelog: include: - /var/log/pods/*/*/*.log - /var/log/containers/*.log include_file_path: true operators: - type: json_parser id: parser-docker - type: move from: attributes["log.file.path"] to: resource["log.file.path"] prometheus: config: scrape_configs: - job_name: node-exporter static_configs: - targets: ['node-exporter-prometheus-node-exporter.monitoring.svc.cluster.local:9100'] - job_name: kube-state-metrics static_configs: - targets: ['kube-state-metrics.monitoring.svc.cluster.local:8080'] - job_name: cadvisor scheme: https tls_config: insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - role: node relabel_configs: - action: labelmap regex: __meta_kubernetes_node_label_(.+) - target_label: __address__ replacement: kubernetes.default.svc.cluster.local:443 - source_labels: [__meta_kubernetes_node_name] target_label: __metrics_path__ replacement: /api/v1/nodes/$1/proxy/metrics/cadvisorDaemonset이 수집할 수 있게 권한도 추가해준다.
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: otel-daemonset-role rules: - apiGroups: [""] resources: ["pods", "namespaces"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["nodes/metrics", "nodes/proxy"] verbs: ["get", "list", "watch"] - nonResourceURLs: ["/metrics", "/metrics/cadvisor"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: otel-daemonset-rolebinding subjects: - kind: ServiceAccount name: otel-ds-opentelemetry-collector namespace: monitoring roleRef: kind: ClusterRole name: otel-daemonset-role apiGroup: rbac.authorization.k8s.io그럼 이렇게 잘 찍힌다.

'Monitoring > VictoriaMetrics Stack' 카테고리의 다른 글
VictoriaMetrics Stack 완전해부 - 4: VMAgent를 없애고 VMSingle 만 사용하기 실제 확인 (0) 2026.06.09 VictoriaMetrics Stack 완전해부 - 2 (0) 2026.06.09 VictoriaMetrics Stack 완전해부 - 1 (0) 2026.06.09 VictoriaMetrics Stack 을 활용한 모니터링 구축 (0) 2026.06.04 VictoriaMetrics Stack 을 활용한 모니터링이란? (0) 2026.06.04 댓글
