애플리케이션 성능 모니터링(APM)과 사이트 안정성 엔지니어링(SRE)의 모범 사례에 관심이 있으신가요? Google의 4가지 골든 시그널과 이를 모니터링하는 것이 필요한 이유, 뉴렐릭에서 이 중요한 메트릭을 위한 대시보드를 자동으로 생성하는 방법에 대해 알아봅니다.
골든 시그널
(Golden Signals)이란?
애플리케이션 성능 모니터링에는 4가지 골든 시그널이 있습니다.
- 레이턴시(Latency)는 요청을 완료하는 데 걸리는 시간을 측정합니다.
- 트래픽(Traffic)은 처리 중인 요청 수를 알려줍니다.
- 오류(Errors)는 실패한 총 요청 수입니다.
- 포화도(Saturation)는 애플리케이션이 시스템에 가하는 총 부하를 나타내며 보통 백분율로 표시됩니다.
골든 시그널은 웹 애플리케이션의 메트릭을 모니터링하는 기준입니다. 기존 APM 툴이 있는지, 아니면 이제 막 모니터링을 시작했는지에 관계없이, 골든 시그널을 모니터링하면 애플리케이션의 상태에 대한 개괄적인 정보를 빠르게 확인할 수 있습니다. 모니터링할 가치가 있는 많은 성능 메트릭이 있지만, 골든 시그널은 가장 필수적인 요소를 다룹니다.
레이턴시
레이턴시는 요청이 이루어진 시점과 요청이 완료된 시점 사이의 시간입니다. 레이턴시는 짧을수록 좋습니다. 사용자가 페이지를 로드하거나 다른 요청을 하는 데 시간이 오래 걸리면 사용자가 앱 사용을 포기하고 경쟁업체로 갈 가능성은 높아집니다. 요청의 평균 레이턴시를 측정하면 웹 애플리케이션의 성능을 한 눈에 볼 수 있지만, 자세히 살펴보지 않으면 오해의 여지가 있습니다. 평균 요청은 빠르게 완료될 수 있지만, 웹 애플리케이션의 가장 느린 요청에 중점을 두는 것이 더 중요합니다.
요청의 95%는 최소한의 레이턴시를 유지해도 나머지 5%는 사용자에게 참을 수 없도록 느릴 수 있습니다. 평균치만 보면 애플리케이션의 잠재적 문제가 드러나지 않습니다. 랜딩 페이지나 사용자의 계정 신청 페이지의 경우 특히 속도가 느린 페이지가 중요합니다. 그렇기 때문에 레이턴시 평균 뿐만 아니라 특정 백분위수에 있는 페이지도 살펴봐야 합니다. 95번째 백분위수는 좋은 시작점이 될 수 있지만, 정확한 숫자는 애플리케이션의 요구 사항에 따라 달라질 수 있습니다. 이 글의 후반부에서는 뉴렐릭을 사용해 백분위수별로 골든 시그널를 측정하는 방법을 살펴봅니다.
트래픽
일반적으로 트래픽을 사이트 사용자 수로 생각하지만, 이 경우 트래픽은 애플리케이션에 대한 전체 사용자의 수요를 측정합니다. 웹 애플리케이션의 경우, 초당 총 HTTP 요청 수를 측정할 수 있습니다. 또한 페이지나 리소스별로 트래픽을 살펴보고, 어떤 페이지가 가장 성공적이고 어떤 페이지가 개선이 필요한지 파악할 수 있습니다. 트래픽 측정은 사용자 경험을 이해하고 미세 조정하는 데 있어 핵심적인 부분입니다.
오류
기본적으로 APM의 목표는 사용자에게 영향을 미치기 전에 오류를 찾아 수정하는 것입니다. 그러나 오류는 정확히 무엇을 의미할까요? 일부 오류는 명확합니다. 예를 들어 내부 서비스 오류가 있음을 의미하는 500 상태 코드를 반환하는 모든 HTTP 요청은 추적을 해야 합니다. 다른 오류들은 식별하기가 조금 더 까다롭습니다. 사용자가 200 OK 상태 코드를 반환하는 요청을 할 수 있지만, 요청이 올바른 콘텐츠를 반환하지 않는 경우에도 오류가 될 수 있습니다. 특정 서비스 수준 목표를 기반으로 오류 정책을 설정할 필요가 있을 수도 있습니다.
포화도
포화도는 사용 중인 시스템의 백분율을 측정합니다. 웹 애플리케이션의 포화도가 100%에 가까워지면 성능이 저하될 가능성이 높으며 사용자에게 부정적인 영향을 미칩니다. 반면에 포화도가 지속적으로 50%를 유지하면 사용하지 않는 서비스에 오버프로비저닝하여 필요없는 비용이 지출되고 있을 수 있습니다. 웹 애플리케이션의 포화도를 측정하면 사용 중인 서비스를 최적화하는 방법에 대한 인사이트를 얻을 수 있습니다.
뉴렐릭을 사용한 골든 시그널 모니터링
아직 APM 솔루션이 없거나 뉴렐릭을 사용해 보고 싶으시면 무료 계정을 신청하십시오. 계정에 로그인하면, 안내 설치를 사용해 애플리케이션을 계측할 수 있습니다. 계측은 애플리케이션에 대한 모니터링을 설정하는 프로세스입니다. 안내 설치를 실행하면 뉴렐릭의 인프라 에이전트가 사용자의 환경을 확인하고 계측해야 할 애플리케이션을 추천합니다.
사전 구축된 골든 시그널 대시보드 사용
웹 서버용 골든 시그널(Golden Signals for Web Servers) 퀵스타트를 설치하면 애플리케이션에서 바로 골든 시그널 모니터링을 시작할 수 있습니다. 무엇보다도 이 퀵스타트에는 각 골든 시그널에 대한 알림이 내장되어 있어 애플리케이션의 성능이 기준에 못미칠 때 팀에게 알릴 수 있습니다. Golden Signals for Web Servers로 이동하여, + Install quickstart 버튼을 클릭한 다음, 화면의 안내에 따라 설치를 완료합니다.
뉴렐릭에 로그인하여 이 퀵스타트와 기타 사전 구축된 대시보드에 액세스할 수도 있습니다. 오른쪽 상단 모서리에서 Dashboards를 선택한 후 + Create a dashboard를 클릭합니다.Browse pre-built dashboard을 선택해 사전 구축된 대시보드를 사용하거나 Create a new dashboard를 선택해 새로운 대시보드를 생성할 수 있습니다.
퀵스타트를 포함해 사전 구축된 다른 대시보드들은 애플리케이션 모니터링 기능을 즉시 확장하는 데 도움이 됩니다.
웹 서버용 골든 시그널이 설치되면, 다음 이미지와 같은 골든 시그널 대시보드가 표시됩니다.
대시보드에는 다음 메트릭이 포함됩니다.
- Response Time(응답 시간)은 레이턴시에 상응하며, 응답을 완료하는 데 걸리는 총 시간입니다.
- Throughput(처리량)은 사용자 트래픽을 측정합니다. 뉴렐릭 APM의 경우, 처리량은 분당 요청으로 측정됩니다.
- Error %(오류 %)는 애플리케이션의 오류율을 측정합니다.
- Average CPU Usage(평균 CPU 사용량)과 Memory Usage(메모리 사용량)는 시스템의 포화 정도를 모니터링하여 애플리케이션의 리소스 활용도를 확인합니다.
골든 시그널에 사전 구축된 알림 사용
웹 서버용 골든 시그널의 각 메트릭에는 사전 구축된 알림이 함께 제공됩니다. 이 알림은 Golden Signals for Web Server로 이동하여 Alerts 탭을 선택하면 확인할 수 있습니다. 여기에서 또한 전체 알림에 대한 요약 정보를 볼 수 있습니다. 모든 알림은 5분 동안 임계값을 벗어나면 발생합니다.
- CPU Usage(CPU 사용량): CPU 사용량이 90%를 초과하면 알림이 발생합니다.
- Errors(오류): 트랜잭션의 10%가 오류로 종료되면 알림이 발생합니다.
- Memory Usage(메모리 사용량): 메모리 사용량이 90%를 초과하면 알림이 발생합니다.
- Response Time(응답 시간): 평균 트랜잭션 시간이 5초를 초과하면 알림이 발생합니다.
- Throughput(처리량): 5분 동안 트랜잭션이 5개 미만일 때 알림이 발생합니다.
이메일, Slack, PagerDuty 등 워크플로우에 가장 적합한 채널로 팀에게 알림을 보내도록 알림 채널을 설정할 수 있습니다.
뉴렐릭 Lookout에서 골든 시그널 보기
또한 뉴렐릭 Lookout에서 모든 애플리케이션의 골든 시그널을 개괄적으로 확인할 수 있습니다. 상단 메뉴에서 More > Lookout을 선택합니다. 그런 다음, 화면의 오른쪽 상단 모서리에서 Saved Views 버튼을 클릭하고 Change view 창을 엽니다. Your system > Application golden signals을 선택하거나 Other views에서 브라우저나 모바일 애플리케이션의 골든 시그널 뷰 같은 다양한 뷰를 선택할 수 있습니다. 뉴렐릭 Lookout의 좋은 점은 애플리케이션의 모든 서비스를 보여주기 때문에 여러 뷰를 오갈 필요가 없다는 것입니다. 여기에서 뉴렐릭 Lookout에 대해 보다 자세히 알아보십시오,
골든 시그널 대시보드 맞춤화
마지막으로 뉴렐릭에서 워크로드를 생성하여, 팀이나 담당자들을 위해 엔터티를 그룹화하고 모니터링할 수 있습니다. 워크로드를 생성할 때마다, 골든 시그널을 위한 대시보드가 자동으로 생성됩니다.
이러한 대시보드를 맞춤화하는 보다 자세한 방법은 워크로드에서 골든 시그널 차트를 구성하는 방법을 보여주는 아래 비디오를 확인하시기 바랍니다.
APM 툴을 사용해 애플리케이션을 모니터링하는 경우(권장), 레이턴시, 트래픽, 오류 및 포화도라는 4가지 골든 시그널을 모니터링하는 것이 중요합니다. 이 신호들은 함께 애플리케이션의 상태에 대한 중요한 인사이트를 제공하고 사용자에게 영향을 미치기 전에 문제를 찾고 감지하는 데 도움을 줍니다.
다음 단계
애플리케이션에서 골든 시그널을 모니터링할 준비가 되셨거나 모니터링에 대해 더 자세히 알아보고 싶으신가요? 지금 뉴렐릭의 기간 제한없는 무료 계정을 신청하시면 웹 서버용 골든 시그널 퀵스타트를 사용해 몇 분 내에 시작할 수 있습니다.
이 블로그에 표현된 견해는 저자의 견해이며 반드시 New Relic의 견해를 반영하는 것은 아닙니다. 저자가 제공하는 모든 솔루션은 환경에 따라 다르며 New Relic에서 제공하는 상용 솔루션이나 지원의 일부가 아닙니다. 이 블로그 게시물과 관련된 질문 및 지원이 필요한 경우 Explorers Hub(discuss.newrelic.com)에서만 참여하십시오. 이 블로그에는 타사 사이트의 콘텐츠에 대한 링크가 포함될 수 있습니다. 이러한 링크를 제공함으로써 New Relic은 해당 사이트에서 사용할 수 있는 정보, 보기 또는 제품을 채택, 보증, 승인 또는 보증하지 않습니다.