PromQL
Data model
References
# 주석
<metric_name>[{<label>="<label_value>"[,<label>="<label_value>"]}] <value>
<metric_name>:[a-zA-Z_:][a-zA-Z0-9_:]*정규식을 만족해야합니다<label>:[a-zA-Z_][a-zA-Z0-9_]*정규식을 만족해야합니다instance: 데이터를 수집할 타겟의host:port로, Prometheus가 데이터를 수집할 때 자동으로 추가합니다job: 같은 목적을 가진 인스턴스 집합의 이름으로, Prometheus가 데이터를 수집할 때 자동으로 추가합니다
<label_value>: 모든 문자열을 허용하며, 빈 문자열인 경우 해당 레이블을 사용하지 않은 것으로 간주합니다- 메트릭 이름과 레이블의 조합은 시계열 데이터의 키가 됩니다
경고
메트릭 이름에서 :은 사용자 정의 recording rule에서 사용되고, __로 시작하는 레이블은 내부 사용을 위해 예약되어 있습니다.
Metric types
References
Histogram
히스토그램은 관측값의 분포를 나타내는 메트릭 타입입니다. 히스토그램을 사용하여 P50, P75, P95, 평균 등을 나타내는 그래프를 그릴 수 있습니다.
<basename> 히스토그램을 정의하면 다음과 같은 메트릭이 생성됩니다.
<basename>_bucket{le="<upperBound>"}:<upperBound>이하의 값의 개수를 나타냅니다.<basename>_sum: 모든 관측값의 합계를 나타냅니다.<basename>_count: 모든 관측값의 개수를 나타냅니다.
이를 활용하면 다음과 같은 쿼리를 작성할 수 있습니다.
- P95:
histogram_quantile(0.95, sum by (le) (rate(<basename>_bucket[5m]))) - 평균:
sum(rate(<basename>_sum[5m])) / sum(rate(<basename>_count[5m]))
PromQL
Instant Vector
여러 시계열 데이터에서 같은 timestamp를 갖는 샘플을 한 개씩 모아서 만든 집합입니다.
[<metric_name>][{<label><match_operator>"<string|regex>"[,<label><match_operator>"<string|regex>"]}]
- 메트릭 이름 또는 레이블만으로 쿼리할 수 있습니다
__name__레이블의 값으로 메트릭 이름을 지정할 수 있습니다<match_operator>:=,!=,=~,!~중 하나입니다=: 레이블의 값이 주어진문자열과 일치!=: 레이블의 값이 주어진문자열과 불일치=~: 레이블의 값이 주어진정규식과 일치!~: 레이블의 값이 주어진정규식과 불일치
Range Vector
여러 시계열 데이터에서 주어진 범위의 timestamp를 갖는 샘플들을 모아서 만든 집합입니다.
# duration에 사용되는 []는 옵션의 의미가 아닙니다
# e.g., http_requests_total[5m]
<instant_vector_expr>[<duration>[:<resolution>]] [offset <duration>] [@ <unix_timestamp>|start()|end()]
<duration>: 숫자 + 단위로 구성된 값을 사용합니다.- 단위:
ms,s,m,h,d,w,y
- 단위:
Operators
References
Aggregation Operators
<operator> [without|by (<label>[,<label>])] ([parameter,] <instantVector>)
또는
<operator> ([parameter,] <instantVector>) [without|by (<label>[,<label>])]
sum (<instantVector>): 메트릭의 총합을 구합니다.sum by (<label>[,<label>]) (<instantVector>):<label>[,<label>]이 같은 메트릭의 총합을 구합니다.sum without (<label>[,<label>]) (<instantVector>):<label>[,<label>]이 다른 메트릭의 총합을 구합니다.
Functions
References
rate(<rangeVector>): x축을 timestamp로하는 그래프의 평균 변화율을 계산합니다.