Prometheus , Grafana (docker-compose) 적용 해보기 (1)
현재 운영되고 있는 서버에 도커를 설치하게 되었고 host 서버에 설치되어 있는 Grafana와 Prometheus를 도커로 옮기기로 결정하였다. 일단 이런 모니터링툴을 도입하게 된 계기는 현재 배치프로젝트
yous3163.tistory.com
이제 Grafana와 docker-compose를 적용하면된다..
compose란?
docker compose는 여러 개의 docker를 정의하고 실행하는 툴이다. 그래서 kubernetes 처럼 YAML 파일로 여러 개의 docker 내부 속성을 설정하고 한 번에 실행시킨다. 마치 docker를 배치로 한 번에 실행시키는 것과 같다.
기본적으로 3-step의 프로세스를 사용한다.
1. 앱의 환경을 정의하여 어디에서나 재사용할 수 있는 Dockerfile을 정의합니다.
2. docker-compose.yml 에서 앱을 구성할 수 있는 서비스를 정의합니다. 그래서 단 하나의 환경에서 실행할 수 있게 합니다.
3. docker-compose up/down 명령어를 실행합니다. 그리고 Compose를 시작/정지 시키고 전체의 앱을 실행/정지 시킵니다.
또한 도커의 Volumn의 개념을 학습할 필요가 있는데
도커 데이터 볼륨이란 ?
도커 컨테이너가 실행 중에 작성 혹은 수정된 파일은 호스트 쪽 파일 시스템에 마운트되지 않는 한 컨테이너가 파기될 때 호스에서 함께 삭제 된다. 컨테이너를 사용해서 애플리케이션을 운영하다 보면 새로운 버전의 컨테이너가 배포돼더라도 이전 버전의 컨테이너에서 사용하던 파일들을 그대로 사용할 수 있어야 한다. 이런 경우에 사용되는 것이 데이터 볼륨 이다.
데이터의 볼륨을 생성해보자.
docker volume create --name=prometheus_data
docker volume create --name=grafana_data
docker-compose.yml 파일을 생성하여 아래와 같이 입력한다. ( 파일경로는 자신이 관리하는 폴더 어디에든 )
version: '3.7'
volumes:
prometheus_data:
external: true
grafana_data:
external: true
services:
prometheus:
image: prom/prometheus
container_name: recommend_prometheus
volumes:
- /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
ports:
- 9090:9090
restart: always
networks:
default:
driver: custom-driver-1
grafana:
image: grafana/grafana
container_name: recommend_grafana
depends_on:
- prometheus
ports:
- 3000:3000
volumes:
- grafana_data:/var/lib/grafana
restart: always
networks:
default:
driver: custom-driver-1
다음으로 Docker에 Grafana 컨테이너를 생성하여 띄워보자.
sudo docker run -d -p 3000:3000 grafana/grafana
{aws의ip주소}:3000 주소창에 치면 다음과 같이 그라파나가 설치되어 있는 걸 확인할 수 있다.
초기 계정과 비밀번호는 admin/admin 이다.
아직 연결이 안된 그라파나는 어떠한 재료도 받고 있지 않다.
우리는 프로메테우스를 이용하여 배치프로젝트에서 리소스를 받아놓았었다.
이제 두개를 연결해야한다.
Prometheus를 다운받는다.
URL만 잘입력해주면 된다.
docker로 설치했던 프로메테우스경로를 잘입력해준다.
나머지는 기본값으로 설정해주면된다.
그리고 아까 compose로 묶었기 때문에 docker-compose.yml 파일의 경로로 가서
sudo docker-compose up -d
로 편하게 Grafana와 Prometheus를 동시에 띄울 수 있다.
참조
도커 데이터볼륨이란 ? (데이터 볼륨 컨테이너)
데이터 볼륨 도커 컨테이너가 실행 중에 작성 혹은 수정된 파일은 호스트 쪽 파일 시스템에 마운트되지 않는 한 컨테이너가 파기될 때 호스에서 함께 삭제 된다. 컨테이너를 사용해서 애플리케
by-dev.tistory.com
scarlett-dev.gitbook.io/all/docker/untitled
[도커] Docker Compose란?
scarlett-dev.gitbook.io
'DevOps' 카테고리의 다른 글
Dockerfile로 Spring boot jar 파일 올리기 (2) | 2021.06.06 |
---|---|
Swagger 란? (Spring boot 에서 Swagger 적용/연동 해보기) (0) | 2021.05.19 |
Prometheus , Grafana (docker-compose) 적용 해보기 (1) (0) | 2021.05.04 |
AWS Docker 설치/실행 (0) | 2021.05.03 |
Docker(도커) 란 ? (0) | 2021.05.03 |