(사용 운영체제 우분투)
도커 컴포즈
프로메테우스
먼저 실습구성을 위한 디렉토리 생성을 한다.
디렉토리이름은 example1로 설정
yml 파일구성하여 도커 컨테이너 만들기
도커 컴포즈를 사용함으로 컨테이너 하나하나 구성하지 않아도 된다.
프로메테우스 + 그라파나 도커 컴포즈yml 파일
네트워크는 기존에 생성한 mynet이용
version: '3'
services:
prometheus:
image: prom/prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus:/etc/prometheus
- prometheus-data:/prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
networks:
- mynet
grafana:
image: grafana/grafana
ports:
- "3000:3000"
environment:
- GF_SERVER_ROOT_URL=http://localhost:3000
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana-data:/var/lib/grafana
- ./grafana/provisioning/:/etc/grafana/provisioning/
networks:
- mynet
depends_on:
- prometheus
networks:
mynet:
driver: bridge
volumes:
grafana-data:
prometheus-data:
도커 컴포즈파일 up시키기
성공이면 ls명령어를 통해 디렉토리내에 grafana파일과 prometheus파일이 만들어진 것을 확인할 수 있다.
페이지 확인
1. Grafana
ngnix설치하기
docker run후 nginx페이지 확인하기 (임시 페이지)
docker 컴포즈 파일 생성
-nginx
-nginx-exporter
코드는 이 사이트껄 가져와서 만듦
https://github.com/gurumee92/getting-started-prometheus/blob/master/src/part2/ch06/docker-compose.yml#L41
version: "3"
services:
nginx:
container_name: nginx
image: nginx:latest
ports:
- 8080:80
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
nginx-prometheus-exporter:
container_name: nginx-prometheus-exporter
image: nginx/nginx-prometheus-exporter:latest
ports:
- 9113:9113
command: -nginx.scrape-uri http://nginx/metrics
prometheus:
container_name: prometheus
image: prom/prometheus:latest
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- 9090:9090
grafana:
container_name: grafana
image: grafana/grafana:latest
ports:
- "3000:3000"
volumes:
- ./grafana/datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml
- ./grafana/dashboard.yml:/etc/grafana/provisioning/dashboards/dashboard.yml
- ./grafana/dashboard.json:/var/lib/grafana/dashboards/dashboard.json
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
docker up후 각각사이트 확인하기
nginx exporter
grafana 확인
prometheus확인
->시간오류발생... 시간을 약간 미래로 두면 오류가 뜨지않긴함
--->date설정으로 3분정도 뒤로 설정해줌
->NGINX Prometheus Exporter 설정한뒤 dashbord 설정하기
json파일을 삽입해준다
->json파일 사이트 https://github.com/gurumee92/getting-started-prometheus/blob/master/src/part2/ch04/grafana/dashboard.json
dashboard를 잘못 선택했는지 자꾸 데이터가 없다고 뜬다
오류를 잡아보려했으나 찾지못함 ㅠㅜ