황금 신호
개요
SRE에서 제시한 모니터링에서 중요한 4가지 모니터링 지표.
유저가 마주하게 되는 서비스에 대한 지표 중에서 핵심적으로 고려해야 할 4가지 신호를 말한다.
이 신호들이 중요한 이유는 이것들을 파악해야 서비스 간 발생하는 문제를 빠르게 찾고 정의할 수 있기 때문이다.
서비스 관점에서 중요하게 여겨야 할 지표를 정의한 것이기에, 어떤 서비스냐에 따라 각 지표를 무엇으로 상정할지는 달라질 수 있다.
SLO를 잡을 때 이것들도 같이 정의하고 이것들을 잘 보여줄 수 있도록 관측 가능성 세팅을 하는 것이 좋겠다.
신호
지연시간(Latency)
요청을 처리하는데 걸리는 시간.
성공 요청과 실패 요청의 레이턴시를 구분해야 하며, 에러라 규정할 시간을 규정하여 처리하는 것이 중요하다.
트래픽(Traffic)
시스템에 얼마나 많은 요구가 이뤄지고 있는지 높은 단위에서 측정한 메트릭.
웹서비스로 치면 HTTP 요청 개수가 여기에 해당할 것이고 오디오 스트리밍 시스템이라면 동시에 열린 세션들의 네트워크 IO가 될 것이다.
디비라면 트랜잭션 수를 트래픽으로 잡을 수도 있다.
에러(Errors)
예상되지 않은 장애와 오류 뿐 아니라, 예상 범주에서 핸들링된 에러까지도 포함한다.
가령 200을 반환하긴 하나 잘못된 컨텐츠를 반환하는 케이스도 에러로 친다.
포화도(Saturation)
서비스가 얼마나 가득 찼는지를 나타내는 지표.
시스템 자원이 얼마나 한계에 가까워졌는지를 나타내며, 가장 제약이 크고 예민한 자원에 초점을 맞춘다.
자원이 완전히 활용되지 않더라도 성능 저하는 발생할 수 있기에 어느 정도의 사용률을 목표로 할지 잘 정해야 한다.
단순히 특정 자원의 사용률을 넘어서, 부하에 대한 탄력성을 측정하는 지표로 생각하고 정의해야 한다.
가령 얼마나 많은 http요청을 처리할 수 있는가?와 같은 것을 포화도의 기준으로 삼아야 할 수도 있다는 말이다.
지연 시간의 증가는 대체로 포화 상태를 나타내는 예후가 된다.
추가적으로, 포화도를 측정한다는 것은 언제쯤 포화상태가 될지 예측하는 작업도 포함한다.
관련 문서
Dataview: custom view not found for 'scripts/templates/dataview-tp/subnotelist.js' or 'scripts/templates/dataview-tp/subnotelist/view.js'.