이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

Kubernetes 131

kubernetes 모니터링 : Node Problem Detector(NPD)란?

Node Problem Detector Node Problem Detector(NPD) 란?Node Problem Detector는 노드의 상태를 모니터링하고하드웨어, 커널, 컨테이너 런타임 문제와 같은 일반적인 노드 문제를 감지하는 오픈소스 라이브러리.일반적으로 Kubernetes에 Daemonset으로 배포되어 동작함. 수집하는 metrics 계층=  system metricshost에서 발생한 "에러 정보"를 전달함  수집하는 metrics 정보 확인 링크NPD는 config에 지정되어있는 설정에 따라 수집하는 지표 정보가 매우 유동적임 NPD 설정 확인--system-log-monitors=https://github.com/kubernetes/node-problem-detector/tree/mas..

kubernetes 모니터링 : process-exporter 란?

Process Exporter process-exporter 란?System Metrics 중 "process" 관련 지표 정보를 수집할 수 있음.Prometheus와 연동 가능Prometheus에서 관리하는 프로젝트는 아님.MIT license로 제공참고 : https://github.com/ncabatoff/process-exporter사용 case는 많지 않고... 관련 자료도 거의 없음. 수집하는 metrics 계층=  System MetricsInstanace에서 실행 중인 Process에 대한 "system metrics"정보를 수집하여 API로 제공. 수집하는 metrics 정보 확인 링크[process-export의 metrics list 정보]별도로 없음. 직접 정리하면 아래와 같음.# ..

metricbeat container 실행 방법

metricbeat container 실행 방법worker node에서 metricbeat의  메모리 사용량이 최대 60%까지 올라가는 이슈가 있었음.해당 메모리 사용량 이슈는 metricbeat의 메모리릭 이슈로 확인됨.metricbeat git issues를 확인해보면 각 버전별로 항상 언급됨.고질병인가봄...해당 이슈를 해결 할 수 있는 방법 중 하나로container로 실행 시켜서 CPU, Memory 사용량을 제한 하는 방법을 알아봄. 사용하는 tool은 nerdctl임  nerdctl run 명령 시 CPU, Memory 사용량 제한 하는 옵션--cpu-period uint            Limit CPU CFS (Completely Fair Scheduler) period      --..

metricbeat : Error initializing Kubernetes metadata enricher

metricbeat 사용중 에러 발생오류명Error initializing Kubernetes metadata enricher: unable to build kube config due to error: invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable  원인kubeconfig 파일을 찾지 못해서 발생하는 에러.근데 왜 worker node에서 kubeconfig 파일을 사용해야하는지는 ... 모르겠음.리서치 항목 : kubeconfig 있을 때, 없을 때 차이 비교해봐야함.kubeconifg 값에 아무것도 안주고 이상이 없는지 확인 (ERROR log 남는지..

metricbeat에서 worker node kubelet 접근 방법 리서치 중 오류 분석 내용

오류명util/kubernetes.go:114#011Error initializing Kubernetes metadata enricher: unable to build kube config due to error: invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable원인 인증 에러임.token 정보가 잘못되어있었음. 해결책bearer_token_file 옵션을 token형식이 아닌 crt, key파일로 변경해야함.bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token을 아래와 같이 변경ssl...

Kubernetes 모니터링 : metricbeat 란?

metricbeat metricbeat란?Elastic Stack의 일부인 오프소스 데이터 수집 에이전트로,System 및 Service Metrics를 수집하는데 사용됨. 수집하는 metrics 계층=  System, Service Metricsmetricbeat는 다양한 module을 제공하고 있어서system metrics 뿐만 아니라 다양한 Service Metrics도 수집할 수 있는 장점을 가지고 있음. [모듈 정보 list]https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-modules.html  수집하는 metrics 정보 확인 링크[system module  이 수집하는 metrics 정보]https://www.ela..

Kubernetes 모니터링 : kube-state-metrics 란?

kube-state-metrics(KSM) kube-state-metrics(KSM)란?kubernetes에서 공식적으로 제공하는 서비스로kubernetes 클러스터 내부의 Pod가 사용 중인 리소스 metric과 네트워크 I/O, Deployments 수, Pod 수 등의 다양한 정보를 수집함.  수집하는 metrics 계층=  Service Metrics : kubernetesContainer를 컨트롤 하는 Kubernetes 자체에 대한 모니터링 (Kubernetes의 자원인 Service, POD, Namespace 등) 수집하는 metrics 정보 확인 링크https://github.com/kubernetes/kube-state-metrics/blob/main/docs/pod-metrics.md..

오류 : inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory

오류 : inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory [상황]cAdvisor git에 있는 kubernetes deploy인 아래의 링크를 참고해서 https://github.com/google/cadvisor/blob/master/deploy/kubernetes/base/daemonset.yamlkubernetes cluster에 cAdvisor Daemonset 를 배포했는데 다음과 같은 오류가 발생함. [오류 메세지]Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directoryFa..

cAdvisor container로 배포 해서 확인 하는 방법(storage driver = Kafka)

cAdvisor container로 배포 해서 확인 하는 방법(storage driver = Kafka) cAdvisor에서 Kafka로 지표 전달 가능함.storage_driver 설정을 kafka로 설정하면 됨[참고 링크]https://github.com/google/cadvisor/blob/master/docs/storage/kafka.md  Kafka 클러스터 실행kafka downloadwget https://archive.apache.org/dist/kafka/3.1.0/kafka_2.13-3.1.0.tgztar xvf kafka_2.13-3.1.0.tgzcd kafka_2.13-3.1.0 kafka 설정 파일 변경vim config/server.properties아래 2개 내용 추가liste..

kubernetes 모니터링 : cAdvisor 란? (cAdvisor분석 version2)

kubernetes kubelet cAdvisorcAdvisor란?Container Advisor의 약자로 Google에서 개발한 오픈소스 컨테이너 모니터링 도구. kubelet과 cAdvisor 관계는?kubernetes cluster의 모든 Node에는 kubelet이 설치되어 있음.해당 kubelet에는 cAdvisor가 탐재되어 있음.cAdvisor는 kubelet 바이너리에 통합된 오픈 소스 에이전트로cAdvisor를 통해서 Node의 자원 사용량을 모니터링하고 컨테이너의 성능을 분석함. (Pod 레벨에서는 실행되지 않음)cAdvisor는 정보를 수집해서 kubelet의 메모리에 올려놓음. 아래 예제에서는 curl 명령을 통해 해당 cAdvisor가 수집한 metrics 정보를 가져오는 것을 알..

반응형