전체 글 83

Telegraf 를 활용한 Prometheus exporter metric 수집 및 DB 적재

Telegraf를 활용한 Prometheus exporter metric 수집 및 DB 적재filestats exporter(프로메테우스 익스포터)에서 수집할 수 있는 Data를 Prometheus 가 아닌 DB에 저장할 방법을 찾아본다.0. Telegraf 소개Telegraf는 데이터베이스, 시스템 및 IoT 센서에서 메트릭 및 이벤트를 수집하고 전송하기 위한 플러그인 중심 서버 에이전트입니다. Telegraf는 Go로 작성되었으며 외부 종속성 없이 단일 바이너리로 컴파일되며 최소한의 메모리 공간만 필요합니다. -와탭 telegraf 소개(https://docs.whatap.io/telegraf/introduction)아키텍쳐Input(Source): 정보를 가져올 곳주요 input plugin: ht..

[RKE2] Grafana 의 ingress

간략한 아키텍쳐GRAFANA 구성기문제 상황: ingress까지 enable 시킨 grafana에서 간헐적으로 https 연결이 적용되지 않는 현상이 있었다. https 통신이 적용되다 10~15분마다 한 번씩 http 로 통신되었다. 짧게는 1분 이내, 길게는 5분까지 http 통신이 적용되었다. 이후 pod 재시작 등의 작업 없이도 https 통신이 복구되었다. 해결: 기존 RKE2에  생성되어있던 certificate 를 duplicate 하여 'secret'을 생성했다. Grafana의 helm chart에 duplicate 한 secret을 사용하는 옵션을 적용하니 https 연결이 항상 잘 적용 되었다. 어려웠던 이유: management app 찾은 방법: Rancher( UI에서 )연결: ..

Prometheus - exporter들의 정확성 테스트

node-exporter 가 주요 매트릭(cpu 사용량, file system 사용량 등) 을 제대로 수집하고 있는지 테스트하여 결과를 남긴다.Prometheus - exporter들의 정확성 테스트1. 테스트 설계Node exporter, cAdvisor 등으로 metric을 수집한다.shell script로 서버와 docker container(어플리케이션)의 metric을 수집한다.shell script 로 직접 수집한 metric값을 시각화, Grafana 에서 확인할 수 있는 값들과 비교한다.참고: python의 matplotlib으로 csv 파일을 간단히 시각화할 수 있다.https://matplotlib.org/2. Node exporter 테스트1) 테스트 방법linux top 명령어 출력..

[모니터링, k8s]RKE2 기반 k8s 모니터링

1. RKE2의 Monitoring stack들1) 결론(1): Metric - Rancher defaut stack 활용이미 Rancher 에서 metric monitor stack 차트를 생성 및 관리하고 있어, 추가 설정이 불필요한 것으로 판단됨.Default 설정으로도 필요한 metric을 모두 확인할 수 있는 것으로 판단됨.별도의 설정 변경이 필요할 경우, UI로 설정 수정 및 가이드 문서 작성하는 방향으로 구현 예정.(2): Logs - 별도의 스택 구성이 필요함.Logs: loki / promtail 구성이 필요함.2) 구성 상세 확인Rancher UI 접속 > 클러스터 접속 > Apps > Charts 클릭 Chart 항목 내 download 버튼 클릭해 차트 다운로드 가능함. 세부 설정..

[Grafana]pod 생성 시 user provisioning

환경helm 3.1k8s 1.30EKS원하는 것Grafana pod가 처음 생성될 때, user 계정들을 provision 하길 원함생성된 user들을 적절히 그룹화하고 권한 등을 부여하고자 함.문제 상황Grafana community에서는 admin 계정만 provision 가능함.https://github.com/grafana/helm-charts/blob/main/charts/grafana/values.yaml#L482-L491 helm-charts/charts/grafana/values.yaml at main · grafana/helm-chartsContribute to grafana/helm-charts development by creating an account on GitHub.github..

[AI, Kubeflow] Kubeflow bootstrap 소개

