prometheus를 통해 Host System의 metric을 수집하는 방법으로 Node-Exporter를 잠시 알아본 적이 있었다.
해당 글은 https://jinane.tistory.com/92 참고.
담당 제품이 기존에 docker container 형태로 배포가 되다보니 Host System 뿐 아니라 docker container의 metric 수집 방법은 뭐가 있을지 간단히 찾아 보았고, 아래 2가지 방법에 대해 찾을 수 있었다.
우선 설치 방법을 알아보고 각각 metric 출력까지는 확인 하였으나, 상세 metric 내용 자체를 다 살펴보고 비교해보진 못하였다. 그 부분은 실제 모니터링 적용을 하게되면 그때 좀 더 자세히 비교해보려고 한다.
일단 아래 2가지 방법에 대해 각각 설치 과정을 기록해 보았다.
(1) cAdvisor 설치
: Node-Exporter 처럼 prometheus 와의 조합으로 Docker, Kubernetes 등의 다양한 container 기반의 서비스 모니터링에 가장 많이 사용하는 오픈소스 프로그램이다. 자세한건 구글에 많이 검색되어 있으니 찾아보자.
1) docker-compose.yml 작성
version: '3.2'
services:
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
ports:
- 8080:8080
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
depends_on:
- redis
redis:
image: redis:latest
container_name: redis
ports:
- 6379:6379
2) docker container 생성&실행
docker-compose up -d
3) metric 조회 API 호출
curl 127.0.0.1:8080/metrics
(2) docker daemon 설정 파일(daemon.json)에 metric api 설정 추가
: Docker daemon에서도 기본 metric을 조회할 수 있도록 API 제공 기능이 포함되어 있고, 해당 API 접속을 위한 설정만 추가하는 방법이다.
1) docker daemon.json에 아래와 같이 설정 추가
: 다른 설정이 이미 있는 경우, json 문법에 맞게 내용을 추가한다.
cat /etc/docker/daemon.json
{
"metrics-addr" : "0.0.0.0:9323",
"experimental" : true
}
2) docker daemon 재시작
systemctl restart docker.service
3) metric 조회 API 호출
curl 127.0.0.1:9323/metrics
'Engineering > Tools' 카테고리의 다른 글
[jira] 특정 project에서 원하는 action이 발생할 때 slack으로 알림 message 전송 설정하기 (1) | 2023.10.15 |
---|---|
[spreadsheet] UNIQUE Function (+ 공백 제거 FILTER Function) (0) | 2023.04.17 |
[prometheus] system 모니터링을 위해 Node-Exporter 설치하기 (2) | 2023.03.27 |
[Grafana] Jmeter 실행 중 Grafana로 결과 모니터링 (미완료) (0) | 2023.03.13 |
[spreadsheet] 그룹화(group rows) 전체 접기/펴기 (2) | 2023.03.06 |
댓글