대시보드: 시각화용 '무언가'의 집합. graph, table 등...
서비스응답률, 인스턴스 수, CPU사용량 등을 개별대시보드 형태로 게이지, 숫자 등으로 표현 가능
데이터소스: 그래프 그릴 때 필요한 정보를 추출하는데 씀. 여기에 쓰는게 프로메테우스
패널: 대시보드 칸(Grid)
모니터링: 이벤트 확인. HTTP요청 수신 및 함수시작, if문의 else에 도달, 로그인 등...
컨텍스트: "무엇이 해당 stack의 일부를 트리거했는가?"가 골자로, http요청이 들어오고 나가는 주소, 요청 URL 등... 이를 아는 것은 디버깅에 도움이 되지만 처리, 저장 데이터량이 크게 증가한다. 이를 메트릭, 프로파일링, 로깅, 트레이싱 등으로 데이터를 줄일 수 있다.
프로메테우스: 서비스 검색 등으로 데이터 수집대상을 발견.
수집은 익스포터가 진행한다.
이를 저장 시, PromQL등을 통해 대시보드에 활용하거나, 알림매니저로 알림을 발송한다.
알림은 다시 무선호출, 이메일같은 통보로 바뀜.
메트릭: 컨텍스트는 무시. 이벤트의 시간에 따른 집계를 추적. 수신된 HTTP 요청 횟수, 요청처리 시간 등이 메트릭의 일종.
이를 통해 애플리케이션의 '각 서브시스템에서의 대기시간과 처리데이터양'을 추적, 성능 저하의 원인 분석 가능.
클라이언트 라이브러리 : 애플리케이션 내에 존재. 2~3줄의 코드로 메트릭을 정의, 제어하려는 코드에 인라인으로 원하는 계측기능의 추가가 가능.
이를 통해, 스레드 안정성, http요청에 대한 응답으로 프로메테우스 텍스트 게시(text expositon) 형식 생성 등, 핵심 세부사항 처리가 가능.
익스포터: 실행하는 모든 코드의 통제, 접근이 가능한 것은 아니고, 계층추가가 실제로 수행가능한 옵션이 아닌 경우도 있을 것. 메트릭에 접근할 수 있는 인터페이스처럼, 가져오고 싶은 메트릭을 애플리케이션 옆에 배치하는 소프트웨어
프로메테우스로부터 요청을 받아, 애플리케이션에서 요청된 데이터 수집 후, 올바른 형식으로 변환한 다음, 프로메테우스에 대한 응답으로 데이터 반환. 즉 애플리케이션의 메트릭 인터페이스를 프로메테우스의 게시형식으로 변환하는 프록시
서비스 검색: 계측할 애플리케이션이 준비되고, 익스포터가 실행 시, 프로메테우스는 이들이 어디있는지 알아야 '무엇을 모니터링해야 할 지' 알게 되고, 모니터링 대상이 응답하지 않는 경우도 파악 가능. 이를 위해 서비스검색이 필요.
데이터 수집: 서비스 검색과 레이블 재지정(Relabelling) 등으로 모니터링 대상 목록을 알았다면,
메트릭을 가져오는 작업 필요. '수집(Scrape)'라 부르는 http요청을 통해 메트릭 가져옴.
저장 장치: 프로메테우스는 사용자정의 데이터베이스에 로컬로 데이터를 저장.
대시보드: 그라파나는 프로메테우스를 데이터소스로 사용하는 것을 지원. 프로메테우스의 '원시 데이터 요청' + 'PromQL 쿼리 수행용 HTTP API'는 그래프와 대시보드를 생성하는데 도움.
기록규칙 및 알림: 기록규칙을 통해 PromPL표현식을 정기적으로 수행 후 저장엔진에 저장 시, 많은 머신에서 오는 메트릭을 매번 집계하는 데에 도움됨.
알림관리: 프로메테우스 서버에서 알림을 받아 이메일, 슬랙 등의 통보로 변환.
장기저장소
'애니리뷰' 카테고리의 다른 글
[Optical flow] 기타 & SSL, COOKBOOK에 대한 내용은 여기에 (0) | 2023.05.03 |
---|---|
[chatGPT] 파이썬, LSTM 혹은 numpy, torch 질답 모음 (0) | 2023.03.22 |
yolov7-face를 위한 wandblogger (2) | 2022.11.07 |
python - argparse에 대해 (0) | 2022.11.04 |
도커 알아둘 것 (0) | 2022.11.04 |