Data Engineering/Observability 8

[Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(시연 및 추가정보)

Monitoring 시연 정리 2024.02.12 - [Data Engineering/Observability] - [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(실습) [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(실습) 2024.02.12 - [Data Engineering/Observability] - [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) Prome..

[Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(실습)

2024.02.12 - [Data Engineering/Observability] - [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) [Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론) Prometheus 모니터링을 위한 오픈소스 시스템으로 주로 "Metric" 정보를 수집하기 위한 용도로 사용된다. 다양한 시스템의 상태를 쉽게 확인 및 분석할 수 있다. 특정 rule을 위배하는 트리거가 발생하 cstory-bo.tistory.com 위의 이론내용을 바탕으로 아래와 같은 구조로 프로젝트를 진행해보았다. CentOS VM Server 3대로 구성 Node e..

[Prometheus] - CentOS에서 모니터링 & Pushgateway & AlertManager 구축 해보기!(이론)

Prometheus 모니터링을 위한 오픈소스 시스템으로 주로 "Metric" 정보를 수집하기 위한 용도로 사용된다. 다양한 시스템의 상태를 쉽게 확인 및 분석할 수 있다. 특정 rule을 위배하는 트리거가 발생하면 경고를 보내 미리 장애를 예방할 수 있다. 장애 예방에 대한 Observability에 대한 내용은 아래 포스팅에서 확인 할 수 있다. 2023.12.29 - [Data Engineering/Observability] - [Observability] - 1. Observability란 & 도구 [Observability] - 1. Observability란 & 도구 좋은 서비스를 만드는 것도 중요하지만 제대로 운영하는 것도 매우 중요하다. 서비스를 정상적으로 운영하기 위해서는 Observabi..

[Observability] - 5. 자신의 Application Monitoring 해보기!!

이전에는 node의 모니터링을 했다면 이번에는 자신이 만든 앱의 모니터링을 해보았다. 아래와 같은 구조로 진행해볼 예정이다. App은 Spring boot로 매우 간단하게 만들었으며, Prometheus Simple Client java로 Prometheus 형식의 메트릭을 노출한다. 여기서 Prometheus Simple Client란 Prometheus는 각 언어별로 client library를 제공한다. Prometheus 포맷으로 노출할 수 있는 설정, 각 언어별로 기본 모니터링 시스템을 이용해 메트릭 정보를 추출, custom metric을 남기는 기능 등을 할 수 있다. 한마디로 Prometheus가 알아들을 수 있도록 데이터를 남길 수 있도록 해주는 라이브러리이다. Java App 생성 우선..

[Observability] - 4. Node Monitoring 해보기!!

우선 여기서 말하는 노드란, 컴퓨터 네트워크를 구성하는 하나의 기기를 의미한다. 흔히 컴퓨터 1대가 노드가 될 수 있다. Node 정보를 가져오기 위해서는 Node Exporter가 필요하다. Node Exporter 설치하기 링크 wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz tar xvfz node_exporter-1.5.0.linux-amd64.tar.gz mv node_exporter-1.5.0.linux-amd64 node_exporter cd node_exporter/ export NODE_EXPORTER_HOME=$(pwd) echo $N..

[Observability] - 3. Grafana로 대시보드 구성하고 메일로 Alert 받기

Grafana Grafana는 모니터링을 위한 대시보드 도구이다. OSS 버전은 무료이면서도 기능이 좋다. web UI 성능도 좋으며 다양한 integration과 alert 설정의 고도화 variable을 이용한 재사용성 등 장점이 많다. Grafana 설치 prometheus 설치한 서버와 같은 곳에 했지만 다른데 해도 괜찮다. wget https://dl.grafana.com/oss/release/grafana-9.3.1.linux-amd64.tar.gz tar -zxvf grafana-9.3.1.linux-amd64.tar.gz mv grafana-9.3.1 grafana cd grafana export GRAFANA_HOME=$(pwd) SMTP 설치 Alert할 때 구글 메일로 받기 위해 SM..

[Observability] - 2.Prometheus & Prometheus Push gateway 로 데이터 Polling

데이터 수집 아키텍처 위의 구조를 목표로 이번에는 Prometheus로 데이터 polling하고 Grafana로 시각화 하는 것을 목표로 하였다. Prometheus Prometheus 아키텍처이다. Prometheus Server Metric을 여러 노드에서 scraping(polling) 방식으로 수집하고 Local storage에 저장한다. Metric 대상은 static하게 설정해서 IP:Port 로 찾을 수도 있고, Sevice Discovery 도구와 연동하면 dynamic하게 대상을 찾을 수 있다. Push Gateway scrap 대상으로 지정할 수 없는 경우 직접 Push할 수 있는 기능이다. Push된 metric은 pushgateway가 보관하고 prometheus는 pushgatew..

[Observability] - 1. Observability란 & 도구

좋은 서비스를 만드는 것도 중요하지만제대로 운영하는 것도 매우 중요하다.서비스를 정상적으로 운영하기 위해서는Observability가 중요하다.Observability에 대해서 이해하기 쉽게 설명하기 위해서Tracing, Monitoring과 함께 얘기하려고 한다.Observability가 무엇일까Tracingtracing은 프로그램 실행 과정들을 상세히 남기는 것이다.옛날부터 APM(Application Performance Monitoring) 분야에서 많이 활용해왔다.하나의 서비스를 위해 많은 인프라와 app이 상호작용을 하기 때문에 Distributed tracing이 중요해지고 있다.대표적인 Distributed tracing 오픈 소스로는 Zipkin과 Jaeger가 있다.Monitoring비..