测验:用日志生成指标
한국어 원문으로 표시합니다.
quantile_over_time(0.95, {app="x"} | logfmt | unwrap dur_ms [1h]) 의 p50 과 p95 가 같은 값을 내고 있다. 가장 먼저 확인할 것은?
- 구간을 5분으로 줄여 다시 던져 본다
- 돌려받은 계열 수가 줄 수에 가까운지 센다
unwrap을sum_over_time으로 바꿔 본다- 보존 기간이 1시간보다 긴지 확인한다
로그 범위 집계(count_over_time 등)와 unwrap 범위 집계의 차이는?
- 로그 범위 집계는 줄을 세고, unwrap 집계는 줄에서 꺼낸 숫자를 다룬다
- 로그 범위 집계만
sum by로 묶을 수 있다 - unwrap 집계는 스트림 라벨을 무시한다
- 로그 범위 집계는 파서를 붙일 수 없다
계열이 쪼개지는 것을 막는 방법이 아닌 것은?
| drop으로 값이 제각각인 라벨을 떼어 낸다| keep으로 쓸 라벨만 남긴다- 바깥을
sum by (app) (...)로 감싼다 - 질의의
limit을 1 로 준다
Loki 의 quantile_over_time 이 프로메테우스의 histogram_quantile 과 다른 점은?
- 구간을 1시간보다 길게 줄 수 없다
- 미리 요약된 버킷이 아니라 원본 값을 전부 훑는다
- 결과가 항상 정수로 반올림된다
- 라벨이 없는 계열에만 적용할 수 있다
로그 기반 지표를 '임시 방편' 으로 보는 것이 타당한 이유는?
- 로그는 지표보다 보존 기간이 항상 짧다
- LogQL 의 지표 질의는 알림 규칙으로 쓸 수 없다
- 질의할 때마다 원본 줄을 읽어야 해서 같은 숫자가 훨씬 비싸다
- 로그에서 꺼낸 값은 소수점을 표현할 수 없다
같은 서비스 로그에 dur=1.5s 와 dur_ms=1500 이 섞여 있을 때 unwrap 의 위험은?
- 파서가
__error__를 붙여 계산이 중단된다 - 두 필드가 같은 라벨로 합쳐져 값이 두 배가 된다
- 단위가 다른 숫자를 그대로 섞어 계산해 조용히 틀린 답이 나온다
unwrap이 문자열 라벨을 거부해 빈 결과가 된다