데이터 엔지니어링/Prometheus
-
[Prometheus] Service Discovery 파일 기반 Config파일 작성하기데이터 엔지니어링/Prometheus 2022. 12. 21. 20:23
Service Discovery란? 오늘은 Service Discovery에 대해 알아보도록 하겠습니다. 마이크로서비스 아키텍처(MSA)로 구성되어 있는 서비스들은 각자 다른 IP와 Port를 가지고 있는데 이러한 서로 다른 서비스들의 IP와 Port 정보에 대해서 저장하고 관리할 필요가 있어서 이것을 관리하는 것이 Service Discovery라고 합니다. 이론적으로 자세한 내용이 있지만 Prometheus측면에서 보면 Prometheus는 yml파일로 service들을(global, alerting, scrape_configs 등) 관리하게 됩니다. 이런 서비스들이 많아지거나 적어지거나 할 경우 서버를 내렸다 올렸다 하는 것이 아니라 파일 형식으로 관리하면 동적으로 작동할 수 있게 됩니다. 먼저 P..
-
[Prometheus 개념] Jobs, Instances, Group에 대해 알아보기데이터 엔지니어링/Prometheus 2022. 12. 21. 20:21
목차 Prometheus에서 묶음 모니터링은 어떻게 관리할까? job이란? Instance이란? Group이란? Yml파일 구성 예시 실습해 보기 Prometheus에서 묶음 모니터링은 어떻게 관리할까? 3개의 web 서버를 모니터링한다고 가정해 보자 그런데 한 서버만 정재 해서 모니터링 값을 보고 싶을 때도 있을 것이고 묶음으로 전체 서버의 값을 보고 싶을 때도 있을 것이다 이럴 땐 어떻게 해야 할까? 이런 문제를 해결하기 위해 Prometheus에서는 Job과 Instance를 사용한다. 아래 그림으로 예를 들어 보면 이해하기 쉽다. Job이란? Job은 Instance들의 집합이라고 이해하면 쉽다. 내가 한 묶음으로 보고 싶은 Web server를 모두 모아서 Job으로 구성하면 된다. 위에 보는 ..
-
[Prometheus 개념] Metric Type 과 Label에 대해 알아보고 Custom Exporter(=Client Library with python)작성하여 값 받아보기데이터 엔지니어링/Prometheus 2022. 12. 21. 20:18
Metric이란? 메트릭이란 숫자 측정임. 시계열은 변경 사항을 시간 단위로 기록됨을 의미함. 애플리케이션의 특정 방식으로 작동하는 이유를 이해한 느데 중요한 역할을 함. 예를 들어 DB가 속도가 늘어졌다고 하면 쿼리의 작동 수는 얼마나 되는지 활성 사용자는 몇 명인지 등의 내용을 시간대 별로 쉽게 파악할 수 있음. Lable란? Lable은 Key-Value의 쌍을 얘기함 Prometheus에서 Lable은 Key-Value를 이용하여 특정 내용을 서칭하는 용도로 사용된다. Prometheus에서 Metric 표기법 기본 작성법 - {=,...} 예시 - api_http_requests_total {method="POST", code="200" , handler="/messages"} Metric = ..
-
[Prometheus] Prometheus와 Grafana 연동하고 Node_exporter 대쉬보드 만들기, Grafana Dashboard(데이터 엔지니어링/Prometheus 2022. 12. 19. 21:11
목차 Grafana란? Grafana 설치하기 Grafana 시작하기 Grafana 접속 Grafana Data Source 만들기 Grafana Dashboard 만들기 Grafana Dashboard(= Template) 사용하기 Grafana란? Grafana Lab에서 제공하는 오픈소스 데이터 시각화/모니터링 툴입니다. 보통 모니터링 툴로 사용한다고 합니다. BI 툴은 더 좋은 게 많으니깐요. 홈페이지 접속하시면 다양한 정보가 있습니다. Grafana는 데이터를 이관해서 사용하는 것이 아닌 데이터를 그 때 당시에 조회를 해서 시각화해주므로 성능이 좋습니다. 그래서 확장성이 좋으며 지원하는 Datasource도 꽤 있고, Plugins, 접근제어, Alert 같은 기능도 구현되어있어 모니터링 툴로는..
-
[Prometheus] 다른서버에 exporter를 설치하고 Prometheus서버에 연결해보기데이터 엔지니어링/Prometheus 2022. 12. 19. 20:54
안녕하세요 저번 포스팅에서 Prometheus 서버를 설치하여 간단하게 UI를 살펴봤는데요. 이번에는 Prometheus 서버에서 Pull 할 수 있는 데이터를 만들어주는 Exporter에 대해 알아보겠습니다. 목차 Exporter란? Node_exporter란? Node_exporter 실행하기 (Optional - background 실행하는 법) Prometheus Config에 Node_exporter 추가하기 Prometheus 실행하기 하고 Node_exporter metrics 확인하기 마치며 Exporter란? Prometheus는 맨처음 포스팅에서 Push 방식이 아닌 Pull방식을 채택되었다고 하였습니다. 그러면 사용자가 Prometheus에서 바라보고 다른 서버를 Pull 할 수 있는..
-
[Prometheus] Prometheus 설치하고 간단하게 사용법 알아보기(with Ubuntu)데이터 엔지니어링/Prometheus 2022. 12. 19. 20:19
목차 Prometheus Ubuntu에 설치하기 Prometheus 시작하기 Prometheus 시계열 데이터 서칭해 보기 Menu 살펴보기 마치며 Prometheus Ubuntu에 설치하기 다운로드페이지로 들어가서 자신에게 맞는 운영체제로 다운로드 필자는 Linux 운영체제여서 linux 링크 주소 복사 하여 wget으로 설치 wget https://github.com/prometheus/prometheus/releases/download/v2.41.0-rc.0/prometheus-2.41.0-rc.0.linux-amd64.tar.gz tar xvfz prometheus-*.tar.gz cd prometheus-* 설치 진행 후 폴더로 이동해보면 아래와 같이 prometheus실행 파일 설정 yml파일..
-
[Prometheus] Prometheus란 무엇인가데이터 엔지니어링/Prometheus 2022. 12. 18. 12:17
Promehtheus란? 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 가지고 있는 CNCF에 속한 오픈소스 모니터링 툴이다. SoundCloud에 의해 처음 시작되었으며 2016년 Kubernetes에 이어 두 번째 호스팅 프로젝트로 CNCF에 합류했다. 시계열 데이터 수집하고 저장하는 데 사용된다. 이 값은 레이블이라는 Key-Value 쌍으로 타임스탬프와 함께 저장되어 시계열 데이터가 형상화된다. 특징 메트릭 이름과 Key-Value 쌍으로 식별되는 시계열 데이터가 있는 다차원 데이터 모델 PromQL, 이차 원성을 활용하는 유연한 쿼리 언어 기본적으로 Pull 방식으로 다른 곳의 시계열 데이터를 가지고 온다, 또한, Push 방식의 데이터도 가져올 수 있도록 하는 Push gatew..