diff --git a/Monitoring-Jenkins/docker-compose.monitoring.yml b/Monitoring-Jenkins/docker-compose.monitoring.yml new file mode 100644 index 0000000..c4a90c1 --- /dev/null +++ b/Monitoring-Jenkins/docker-compose.monitoring.yml @@ -0,0 +1,28 @@ +services: + # Prometheus 설정 + prometheus: + image: prom/prometheus:latest + container_name: prometheus + ports: + - "9090:9090" # Prometheus 웹 인터페이스 + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml # Prometheus 설정 파일 + networks: + - monitoring + + # Grafana 설정 + grafana: + image: grafana/grafana:latest + container_name: grafana + ports: + - "3000:3000" # Grafana 대시보드 + environment: + - GF_SECURITY_ADMIN_PASSWORD=admin # 기본 관리자 비밀번호 + depends_on: + - prometheus + networks: + - monitoring + +networks: + monitoring: + driver: bridge \ No newline at end of file diff --git a/Monitoring-Jenkins/grafana/.gitignore b/Monitoring-Jenkins/grafana/.gitignore new file mode 100644 index 0000000..adbb97d --- /dev/null +++ b/Monitoring-Jenkins/grafana/.gitignore @@ -0,0 +1 @@ +data/ \ No newline at end of file diff --git a/Monitoring-Jenkins/jenkins/docker-compose.jenkins.yml b/Monitoring-Jenkins/jenkins/docker-compose.jenkins.yml new file mode 100644 index 0000000..df1f15f --- /dev/null +++ b/Monitoring-Jenkins/jenkins/docker-compose.jenkins.yml @@ -0,0 +1,16 @@ +version: "3.8" + +services: + jenkins: + image: jenkins/jenkins:lts + container_name: jenkins + restart: unless-stopped + user: root + ports: + - "8081:8080" + - "50000:50000" + volumes: + - /var/jenkins_home:/var/jenkins_home + - /var/run/docker.sock:/var/run/docker.sock + environment: + - TZ=Asia/Seoul diff --git a/Monitoring-Jenkins/prometheus/prometheus.yml b/Monitoring-Jenkins/prometheus/prometheus.yml new file mode 100644 index 0000000..7fc9b29 --- /dev/null +++ b/Monitoring-Jenkins/prometheus/prometheus.yml @@ -0,0 +1,23 @@ +global: + scrape_interval: 15s # 메트릭 수집 주기 + +scrape_configs: + # 백엔드 서비스 메트릭 수집 (백엔드 서버의 메트릭을 수집) + - job_name: 'backend' + scheme: https + metrics_path: '/metrics/back' + static_configs: + - targets: ['goodgamefinder.xyz'] + + # PostgreSQL Exporter 메트릭 수집 (Postgres Exporter가 설정되어 있다면) + - job_name: 'postgres' + scheme: https + metrics_path: '/metrics/db' + static_configs: + - targets: ['goodgamefinder.xyz'] + + - job_name: 'node_exporter' + metrics_path: '/metrics/system' + scheme: https + static_configs: + - targets: ['goodgamefinder.xyz'] \ No newline at end of file