1. TL;DR온프레미스 클러스터 환경에 Kubeflow를 설치하려 한다. Kubeflow Bootstrap 이라는 툴을 활용해 설치 및 배포했다.개발 환경RKE2 1.27 (on-premise)ArgoCD 3.X2. 개요Kubeflow 공식문서에서는 두 가지의 설치 방법을 제안한다.Installing Kubeflow1) Standalone Kubeflow Componentskubeflow의 component들 중 필요한 것들만 직접 골라서 설치하는 방법.빠르게 환경을 구성한 후 외부 솔루션과의 차이점을 비교해보는 것이 목적이었기에 선택하지 않음.2) Kubeflow Platform주요 component들을 이미 묶어둔 패키지들. 각 관리형 쿠버네티스별로 다양한 package가 존재한다. 초기에는 dep..

2024년 회고

중력은 지구에서 두 번째로 강한 힘이다. 중력은 죽은 물체를 움직이고, 호기심은 산 물체를 움직인다.- 꿈꾸는 책들의 도시, 발터 뫼르스    삶은 여전히 즐겁고 재미있었다. 쉽지 않은 일들에 도전해 성과를 냈다. 사소하고 작은 행복들도 찾았다.1. 운동1) 파워리프팅목표: 1) 다양한 실전 경험 확보 2) 지속적인 성장 두 번의 풀 리프팅 대회, 한 번의 데드리프트 대회에 참여했다. 대회 환경 자체에 익숙해졌다.  생각만큼 많은 증량을 이루지는 못했다. e1RM은 올랐다. 그러나 실제 대회에선 신경계 피로도 관리에 실패, 제대로 된 퍼포먼스를 보이지는 못했다.  대회 이후로는 셀프 코칭을 시작했다. 스스로 운동하고 자세를 개선하는 법을 익히기 위해서였다. 원포인트 레슨을 들으며 최대한 많은 코치들을 경..

회고 2025.01.15

[Loki, K8s] 원인 불명의 Loki - CrashLoopBackOff 문제 해결 (EBS 용량 )

개요3개월 이상 안정적으로 작동하던 Loki pod가 알 수 없는 이유로 CrashLoopBackOff 상태가 됨.수동으로 Pod 삭제, Service enable / disable 등 처리를 했음에도 CrashLoopBackOff 상태에서 벗어나지 못함.에러 문구 확인 결과 loki init 단계에서 실패하는 것으로 판단됨.원인loki에 할당된 PV 가 모두 사용됨.구체적인 원인Kuberenetes Event exporter 설치 후 정상적인 dashboard 작동 위해 loki의 버전을 높임.Loki의 버전업 (2.6.1 -> 2.9.6)에 따라 log retention 의 default 값이 off로 바뀜.구동 이후 약 2개월간의 로그가 누적 저장됨.정기적으로 쿼리가 retention 되지 않아 E..

[모니터링] Docker-loki-plugin 환경에서 log라벨 설정

현재 Docker-compose 기반 서버들의 컨테이너 로깅 아키텍쳐는 다음과 같다.Docker Daemon ( with Docker-loki-plugin) > Loki > Grafanahttps://grafana.com/docs/loki/latest/send-data/docker-driver/configuration/Promtail 을 활용하지 않기에, 기존 k8s 환경에서 Promtail을 이용하던 것과는 다른 방법으로 로그를 파싱해야 함.관련 내용 리서치.Docker 환경에서 Log 라벨 설정1. 환경 설정의 차이 KubernetesDocker-compose컨테이너 로그 수집기Promtail별도로 존재하지 않음아키텍쳐Promtail > Loki > GrafanaDocker Daemon(with do..

카테고리 없음 2024.12.31

[K8s, Grafana] Loki 데이터량 확인 및 유지기간 설정 방법 확인(2.6.1)

Loki(2.6.1) 데이터량 확인 및 유지기간 설정 방법 확인1. 데이터량 확인 방법Prometheus 에서 아래 metric을 쿼리loki_ingester_chunk_stored_bytes_total백분율 등의 형태로도 쿼리 가능.(sum(loki_ingester_chunk_stored_bytes_total) / sum(node_filesystem_size_bytes{mountpoint="/home"}) ) * 1001) 시각화 시안퍼센트 게이지와 disk 크기 총량시계열 그래프텍스트2. 유지기간 설정1) 설정 방법: Loki compactor 설정compactor: index(로그들의 색인 파일)를 압축 / 삭제하는 역할.삭제 설정: retention_enabled: true.default는 fa..