K8S一些監控指標

內存:

container_memory_rss
RSS內存,即常駐內存集(Resident Set Size),是分配給進程使用實際物理內存,而不是磁盤上緩存的虛擬內存。RSS內存包括全部分配的棧內存和堆內存,以及加載到物理內存中的共享庫佔用的內存空間,但不包括進入交換分區的內存。node


container_memory_usage_bytes
當前使用的內存量,包括全部使用的內存,無論有沒有被訪問。緩存

container_memory_max_usage_bytes
最大內存使用量的記錄。app


container_memory_cache
高速緩存(cache)的使用量。cache是位於CPU與主內存間的一種容量較小但速度很高的存儲器,是爲了提升cpu和內存之間的數據交換速度而設計的。ide


container_memory_swap
虛擬內存使用量。虛擬內存(swap)指的是用磁盤來模擬內存使用。當物理內存快要使用完或者達到必定比例,就能夠把部分不用的內存數據交換到硬盤保存,須要使用時再調入物理內存函數


container_memory_working_set_bytes
當前內存工做集(working set)使用量。spa

container_memory_max_usage_bytes(最大可用內存) >container_memory_usage_bytes(已經申請的內存+工做集使用的內存) >container_memory_working_set_bytes(工做集內存) >container_memory_rss(常駐內存集)設計


PromQL基礎

orm

解釋進程

http_request_total{} 瞬時向量表達式,選擇當前最新的數據
http_request_total{}[5m] 區間向量表達式,選擇以當前時間爲基準,5分鐘內的數據
http_request_total{} offset 5m 分鐘前的瞬時樣本數據
http_request_total{}[1d] offset 1d 昨天一天的區間內的樣本數據
PromQL聚合操做

內存

解釋

sum () by (cluster_name) 每一個結果裏的value值的求和,單位沒限制,例如請求總時間
topk(3,count_netstat_wait_connections) 前n條時序 進行瞬時報警,不是爲了觀察曲線圖
bottomk() 後n條時序
quantile(0.5, http_requests_total) 當φ爲0.5時,即表示找到當前樣本數據中的中位數
min max avg 最小 最大 平均
count() 每條結果計數,單位次數
count_values() 對value進行計數
PromQL 內置函數

解釋

解釋

rate(5m) 取一段時間增量的平均每秒數量, 5m內總增量/5m適合緩慢變化的計數器(counter)
irate(5m) 指定時間範圍內的最近兩個數據點來算速率,適合快速變化的計數器(counter)
increase(5m) 取一段時間增量的總量, 5m內總增量
predict_linear(node_filesystem_free{job= "node"}[1h], 4 * 3600) 適合gauges,對數據的變化趨勢進行預測
by 與without(標籤名) without用於從計算結果中移除列舉的標籤,而保留其它標籤。by則正好相反,結果向量中只保留列出的標籤,其他標籤則移除。經過without和by能夠按照樣本的問題對數據進行聚合。
avg without(cpu) ( rate (node_cpu_seconds_total{mode="idle"}[5m]) ) without不按cpu標籤分組,而後計算平均值。
ceil(node_load5{instance="192.168.1.75:9100"}) 四捨五入
day_of_month() 返回被給定 UTC 時間所在月的第幾天
clamp_max(node_load5{instance="192.168.1.75:9100"}, 2) 輸入一個瞬時向量和最大值,樣本數據值若大於 max,則改成 max,不然不變
changes(node_load5{instance="192.168.1.75:9100"}[1m]) 輸入一個區間向量, 返回這個區間向量內每一個樣本數據值變化的次數(瞬時向量),若是樣本數據值沒有發生變化,則返回結果爲 1
delta(cpu_temp_celsius{host="zeus"}[2h]) 它計算一個區間向量 v的第一個元素和最後一個元素之間的差值用在 Gauge 類型的時間序列上
相關文章
相關標籤/搜索