2016-07-29 5 views
5

sum(rate(my_counter_total[1m])) 또는 sum(irate(my_counter_total[20s]))으로 빠른 카운터를 그래프로 표시합니다. 마지막 두 초 이내에 변경 사항을 항상 기대할 수있는 경우 두 번째 것이 더 좋습니다.prometheus 및 grafana로 느린 카운터 표시

하지만 몇 시간 씩 심지어 몇 시간 씩 증가하는 느린 카운터를 어떻게 그래프로 표시합니까? 0.0013232/s와 같은 값을 갖는 것은 인간과 매우 친숙하지 않습니다.

얼마나 많은 사용자가 우리 서비스에 가입했는지 그래프로 나타낼 것이라고 가정 해 봅시다 (한 시간에 두 번 가입 할 것으로 예상합니다). 합리적인 쿼리는 무엇입니까?

  • 검색어 : 3600 * sum(rate(signup_total[1h]))
  • 단계 : 3600S는
  • 해상도 : 1/1

Slow counter setup

인가

우리는 현재이 grafana에 그 그래프로 다음 사용 이건 합리적인거야?

나는 그래프를 그리기 위해 모든 매개 변수가 함께 어떻게 작동하는지 이해하려고합니다. 어떤 사람이 범위 선택기 ([10m]), rate()irate() 함수, StepResolution 설정이 서로 어떻게 영향을 주는지 설명 할 수 있습니까?

답변

2

올바른 방법입니다. 당신은 또한 rate() 그런 식으로 사용하기위한 구문 설탕 인 increase()을 사용할 수 있습니다.

사람이는 프로 메테우스를 사용하는 방법 범위 선택

에게 설명하고, 데이터를 통해 작업 할 것을 표시 할 수 있습니다.

grafana의 단계 및 해상도 설정이 서로 영향을 줍니까?

그라파 나는 (Grafana) 측면에서 사용되며, 프로 메테우스에서 요청할 시간 슬라이스의 수에 영향을줍니다.

이 설정은 서로 직접적인 영향을주지 않습니다. 그러나 해상도는 범위보다 작아야합니다. 그렇지 않으면 언더 샘플링하고 정보를 놓치게됩니다.

+0

나는 모든 것을 정리하는 데 여전히 어려움을 겪고 있습니다. 분당 증분이있는 카운터의 경우 'sum (증가 (my_counter_total [1m]))'을 사용하여 비율/m을 표시합니다. 이것은 grafana의 단계를 1m로 설정하고 해상도를 1/1로 설정할 때 가장 잘 작동합니다. 따라서 플롯 된 모든 값은 분당 발생 횟수와 일치합니다. 그러나 큰 시간 프레임 (30d)을 선택하면 그래프에 많은 1m 단계가 필요하므로로드 시간이 오래 걸립니다. 단계를 자동으로 설정하면 (비워 두어) 값이 1m 미만인 작은 시간대에 작동합니다. 단계가 예를 들어 10m 값은 더 이상 의미가 없습니다. – James

+1

예. 그렇습니다. 모든 것이 일관되게 초당되도록'rate()'을 사용하는 것이 좋습니다. https://github.com/grafana/grafana/pull/4257이 문제를 개선해야합니다. –

+0

당신이 언급 한 PR은 정확히 이것에 대한 해결책 인 것 같습니다! 당분간 우리는 내가 추측하는 초당 속도로 갈 것이다 ... – James