2017-12-25 35 views
1

저는 Prometheus를 사용하여 매 30 초마다 일부 메트릭을 수집합니다. 이는 훌륭한 작업을 수행하고 있습니다. 일부 저장 공간을 절약하기 위해 이러한 원시 메트릭을 cpu_time:avg1h과 같은 더 거친 메트릭에 집계하기위한 녹음 규칙을 만들었습니다.Prometheus의 Crontab 스타일 레코딩 규칙

이제 문제는 매시간마다 집계가 발생하기를 바랍니다. 프로 메테우스에서 가능합니까?

답변

0

Prometheus에는 이러한 기능이 없지만 규칙 평가의 간격을 임의로 조절할 수 있습니다.

일반적으로 스크래치 종료 평가 간격을 동일하게 유지하는 것이 좋습니다. 따라서 30 초 평가 간격을 사용하는 것이 좋습니다. 프로 메테우스는 꽤 좋은 압축률을 가지고 있으므로 상당히 저렴합니다.

+0

답장을 보내 주셔서 감사합니다. 압축으로 인해 저장 공간 문제가 해결 될 수 있지만 또 다른 문제가 있습니다. "지난 1 개월 동안"cpu_time : avg1h "을 제공하지만 매시간 하나의 데이터 포인트 만 선택하는 것과 같은 쿼리를 효율적으로 수행하는 방법" 고객이 너무 많은 리소스를 소비하기 때문에 수만 데이터 포인트를 보내고 표시하고 싶지 않습니다. Prometheus는 이러한 종류의 쿼리에 최적화되어 있습니까? – fengye87

+1

query_range 끝점의 'step' 매개 변수를 사용하면 쿼리 평가 빈도를 제어 할 수 있습니다. 한 번에 반환되는 11,000 개 이상의 단계를 방지하는 데 실제로 안전 장치가 있습니다. –

+0

Prometheus의 소스 코드를 파기 한 후에 Prometheus에 이러한 기능을 추가하는 것은 어려운 일이 아닙니다. 규칙 그룹에'group.offset()'함수 (rules/manager.go : 266)의 결과에 약간의 차이를 줄 수있는 단계를 명시 적으로 제어하는 ​​옵션 필드'base'를 추가 할 생각입니까? – fengye87