[Monitoring] 간단한 Prometheus 실습(w. docker)

Hi,·2022년 4월 16일
0

Monitoring

목록 보기
1/1
post-thumbnail

리눅스 도커 환경에서 프로메테우스를 활용한 간단한 Aurora MySQL 모니터링 구성해보기!!💪💪



1. 도커 설치 및 프로메테우스 디렉토리 생성

# yum install docker
# service docker status
# mkdier /home/centos/pmm -- 프로메테우스 디렉토리



 

2. 프로메테우스 설정

# cd /home/centos/pmm
# vim /home/centos/pmm/prometheus.yml
prometheus.yml 파일 작성
	global:
	  scrape_interval: 15s # 수집주기 15초
	
	scrape_configs:
	
	  - job_name: 'prometheus'
	    static_configs:
	    - targets: ['***.**.**.***:9090']     
	       labels:
	         name: 'prometheus'
	
	  - job_name: 'AWS/RDS'
	    static_configs:
	    - targets: ['***.**.**.***:9104']
	       labels:
	         name: 'test-aurora-01'
	
	    - targets: ['***.**.**.***:9105']
	       labels:
	         name: 'test-aurora-02'

targets에 IP 설정은 프로메테우스가 설치된 로컬 서버 IP로 모두 동일하게 작성.
RDS 인스턴스를 추가하려면 - job_name : 'AWS/RDS' 하위에 targets ~ name까지 추가



3. 프로메테우스, MySQL Exporter 이미지 실행

-- Prometheus
docker run --rm -d -p 9090:9090 \
           --name prometheus \
           -v /home/centos/pmm/prometheus.yml:/etc/prometheus/prometheus.yml \
           -v pmm-volume:/prometheus \ # 프로메테우스 이미지 내 데이터를 로컬 서버로 저장(볼륨)
            prom/prometheus # Prometheus 이미지


-- test-aurora-01에 대한 접속 정보 
docker run --rm \
		   -d -p 9104:9104 \
		   -e 'DATA_SOURCE_NAME=DB 계정:DB 패스워드(RDS 엔드포인트:DB 포트)/' \
		   --name test-aurora-01 \
		   prom/mysqld-exporter  # MySQL Exporter 이미지

-- test-aurora-02에 대한 접속 정보
docker run --rm \
		   -d -p 9105:9104 \
		   -e 'DATA_SOURCE_NAME=DB 계정:DB 패스워드(RDS 엔드포인트:DB 포트)/' \
		   --name test-aurora-02 \
		   prom/mysqld-exporter # MySQL Exporter 이미지

MySQL Exporter에 Metric 수집

MySQL Exporter 이미지 실행 시 설정이 없으면 SHOW GLOBAL STATUS, SHOW GLOBAL VARIABLES 항목만 수집한다.
GitHub - MySQL Exporter을 참고하여 특정 메트릭을 수집할 경우(ex Processlist 수집)
1. 위 prometheus.yml → params 항목 추가

	  - job_name: 'AWS/RDS'
	    static_configs:
        ....
	    params:
  			collect[]:['collect.info_schema.processlist']
  1. MySQL Exporter 이미지 실행 시 옵션 추가
docker run --rm \
		   -d -p 9105:9104 \
		   -e 'DATA_SOURCE_NAME=DB 계정:DB 패스워드(RDS 엔드포인트:DB 포트)/' \
		   --name test-aurora-02 \
		   prom/mysqld-exporter # MySQL Exporter 이미지
           --collect.info_schema.processlist



4. 프로메테우스 UI 접속 후 설정 값, 메트릭 수집 여부 확인

접속 : http://프로메테우스 로컬 서버 IP:9090



여기까지. 🙋‍♂️

👉 프로메테우스는 Grid 데이터 지원은 없는 것 같다.
👉 에이전트 방식(Push)이 아니여서 대상 서버들 DB계정 생성하는건 말고 별도로 구성하는 건 없다.
👉 프로메테우스 HA 이중화 구성에 대해 자체적으로 지원하지 않음.

profile
하나씩, 꾸준히, 부지런히💪💪

0개의 댓글