본문 바로가기

반응형

분류 전체보기

(176)
Grafana Monitoring 스택 LGTM 구성기 (Loki, Mimir, Tempo) 아직 LGTM(Loki , Grafana , Tempo , Mimir)관련 한글 자료가 별로 없어서 간략하게 작성해본다.회사에서 도입을 고민하고 있거나 PoC 중이라면 이 글이 조금의 도움은 될 수 있겠다고 본다.   LGTM이란 무엇일까? Grafana에서 밀고 있는 LGTM(Loki , Grafana , Tempo , Mimir)이란 무엇일까? L : Loki (로그 수집 저장소)G : Grafana (시각화)T : Tempo (분산 추적 저장소 , APM)M : Mimr (시계열 메트릭 저장소)  그럼 왜 Grafana에서는 LGTM을 밀고 있는 것일까? 잘 생각해보면 답은 은근히 간단한데, 보통 시스템 모니터링 , 로깅 , 애플리케이션 성능 모니터링을 구성하기 위해 대부분의 회사에서 여러가지 오픈..
[Prometheus] AlertManager로 Slack 알람 전송하는 법 알아보자 1. 개요해외문서도 그렇고 국내문서도 그렇고 마땅히 잘 정리된 글을 찾기 힘들었다. 그나마 AliceK 님 글이 잘 정리되어 있어서 참고가 되었다. 그래서 전체적으로 이해하는데 약간 애를 먹었지만 삽질을 계속 하다보니 얼추 전체적인 흐름이 정리되어서 간략하게 정리해본다. 사실 Grafana Managed Alert를 사용하면 더욱 쉽고 간편하게 알람을 보낼 수 있지만 너무 많은 규칙들이 Grafana에서 처리될 경우 부하가 발생할 수 있기 때문에 이를 분산하기 위해 가급적이면 AlertManager로 알람을 보내려고 한다. 필자는 Grafana Mimir를 통해 시계열 메트릭을 저장하기에 Mimir Ruler를 통해 규칙을 평가하고, AlertManager에게 이를 전달하여 Slack으로 알람을 보내도록..
[AWS] 클라우드 와치 로그에서 특정 패턴일 경우 Slack 알람 보내는 방법 1. 구성 구성은 정말 간단하다. CloudWatch 로그 그룹에 애플리케이션 로그들이 쌓이고 있다. → 구독 필터로 특정 패턴을 감지하여 AWS Lambda로 보내준다. → AWS Lambda에서는 메시지를 전달받은 뒤 가공하여 Slack으로 메시지를 보내준다. serverless 프레임워크를 활용한다. serverless.yml service: SLACK-NOTIFICATION frameworkVersion: "3" plugins: - serverless-dotenv-plugin provider: name: aws profile: XXXXXXX timeout: 30 memorySize: 256 runtime: nodejs18.x stage: prod region: ap-northeast-2 iam: ..
[SpringBatch] 스프링배치 개념을 알아보자. 출처 : https://deeplify.dev/back-end/spring/batch-architecture-and-components 위 출처의 내용을 참고하여 공부 용도로 정리하였습니다. 구조 노란색 : 스케줄러 / DB (외부 애플리케이션) → AWS EventBridge , RDB , MongoDB , Redis , .. 빨간색 : 애플리케이션 서비스 (Spring Batch에서 제공) 초록색 : 개발자가 구성해야 하는 것들 → ex) 일정 주기대로 작업 시작되도록 설정하거나 , 작업을 실행하는 방법 등 Run Tier : 애플리케이션의 예약 및 시작과 관련이 있는 계층 (배치 작업의 시간 기반 및 상호 의존적인 스케줄링 제공 / 병렬 처리) Job Tier : 배치 작업의 전체 실행을 담당 (배..
[Observability] fluentd 보다 더 좋은(?) Vector에 대해 알아보자. 개요 Toss slash 2023을 보다가 Logstash에서 Vector로 전환 후 상당히 만족한다는.. Star 수도 Fluentd를 넘었다고 한다. 작년에 Datadog에서 인수했다는 소식만 들었고 어떤 놈인지에 대해서는 관심이 없었는데, 마침 리서치를 해보자고 마음먹게 되었다. 허나, vector를 검색하니 기하와 벡터에서 배운 그 수학 용어만 나오던데.. 잘못 검색한 것인지 아직 한글로 정리된 글들이 없는 것인지.. 그래서 아래 Docs를 보면서 내용들을 정리하였다. 상당히 깔끔히 정리되어있었다. Vector란 ? Observability data를 관리하는 도구이다. : Logs, Metrics 등을 하나의 툴에서 수집하고, 변환하고, 라우팅하는 Observability pipeline이다. ..
[ElasticSearch] 정리 #1 - 기본 개념 ElasticSearch : 검색 , 분석 엔진으로 대량의 데이터를 실시간으로 색인(Indexing)하고 검색(Searching)하고 분석(Ananyzing)하며 시각화(Visualizing)할 수 있다. ES는 다양한 언어에 대해 Restful API를 제공하므로 프로그래밍 기반으로 ES를 사용할 수도 있다. ES 기본 개념 Index : Document를 저장하는 논리적 구분자 ( ~= RDB의 Table ) Document : ES에서 실제 데이터를 저장하는 단위 ( ~= RDS의 Table 내 Row ) Document CRUD - Create(인덱싱) : Document를 특정 Index에 포함시킴 - Read : DSL(Domain Specific Language) 사용하여 Index 내 모든..
[EKS] CA의 대체, Karpenter 사용 후기 요즘 EKS를 사용하고 있는 회사들이라면 Karpenter에 대해서 한번씩은 들어봤을 것이다. Karpenter는 EC2를 생성 및 오토스케일링 해주는 오픈소스 서비스로 Cluster Autoscaler에 대한 단점들을 보완해준다고 많이 설명되어 있다. Cluster Autoscaler에 비해 Karpenter가 가지는 장점 및 단점들은 다양한 매체나 블로그 글에 많이 소개가 되어 있기 때문에 Karpenter에 대한 소개는 아주 간단히 진행하고 현재 Karpenter를 어떻게 사용하고 있고 Karpenter를 사용할 때 주의 사항 및 간단한 팁들을 소개할 예정이다. # 1. Karpenter 구성 요소 Karpenter는 크게 다음의 요소로 구성되어 있다. - Karpenter(Pod) : 실질적으로 ..
[EKS] 로그 시스템 Loki 도입을 위한 몇가지 운영 팁 Loki로 로그 시스템을 구성해서 쓴지 어느덧 3개월이 넘어간다. Loki를 맨 처음에는 Loki Stack(Grafana, Promtail, Loki)로 구성해서 모놀리식 형태로 쓸 수 있지만 쓰다보면 다양한 문제점들이 발견된다. 1. 다량의 로그가 Write되면 Loki 파드가 죽는데 정확히 어떤 컴포넌트가 죽었는지 확인하기가 쉽지 않다. 2. Grafana에서 읽을 시 상당히 느리다. 3. 각 컴포넌트들에 대한 이해가 어렵다. 4. Ingest 할 때 어디에선가 쓰로틀링이 걸린다. 5. 등등 하여 사용가능한 로키 헬름 차트들은 어떤게 있으며 로키에 대한 간략한 컴포넌트 소개, 운영 시 어떤 설정값들을 적용하면 좋을지에 대해 간단히 설명하기 위해 글을 쓰게 되었다. 아직 많이 부족한 지식이지만 Lok..

반응형