취미가 좋다
Prometheus & Grafana 정리 본문
Prometheus
프로메테우스는 대상 시스템으로부터 각종 모니터링 지표를 수집하여 저장하고 검색할 수 있는 시스템이다.
프로메테우스 특징
- 그라파나를 통한 시각화 지원
- 많은 시스템을 모니터링할 수 있는 다양한 플러그인을 가지고 있다.
- 쿠버네티스의 메인 모니터링 시스템으로 많이 사용된다.
- 프로메테우스가 주기적으로 exporter(모니터링 대상 시스템)로부터 pulling 방식으로 메트릭을 읽어서 수집한다.
Grafana
그라파나는 프로메테우스를 비롯한 여러 데이터들을 시각화해주는 모니터링 툴이다.
Kibana(키바나)와의 차이
- 키바나는 주로 로그 메시지 분석에 사용된다.
- 그라파나는 시스템 관점(cpu, 메모리, 디스크)의 메트릭 지표를 시각화하는데 특화되어 있다.
- 키바나는 elasticsearch에 묶여 있지만, 그라파나는 다양한 데이터베이스를 선택할 수 있다.
- 그라파나는 알람기능을 무료로 사용할 수 있다.
프로메테우스 & 그라파나 튜토리얼
프로메테우스와 키바나를 실행시켜 보자.
추가적인 내용은 링크를 참고하자.
나의 경우 triton inference server 를 실행시켜, triton에서 제공하는 프로메테우스 메트릭을 이용하였다.
그래서 그 이후 과정부터 작성한다.
1. prometheus.yml 파일 작성
프로메테우스 서버를 실행시킬 때, yaml 파일이 필요하다.
아래의 예시처럼 작성한다.
- 로컬의 앱에서 메트릭을 :9000에 쌓는다면 targets 에 host.docker.internal:9000 라고 작성하면 된다.
global:
scrape_interval: 5s # By default, scrape targets every 15 seconds.
scrape_configs:
- job_name: 'my-prometheus'
static_configs:
- targets: ['{프로메테우스 메트릭을 제공하고 있는 주소}']
2. 도커 네트워크 설정
프로메테우스와 그라파나를 각각 도커 컨테이너로 띄울 것이다.
두 컨테이너는 각각의 네트워크 환경을 가지게 되고 같은 도커 네트워크로 묶어주면서 서로 연결될 수 있게 한다.
$ docker network create mynetwork
컨테이너를 띄울 때 --network=mynetwork 옵션을 주면 된다.
3. 프로메테우스 서버 띄우기
아래의 명령어를 통해 도커허브에 있는 프로메테우스 이미지를 가져온 후, 프로메테우스 컨테이너를 띄워서 서버를 실행시킬 수 있다.
docker run --network=mynetwork -p 9090:9090 \
-v ~/prometheus.yml:/etc/prometheus/prometheus.yml \
--name prometheus \
-d prom/prometheus \
--config.file=/etc/prometheus/prometheus.yml
docker ps 명령어를 통해 프로메테우스 컨테이너가 실행중인지 확인할 수 있다.
http://localhost:9090/ 에 접속하여 아래의 화면이 뜨면 정상적으로 진행되고 있는 것이다.
4. 그라파나 실행
아래의 명령어를 실행하여 그라파나 이미지를 가져와서 띄운다.
docker run --network=mynetwork -d --name=grafana -p 3000:3000 grafana/grafana
위와 마찬가지로 docker ps 를 통해 컨테이너가 잘 띄워졌는지 확인한다.
http://localhost:3000/ 에 접속하면 로그인 화면이 뜰 수 있다.
기본적인 아이디와 비밀번호는 admin / admin 이다.
로그인 후에 아래의 화면이 뜨면 잘 실행된 것이다.
5. 프로메테우스와 그라파나 연결
왼쪽에 있는 Configuration - Data sources 에 들어간다.
프로메테우스를 선택하고 프로메테우스 주소를 입력한다. (필요에 따라 다른 정보도 입력한다.)
프로메테우스 주소로는 http://<프로메테우스_컨테이너_이름>:9090 를 입력한다.
여기서는 http://prometheus:9090 를 입력하면 된다.
6. 대시보드 생성
왼쪽에 있는 Create - Dashboard 에 들어간다.
프로메테우스에서 가져온 메트릭 중 원하는 것들을 골라서, 원하는 형태와 방식으로 구성하면 된다.
7. 메트릭 적재
로컬에서 메트릭을 적재하는 어플리케이션을 실행하면 대시보드로 확인할 수 있다.
유튜브 영상을 참고하였습니다.
'Data Engineer' 카테고리의 다른 글
데이터웨어하우스 vs 데이터레이크 vs 데이터카탈로그 (0) | 2021.08.30 |
---|---|
Kibana 키바나 정리 (0) | 2021.07.27 |