본문 바로가기
반응형

Observability14

Fluent Bit을 사용하여 Cloudwatch log group으로 로그 전송하기 Fluent bit이란?Fluent Bit은 다양한 로그 및 메트릭 데이터를 수집하고 처리하기 위한 경량의 오픈 소스 데이터 수집 및 전송 솔루션이다. Fluent Bit은 다양한 플러그인 아키텍처를 제공하여 Prometheus 및 OpenTelemetry와 같은 다른 에코시스템과 통합할 수 있다. 또한, 최적의 성능을 제공하기 위해 설계되었다. 경량의 디자인과 최소한의 리소스 사용을 지향하여 대규모 환경에서도 효율적으로 동작한다. 작은 메모리와 CPU 리소스를 사용하여 데이터 수집 및 처리를 수행하므로, 시스템 부하를 최소화하면서도 높은 성능을 유지할 수 있다. 아래는 Fluentd와 Fluent Bit을 비교한 내용이다.TextFluentdFlunet Bit범위컨테이너/서버임베디드 Linux/컨테이너.. 2023. 7. 17.
Prometheus HA 구성2 (With 샤딩 + Thanos) 샤딩이란? 샤딩(Sharding)은 대규모 데이터를 처리할 때 데이터를 분산하여 저장하는 데이터베이스 아키텍처 디자인 패턴이다.이 패턴은 수평적 확장을 위한 방법 중 하나로, 데이터를 분할하고 각각의 작은 파티션(shard)에 저장함으로써 전체 시스템의 성능과 확장성을 향상시킨다. " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 본 글에서는 Promethes 샤딩과 Thanos를 구성하고 Tagers이 어떻게 분산되는지 확인하는 실습을 다룬다. 실습 구성을 간단히 표현하면 다음과 같다. Prometheus를 설치하면 기본 샤드값은 1인데, 이 값을 2로 확장하면 아래와 같이 Prometheus configuration의 "scrape_configs.[ job_name].re.. 2023. 5. 10.
Prometheus 란? Prometheus란?Prometheus는 시스템 및 서비스의 상태를 모니터링하는 인기 있는 오픈소스 모니터링 도구이다. Prometheus는 다양한 대상(Target)에서 시간 경과에 따른 지표(Metric)를 수집하여 시계열 데이터베이스 형태로 저장한다.  메트릭 수집은 주로 HTTP 엔드포인트를 통한 Pull 방식으로 이루어지며, 서비스 디스커버리 기능을 통해 동적인 환경에서 실행 중인 서비스를 자동으로 탐지하고 모니터링할 수 있다. 또한, Exporters를 활용하여 Prometheus가 기본적으로 지원하지 않는 애플리케이션의 메트릭도 수집할 수 있다.  Prometheus의 쿼리 언어인 PromQL을 사용하여, 수집된 데이터를 기반으로 쿼리를 실행하고, 결과를 Grafana와 같은 시각화 도구를.. 2023. 5. 10.
Grafana + AWS CloudWatch를 이용한 AWS 모니터링 Grafana 대시보드에서 AWS CloudWatch의 Data sources를 사용하면 AWS의 CloudWatch Metric과 Cloudwatch Log group의 내용을 Grafana 대시보드로 구현할 수 있다. 참조 문서 : https://grafana.com/docs/grafana/latest/datasources/aws-cloudwatch/ Amazon CloudWatch data source | Grafana documentation grafana.com [Grafana 버전] - v9.4.7 실습 Data source 구성을 위해 Data sources 설정 화면으로 들어간다. Add New data source를 선택한다. CloudWatch data source를 선택한다. Acce.. 2023. 5. 9.
Grafana 대시보드 Variables 활용하기 Grafana에서 변수(Variables)를 사용하면 대시보드를 동적으로 만들 수 있어 대시보드 및 쿼리 재사용성과 구성 단순화, 유지 관리 용이성과 같은 장점이 있다. 이번 글에서는 Kubernetes의 namespace를 변수(variables)로 지정하고 namespace별 Pod 개수를 볼 수 있는 대시보드를 구현하는 실습을 다룬다. 전제 조건 -[Prometheus + Grafana 설치] 실습 먼저 Grafana 대시보드에 접근한 뒤 New dashboard를 선택한다. dashboard settings를 선택한다. Variables > Add variable 선택한다. Namespace라는 이름과 Label을 입력한다. Quary 부분에 label_values(namespace)를 입력하면 .. 2023. 5. 4.
Prometheus HA 구성1 (with Thanos) 프로메테우스는 쿠버네티스 환경에서 인기 있는 오픈소스 모니터링 도구이다.하지만 몇 가지 치명적인 단점이 있다. 확장 및 고가용성 문제프로메테우스는 단일 서버로 동작하게 구현되어 있다. 즉, 서버가 내려가면 그 시간 동안 메트릭을 수집할 수 없게 됨을 의미한다. 만약 프로메테우스 서버를 2개로 하여 모니터링을 하면 하나의 서버가 내려가더라도 다른 하나의 서버로 메트릭을 볼 수 있지만, 여전히 불완전한 아키텍처로 샤딩, Prometheus Federation 구성 등의 추가 작업이 필요하다.오래된 데이터 보관 문제프로메테우스는 메트릭을 로컬 디스크에 수집하여 보관하는데, 저장소의 용량이 한계에 도달하면 오래된 데이터가 자동으로 삭제되어 일정 시간이 지난 데이터는 조회할 수 없게 된다.  이러한 단점을 보완해.. 2023. 5. 3.
Prometheus + Grafana 설치 본 글에서는 Prometheus와 grafana를 설치하고 대시보드를 통해 간단하게 메트릭 수집을 확인하는 실습을 다룬다. Prometheus와 Grafana는 Helm 차트("prometheus-community.github.io")를 사용하여 Kubernetes 환경에서 간단하게 설치할 수 있다. (Grafana만 따로 설치하고 싶다면 참고 : [Grafana 설치] )  설치를 완료하면 아래와 같은 Pod가 설치되는데, 각각의 역할은 다음과 같다.alertmanagerPrometheus에서 수집된 경고 알림을 관리하고 전송하는 기능을 담당한다.grafanaGrafana 서버로, Prometheus에서 수집된 데이터를 시각화하는 대시보드를 제공하는 서버이다.kube-state-metricsKubern.. 2023. 4. 29.
728x90
반응형