전체 글 86

Build tool(gcc, make..)이 없는 폐쇄망 내 Linux/Unix에 Python3 설치하기

Build tool(gcc, make..)이 없는 폐쇄망 내 Linux/Unix에 Python3 설치하기1. 문제 상황wget, apt 등의 명령어 사용 불가gcc, make 등이 없는 환경 > python 소스코드를 컴파일할 수 없음2. 해결이미 컴파일된 파이썬 바이너리 파일 활용해 설치설치한 python 및 pip를 default로 등록3. 상세설치 과정1) OS 및 architecture 확인$ uname -m>> x86_64$ ldd --version>> ldd (GNU libc) 2.28>> Copyright (C) 2018 Free Software Foundation, Inc.>> This is free software; see the source for copying conditions. ..

TIL/기타 2025.05.30

Docker-compose 환경의 '어플리케이션 및 서버 모니터링' 스택 아키텍처

Docker-compose 환경의 '어플리케이션 및 서버 모니터링' 스택 아키텍처목차용어 소개요약On-Premise 모니터링 아키텍쳐(On-premise) 아키텍처 구성도(On-premise) 매트릭(metric) 모니터링 순서도(On-premise) 로그(metric) 모니터링 순서도Cloudwatch모니터링 아키텍처 소개(Cloudwatch) 아키텍처 구성도(Cloudwatch) 모니터링 순서도구성 요소 소개공통 구성 요소 소개매트릭Node-exportercAdvisor로그docker log-driverOn-Premise 모니터링 구성 요소 소개Cloudwatch 모니터링 구성 요소 소개1. 용어 소개1) 매트릭(metric)시스템 성능과 상태에 대한 통계적 정보수치화 되어 나타남(서버) CPU 사용..

[Grafana, K8s, helm] grafana sidecard를 활용한 dashboard provisioning in k8s

환경GrafanaK8SHelmArgoCDtl;drgrafana sidecar를 활용해 json 파일로 저장된 custom dashboard를 손쉽게 저장할 수 있다.설정 - dashboard-config.yaml# dashboard-config.yaml{{- range $category, $dashboards := .Values.grafana.dashboards }} {{- range $name, $dash := $dashboards }} {{- if $dash.file }}---apiVersion: v1kind: ConfigMapmetadata: name: {{ printf "grafana-dashboard-%s" $name | trunc 63 | trimSuffix "-" }} labels..

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