Skip to content

오토 스케일링 환경에서 매트릭 모니터링 방법 #73

@ecsimsw

Description

@ecsimsw
  • 오토스케일링되는 상황에선 어떻게 하면 좋을까.
  • AWS Cloud Map를 사용했다.
  • ECS와 CloudMap을 연동하면 ECS에서 실행하는 컨테이너 서비스에 내부 DNS를 부여할 수 있다.
  • 프로메테우스에는 dns 기반 서비스 디스커버리가 있다. (dns_sd_configs)
  • N초(기본 30초)에 한번씩 dns를 찔러서 ip 목록을 확인하고, scrap 주기에 따라 모든 인스턴스들에 매트릭을 요청한다. 이때 Prometheus가 DNS로 가져온 각 타겟(IP:Port 조합)은 instance라는 레이블을 포함하여 매트릭 정보를 저장한다.
  • 그라파나에서는 이 instance를 변수로 매트릭의 대시보드를 구성하면 된다. 이때 지금 up되어 있는 variable만 보고자 한다면, instanec를 {job="$job", up="1"}처럼 쿼리를 통하여 instance 목록을 구성하고, 현재 서비스 되고 있는 서버값만 출력한다.
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions