Prometheus의 ExporterPrometheus는 오픈 소스 모니터링 시스템임.다양한 소스에서 메트릭스를 수집하는 데 사용됨.메트릭스 수집을 위해 Prometheus는 Exporter 라는 특수 도구를 사용함.이는 다양한 서비스, 시스템, 프로토콜에서 메트릭스를 추출하여 Prometheus가 이해할 수 있는 형식으로 변환함. Exporter의 종류1. Node ExporterNode Exporter는 하드웨어와 운영 체제 지표를 수집하는 데 사용됨.CPU 사용률, 메모리 사용, 디스크 사용, 네트워크 통계 등의 시스템 정보를 수집함.Linux, Windows 및 기타 Unix-like 시스템에서 사용될 수 있음. 2. cAdvisor컨테이너 자원 사용 및 성능 특성을 모니터링하는 데 특화된 Goo..
Pull 방식과 Push 방식의 차이모니터링 시스템에서 데이터 수집 방식은 크게 Pull 방식과 Push 방식으로 나눌 수 있음.각 방식은 데이터 수집의 메커니즘, 구성, 그리고 운영 방식에서 근본적인 차이를 가지고 있음.이러한 차이는 모니터링 시스템의 설계와 확장성에 영향을 미침. Pull 방식 작동 원리1. 서버 주도모니터링 시스템이 모니터링 대상의 메트릭을 주기적으로 당겨오는 방식임.모니터링 시스템이 각 대상 서비스에 접속하여 메트릭 데이터를 가져옴. 2. 엔드포인트 접근각 모니터링 대상은 /metrics 와 같은 특정 HTTP 엔드포인트를 통해 메트릭을 노출함.모니터링 시스템은 이 엔드포인트에 정기적으로 접근하여 데이터를 수집함. Pull 방식 장점1. 구성의 단순성모니터링 시스템이 대상 시..
Prometheus의 Pull 방식 수집Prometheus는 주로 Pull 방식을 사용하여 메트릭을 수집하는 모니터링 시스템임.이 방식에서 Prometheus 서버는 설정된 간격으로 각 모니터링 대상의 HTTP 엔드포인트를 정기적으로 조회하여 데이터를 가져오는 방식을 취함. Prometheus의 Pull 방식의 작동 원리1. 메트릭 엔드포인트 설정각 모니터링 대상은 /metrics 라는 HTTP 엔드포인트를 갖고 있어야 함.이 엔드포인트는 Prometheus의 데이터 수집 요청에 응답하여 메트릭을 반환함. 2. 스크레이핑 설정Prometheus 설정 파일에서는 각 메트릭을 수집할 대상과 그 스크레이프 간격, 타임아웃 등을 지정함.Prometheus 서버는 이 설정에 따라 각 대상의 /metrics 엔드포..
Prometheus 설정 파일 위치 찾기Prometheus 설정 파일 위치는 Prometheus를 설치하고 구성하는 방법에 따라 다를 수 있음.기본적으로 Prometheus는 구성 파일을 prometheus.yml 라고 함.이 파일은 일반적으로 Prometheus 바이너리가 위치한 디렉토리 내에 있거나 명시적인 경로가 지정된 디렉토리에 있음.Prometheus 설정 파일 위치를 파악하는 몇 가지 방법이 있음. 1. 기본 설치 디렉토리Prometheus를 표준 패키지 매니저나 바이너리로 설치한 경우, 설정 파일은 종종 설치 디렉토리 내에 있음.예를 들어 Linux 시스템에서는 /etc/prometheus/prometheus.yml 에 위치할 수 있음. 2. 사용자 정의 경로Prometheus를 실행할 때,..
Prometheus 설정 파일Prometheus에서는 설정 파일을 통해 모니터링 대상이 되는 서비스들과 어떻게 데이터를 수집할 것인지 설정함.이 설정 파일은 일반적으로 YAML 형식으로 작성됨. 1. global 설정이 섹션에서는 Prometheus 서버 전체에 적용되는 설정을 정의함. 1.1 scrape_interval얼마나 자주 스크랩할지를 설정함.기본값은 1분임. 1.2 evaluation_interval알람 규칙을 얼마나 자주 평가할지를 설정함. 1.3 external_labels모든 시계열 데이터에 추가되는 레이블을 설정함.이는 클러스터 간에 메트릭을 구분하는 데 유용함. 2. scrape_configs 설정Prometheus가 어떤 대상에서 메트릭을 수집할지를 정의하는 부분임.각 스크랩 구성에..
Prometheus 주요 컴포넌트Prometheus는 오픈 소스 모니터링 시스템임.시스템과 서비스의 모니터링 및 경고를 위해 널리 사용됨.주로 시계열 데이터를 수집, 저장, 처리하는 데 사용됨.다양한 컴포넌트로 구성돼 있음. 1. Prometheus 서버1.1 데이터 수집 (Scraping)Prometheus 서버는 구성된 대상 (주로 HTTP 엔드포인트)에서 메트릭을 주기적으로 스크랩함.이 메트릭들은 주로 Prometheus 자체의 형식으로 제공되는 시계열 데이터임. 1.2 데이터 저장수집된 데이터는 로컬 스토리지에 시계열 데이터베이스 형태로 저장됨.이 데이터는 효율적인 검색과 빠른 데이터 접근을 위해 시계열로 구성됨. 1.3 쿼리 처리사용자는 Prometheus의 쿼리 언어인 PromQL을 사용하여 ..
PromQLPromQL은 Prometheus Query Language의 약자임.Prometheus 모니터링 시스템에서 사용되는 강력한 쿼리 언어임.이 언어는 Prometheus가 수집한 시계열 데이터를 효과적으로 조회하고 분석하기 위해 설계됨.PromQL을 사용하면 시계열 데이터의 변화를 파악하고 특정 조건에 따라 데이터를 분석하며 경고를 생성하는 복잡한 로직을 구현할 수 있음. PromQL 주요 특징1. 시계열 데이터 선택PromQL은 메트릭 이름과 레이블 셀렉터를 사용하여 시계열 데이터를 선택함.레이블 셀렉터를 통해 특정 조건을 만족하는 데이터만을 필터링할 수 있음. 2. 연산자와 함수PromQL에는 다양한 연산자와 함수가 내장되어 있음.시계열 데이터에 대한 수학적, 논리적 연산을 수행할 수 있음...
PrometheusPrometheus는 강력한 오픈 소스 모니터링 및 경고 시스템임.특히 클라우드 네이티브 및 분산 시스템 환경에서 널리 사용됨. Prometheus 기능1. 데이터 수집 및 저장1.1 Pull 방식 모델Prometheus는 주로 pull 모델을 사용하여 구성된 시간 간격으로 각 서비스나 애플리케이션에서 메트릭을 직접 가져옴.각 타겟은 /metrics 엔드포인트를 통해 접근할 수 있는 HTTP 서버를 운영함.Prometheus는 이 엔드포인트로부터 데이터를 수집함. 1.2 시계열 데이터 관리Prometheus는 수집된 모든 데이터를 시계열 형식으로 저장함.각 시계열은 메트릭 이름과 일련의 레이블(키-값 쌍)로 식별됨.이를 통해 매우 유연하게 데이터를 쿼리하고 분석할 수 있음. 2. 데이터..
프로메테우스 장점 프로메테우스는 오픈소스 모니터링 시스템으로, 대규모 분산 시스템에서 발생하는 메트릭 데이터를 수집, 저장, 분석하고 시각화할 수 있습니다. 이를 통해 시스템의 성능과 안정성을 쉽게 파악하고, 문제를 신속하게 해결할 수 있습니다. 프로메테우스의 장점은 다음과 같습니다. 1. 쉬운 설치와 설정 프로메테우스는 쉽게 설치하고 설정할 수 있습니다. 또한, 대부분의 메트릭 데이터 소스와 호환성이 뛰어나기 때문에 다양한 시스템에서 쉽게 사용할 수 있습니다. 2. 데이터 수집 및 저장 프로메테우스는 분산 시스템에서 발생하는 메트릭 데이터를 수집하고 저장할 수 있습니다. 이를 통해 시스템의 상태와 성능을 실시간으로 모니터링할 수 있습니다. 또한, 메트릭 데이터의 저장 방식이 효율적이기 때문에 대규모 시..
이번에는 나의 도커에 node-exporter 컨테이너와 cadvisor 컨테이너를 만들어서 웹 ui에 접속해보자! 먼저 폴더 구조는 다음과 같다. 이 모든 폴더를 압축한 파일은 다음과 같다. /cadvisor/cadvisor-remove/remove-image.sh : cadvisor 이미지 삭제 쉘 스크립트 /node-exporter/node-exporter-build/build-node-exporter.sh : 노드익스포터 이미지 만드는 스크립트 /node-exporter/node-exporter-dockerfile/Dockerfile : 도커파일 /node-exporter/node-exporter-remove/remove-image.sh : 노드익스포터 이미지 삭제 쉘 스크립트 /docker-c..