t2.micro를 사용하는 EC2 서버가 과부하로 인해 서비스를 정상적으로 이용하지 못함.
CPU 사용률이 임계점을 돌파하여 사용되는 경우 인스턴스의 크레딧이 모두 소모되어 성능에 제한을 걸기 때문이다.
t2.micro
는 성능 순간 확장 가능 인스턴스로 평소에는 낮은 수준의 cpu 사용률을 제공하다가, cpu 사용률이 높아지면 크레딧을 사용하여 사용률을 높인다.
<aside>
💬 크레딧? (t2.micro 기준)
Node Exporter와 Micrometer를 사용하여 서버와 스프링 애플리케이션을 모니터링하고 Prometheus + Grafana로 분석 및 시각화할 예정이다.
Version
Node Exporter
: 1.9.1Prometheus
: 3.4.2Grafana
: 12.0.2나는 서버에 Node Exporter를 설치하고 로컬에 Prometheus & Grafana를 설치하여 모니터링을 구축할 수 있는지 확인하였다. 실제론 Prometheus를 위한 ec2를 따로 추가할 생각이다. 프리티어를 사용하면 무료로 할 수 있기에.. 그리고 당연하지만 프로메테우스와 node exporter를 중간에 끄면 안된다! 테스트가 끝날 때 까지는 켜야한다.
작업할 공간에 아래 파일을 생성하고, 서버의 주소를 넣은 후 prometheus --config.file=prometheus.yml
로 실행하면 프로메테우스가 실행된다.
# prometheus.yml
scrape_configs:
- job_name: 'node_exporter'
scrape_interval: 5s # ← 이게 수집 주기!
static_configs:
- targets: ['<EC2_ADDRESS>:9100'] # EC2의 퍼블릭 주소를 입력