1. 모니터링의 3단계(순서대로 설계)
    1. 대시보드
    2. 애플리케이션 추적 → 핀포인트
    3. 로그
  2. 대시보드
    1. 전체를 한눈에 볼 수 있는 가장 높은 시점의 뷰
    2. 제품
      1. 마이크로미터
      2. 프로메테우스
      3. 그라파나 등
    3. 대상
      1. 시스템 메트릭(CPU, 메모리)
      2. 애플리케이션 메트릭(톰캣 쓰레드 풀, DB 커넥션 풀, 애플리케이션 호출 수)
      3. 비즈니스 메트릭(주문수, 취소수)
  3. 애플리케이션 추적
    1. 주로 각각의 http 요청을 하나하나 추적, 일부는 마이크로서비스 환경에서 분산 추적
    2. 제품
      1. 핀포인트(오픈소스) → https://github.com/pinpoint-apm/pinpoint
      2. 스카우트(오픈소스)
      3. 와탭(상용)
      4. 제니퍼(상용)
  4. 로그
    1. 가장 세세한 추적, 원하는데로 커스텀 가능
    2. 같은 http 요청을 묶어서 확인할 수 있는 방법이 중요, MDC? 적용
    3. 파일로 직접 로그를 남기는 경우
      1. 일반/에러 로그 파일을 구분
      2. 에러 로그만 확인해서 문제를 바로 정리할 수 있음
    4. 클라우드에 로그를 남기는 경우
      1. 검색이 잘 되도록 구분
    5. 로그마다 사용자를 구분하는 것이 좋음
      1. UUID를 하나의 트랜잭션에 부여
      2. 해당 트랜잭션 전체에서 해당 UUID를 남겨서 흐름을 볼 수 있게 하는 것도 좋음
  5. 모니터링 정리
    1. 각각 용도가 다름
    2. 관찰할 때 넓은 영역 → 좁은 영역 순서로 진행
    3. 핀포인트 적용 고려
  6. 알 람
    1. 모니터링 툴에서 일정 이상 수치 넘어갈 떄 슬랙, 문자 연동!
    2. 알람은 2가지 종류로 구분
      1. 경고: 하루 1번 정도는 사람이 직접 확인해도 되는 수준(사람이 들어가서 확인)
      2. 심각: 즉시 확인해야 함, 슬랙 알림(앱 알림), 문자, 전화 등
    3. 예시
      1. 디스크 사용량 70% → 경고
      2. 디스크 사용량 80% → 심각