Write 엔드포인트 활용
Write 엔드포인트는 Prometheus 에이전트 또는 서버가 수집한 메트릭 데이터를 클라우드 스토리지에 기록하기 위한 API입니다.
각 워크스페이스에 고유한 Write 엔드포인트가 생성되며, 다양한 소스에서 데이터를 받아 중앙 저장소에 안전하게 저장합니다.
워크스페이스에 대한 Write 엔드포인트는 워크스페이스 정보 조회 API에서 확인할 수 있습니다. (워크스페이스 정보 조회)
중앙 저장소에 저장된 메트릭은 최대 6개월간 활용 가능하며, 워크스페이스 삭제 시 바로 삭제됩니다.
메트릭 전송 방법
Advanced Managed Prometheus에서 메트릭을 수집하려면 Prometheus 호환 메트릭을 Write 엔드포인트로 전송해야 합니다.
이를 위해 Exporter를 사용하거나 애플리케이션 자체에서 메트릭을 노출할 수 있습니다.
활용 가능한 Exporter 목록은 Prometheus 공식 문서를 참고하시기 바랍니다. (Prometheus Exporters and integrations)
Node Exporter를 통한 예제
Prometheus 공식 지원 도구 중 하나인 Node Exporter는 Prometheus 생태계에서 가장 널리 사용되는 수집 도구 중 하나로 특정 애플리케이션이나 시스템의 데이터를 Prometheus 호환 메트릭으로 변환하여 제공하는 도구입니다.
Node Exporter 역할
Node Exporter는 리눅스 및 유닉스 기반 시스템의 주요 하드웨어 및 OS 수준 메트릭을 수집하여 Prometheus 서버로 전송하는 역할을 합니다. 이 도구는 Prometheus 서버가 스크랩(scrape)할 수 있는 HTTP 엔드포인트를 제공하며, 주요 메트릭은 다음과 같습니다.
- CPU 사용량
- 메모리 사용량
- 디스크 I/O
- 네트워크 트래픽
- 파일 시스템 상태
- 운영 체제 상태
Node Exporter 설치
아래는 VM 인스턴스를 활용한 가이드 예제입니다.
Node Exporter는 기본적으로 9100포트에서 /metrics 엔드포인트를 제공합니다.
아래 코드를 입력하여 Exporter를 설치합니다.
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
cd node_exporter-1.3.1.linux-amd64
./node_exporter&
Prometheus를 다운로드 하고 압축을 해제합니다.
cd ~
wget https://github.com/prometheus/prometheus/releases/download/v2.33.1/prometheus-2.33.1.linux-amd64.tar.gz
tar xvfz prometheus-2.33.1.linux-amd64.tar.gz
cd prometheus-2.33.1.linux-amd64
이후 Prometheus 설정 파일을 저장할 디렉터리를 생성하고, yaml 파일을 생성합니다.
mkdir -p /etc/prometheus
vi /etc/prometheus/prometheus-agent.yaml
설정 파일 생성 후 아래 내용을 복사하여 붙여 넣습니다. 단 targets, url, credential 정보는 사용자 정보에 맞는 내용으로 입력해야 합니다.
global:
scrape_interval: 15s # 데이터 수집 주기
scrape_configs:
- job_name: 'node_exporter'
static_configs:
- targets: ['localhost:9100'] # Node Exporter의 메트릭 수집 위치
remote_write:
- url: "http://managed-promethues.kr-central-2.kakaocloud.com/workspaces/XXXXXXX/api/v1/push" # 워크스페이스 write 엔드포인트 입력
headers:
Credential-ID: 'xxxxxxxx' # 사용자 Credential-ID 입력
Credential-Secret: 'xxxxxxxxxxxxxxxxxxxxxxxxx' # 사용자 Credential-Secret 입력
Prometheus 설치 폴더 이동 후 Prometheus를 실행합니다.
cd /root/prometheus-2.33.1.linux-amd64
./prometheus --config.file=/etc/prometheus/prometheus-agent.yaml --enable-feature=remote-write-receiver --web.listen-address=":9090" --storage.tsdb.path="/tmp/prometheus_data" & # Prometheus 실행
Prometheus가 정상적으로 실행되었다면, 브라우저에서 Prometheus가 설치된 VM의 IP 주소와 기본 포트 번호(9090)를 조합하여 URL을 입력합니다.
http://<VM_IP>:9090
Prometheus 대시보드의 Status > Targets 메뉴로 이동 후 node_exporter 대상이 UP으로 표기되어 있는지 확인합니다.