摘要:獲取請(qǐng)求數(shù)前位的時(shí)序樣本數(shù)據(jù),可以使用表達(dá)式用于計(jì)算當(dāng)前樣本數(shù)據(jù)值的分布情況,其中例如,當(dāng)為時(shí),即表示找到當(dāng)前樣本數(shù)據(jù)中的中位數(shù)返回結(jié)果如下內(nèi)置函數(shù)提供了其它大量的內(nèi)置函數(shù),可以對(duì)時(shí)序數(shù)據(jù)進(jìn)行豐富的處理。
一. 概述
Prometheus除了存儲(chǔ)數(shù)據(jù)外,還提供了一種強(qiáng)大的功能表達(dá)式語(yǔ)言 PromQL,允許用戶實(shí)時(shí)選擇和匯聚時(shí)間序列數(shù)據(jù)。
表達(dá)式的結(jié)果可以在瀏覽器中顯示為圖形,也可以顯示為表格數(shù)據(jù),或者由外部系統(tǒng)通過(guò) HTTP API 調(diào)用。通過(guò)PromQL用戶可以非常方便地查詢監(jiān)控?cái)?shù)據(jù),或者利用表達(dá)式進(jìn)行告警配置
如:k8s中的node在線率:sum(kube_node_status_condition{condition="Ready", status="true"}) / sum(kube_node_info) *100
Metric類型關(guān)于時(shí)間序列存儲(chǔ),可以參考:https://www.infoq.cn/article/...
Prometheus會(huì)將所有采集到的樣本數(shù)據(jù)以時(shí)間序列(time-series)的方式保存在內(nèi)存數(shù)據(jù)庫(kù)TSDB中,并且定時(shí)保存到硬盤上。time-series是按照時(shí)間戳和值的序列順序存放的,我們稱之為向量(vector)。每條time-series通過(guò)指標(biāo)名稱(metrics name)和一組標(biāo)簽集(labelset)命名。
在time-series中的每一個(gè)點(diǎn)稱為一個(gè)樣本(sample),樣本由以下三部分組成:
指標(biāo)(metric):metric name和描述當(dāng)前樣本特征的labelsets;
時(shí)間戳(timestamp):一個(gè)精確到毫秒的時(shí)間戳;
樣本值(value): 一個(gè)folat64的浮點(diǎn)型數(shù)據(jù)表示當(dāng)前樣本的值。
如某一時(shí)刻的node_cpu指標(biāo)為459.71
node_cpu{app="node-exporter",cpu="cpu0",instance="192.168.0.4:9100",job="kubernetes-service-endpoints",kubernetes_name="node-exporter",kubernetes_namespace="kube-system",mode="guest"} 459.71
Prometheus定義了4中不同的指標(biāo)類型(metric type):
Counter 計(jì)數(shù)器
計(jì)數(shù)器,只增不減,如http_requests_total請(qǐng)求總數(shù) 例如,通過(guò)rate()函數(shù)獲取HTTP請(qǐng)求量的增長(zhǎng)率: rate(http_requests_total[5m])
Gauge 儀表盤
當(dāng)前狀態(tài),可增可減。如kube_pod_status_ready當(dāng)前pod可用數(shù) 可以獲取樣本在一段時(shí)間返回內(nèi)的變化情況,如: delta(kube_pod_status_ready[2h])
Histogram 直方圖
Histogram 由_bucket{le=" "}, _bucket{le="+Inf"}, _sum, _count 組成,主要用于表示一段時(shí)間范圍內(nèi)對(duì)數(shù)據(jù)進(jìn)行采樣(通常是請(qǐng)求持續(xù)時(shí)間或響應(yīng)大?。⒛軌?qū)ζ渲付▍^(qū)間以及總數(shù)進(jìn)行統(tǒng)計(jì),通常它采集的數(shù)據(jù)展示為直方圖。 例如 Prometheus server 中 prometheus_local_storage_series_chunks_persisted, 表示 Prometheus 中每個(gè)時(shí)序需要存儲(chǔ)的 chunks 數(shù)量,我們可以用它計(jì)算待持久化的數(shù)據(jù)的分位數(shù)。
Summary 摘要
Summary 和 Histogram 類似,由基礎(chǔ)查詢{quantile="<φ>"}, _sum, _count 組成,主要用于表示一段時(shí)間內(nèi)數(shù)據(jù)采樣結(jié)果(通常是請(qǐng)求持續(xù)時(shí)間或響應(yīng)大小),它直接存儲(chǔ)了 quantile 數(shù)據(jù),而不是根據(jù)統(tǒng)計(jì)區(qū)間計(jì)算出來(lái)的。 例如 Prometheus server 中 prometheus_target_interval_length_seconds。 Histogram 需要通過(guò) _bucket 計(jì)算 quantile, 而 Summary 直接存儲(chǔ)了 quantile 的值。
PromQL是Prometheus內(nèi)置的數(shù)據(jù)查詢語(yǔ)言,其提供對(duì)時(shí)間序列數(shù)據(jù)豐富的查詢,聚合以及邏輯運(yùn)算能力的支持。
如http_requests_total指標(biāo)
你可以通過(guò)附加一組標(biāo)簽,并用{}括起來(lái),來(lái)進(jìn)一步篩選這些時(shí)間序列。下面這個(gè)例子只選擇有http_requests_total名稱的、有prometheus工作標(biāo)簽的、有canary組標(biāo)簽的時(shí)間序列:
http_requests_total{job="prometheus",group="canary"}
如果條件為空,可以寫為:http_requests_total{}
另外,也可以也可以將標(biāo)簽值反向匹配,或者對(duì)正則表達(dá)式匹配標(biāo)簽值。如操作符:
=:選擇正好相等的字符串標(biāo)簽 !=:選擇不相等的字符串標(biāo)簽 =~:選擇匹配正則表達(dá)式的標(biāo)簽(或子標(biāo)簽) !=:選擇不匹配正則表達(dá)式的標(biāo)簽(或子標(biāo)簽)范圍查詢
類似http_requests_total{job="prometheus",group="canary"}的方式,得到的是瞬時(shí)值,如果想得到一定范圍內(nèi)的值,可以使用范圍查詢
時(shí)間范圍通過(guò)時(shí)間范圍選擇器[]進(jìn)行定義。例如,通過(guò)以下表達(dá)式可以選擇最近5分鐘內(nèi)的所有樣本數(shù)據(jù),如:http_request_total{}[5m]
除了分鐘,支持的單位有:
s - 秒
m - 分鐘
h - 小時(shí)
d - 天
w - 周
y - 年
偏移查詢如:查詢http_requests_total在當(dāng)前時(shí)刻的一周的速率:
rate(http_requests_total{} offset 1w)
偏移修飾符允許更改查詢中單個(gè)即時(shí)向量和范圍向量的時(shí)間偏移量,例如,以下表達(dá)式返回相對(duì)于當(dāng)前查詢時(shí)間5分鐘前的http_requests_total值:
http_requests_total offset 5m
等價(jià)于
http_requests_total{job="prometheus"}[5m]
請(qǐng)注意,偏移量修飾符始終需要跟隨選擇器,即以下是正確的:
sum(http_requests_total{method="GET"} offset 5m) // GOOD.
下面是錯(cuò)誤的:
sum(http_requests_total{method="GET"}) offset 5m // INVALID.
操作符Prometheus 的查詢語(yǔ)言支持基本的邏輯運(yùn)算和算術(shù)運(yùn)算
加法
減法
乘法
/ 除法
% 模
^ 冪等
運(yùn)算中用到的基礎(chǔ)數(shù)據(jù)類型:
瞬時(shí)向量(Instant vector) - 一組時(shí)間序列,每個(gè)時(shí)間序列包含單個(gè)樣本,它們共享相同的時(shí)間戳。也就是說(shuō),表達(dá)式的返回值中只會(huì)包含該時(shí)間序列中的最新的一個(gè)樣本值。而相應(yīng)的這樣的表達(dá)式稱之為瞬時(shí)向量表達(dá)式。
區(qū)間向量(Range vector) - 一組時(shí)間序列,每個(gè)時(shí)間序列包含一段時(shí)間范圍內(nèi)的樣本數(shù)據(jù)。
標(biāo)量(Scalar) - 一個(gè)浮點(diǎn)型的數(shù)據(jù)值。
字符串(String) - 一個(gè)簡(jiǎn)單的字符串值。
二元運(yùn)算操作符支持 scalar/scalar(標(biāo)量/標(biāo)量)、vector/scalar(向量/標(biāo)量)、和 vector/vector(向量/向量) 之間的操作。
在兩個(gè)標(biāo)量之間進(jìn)行數(shù)學(xué)運(yùn)算,得到的結(jié)果也是標(biāo)量。
例如,如果我們想根據(jù) node_disk_bytes_written 和 node_disk_bytes_read 獲取主機(jī)磁盤IO的總量,可以使用如下表達(dá)式:
`node_disk_bytes_written + node_disk_bytes_read
`
或者node的內(nèi)存數(shù)GB
node_memory_free_bytes_total / (1024 * 1024)
== (相等)
!= (不相等)
(大于)
< (小于)
= (大于等于)
<= (小于等于)
如:獲取http_requests_total請(qǐng)求總數(shù)是否超過(guò)10000,返回0和1,1則報(bào)警
http_requests_total > 10000 # 結(jié)果為 true 或 false http_requests_total > bool 10000 # 結(jié)果為 1 或 0
and (并且)
or (或者)
unless (排除)
四則運(yùn)算有優(yōu)先級(jí),promql的復(fù)雜運(yùn)算也有優(yōu)先級(jí)
例如,查詢主機(jī)的CPU使用率,可以使用表達(dá)式:
100 * (1 - avg (irate(node_cpu{mode="idle"}[5m])) by(job) )
其中irate是PromQL中的內(nèi)置函數(shù),用于計(jì)算區(qū)間向量中時(shí)間序列每秒的即時(shí)增長(zhǎng)率
在PromQL操作符中優(yōu)先級(jí)由高到低依次為:
^
*, /, %
+, -
==, !=, <=, <, >=, >
and, unless
or
與數(shù)據(jù)庫(kù)中的join類似,promsql有兩種典型的匹配查詢:
一對(duì)一(one-to-one)
多對(duì)一(many-to-one)或一對(duì)多(one-to-many)
例如當(dāng)存在樣本:
method_code:http_errors:rate5m{method="get", code="500"} 24 method_code:http_errors:rate5m{method="get", code="404"} 30 method_code:http_errors:rate5m{method="put", code="501"} 3 method_code:http_errors:rate5m{method="post", code="500"} 6 method_code:http_errors:rate5m{method="post", code="404"} 21 method:http_requests:rate5m{method="get"} 600 method:http_requests:rate5m{method="del"} 34 method:http_requests:rate5m{method="post"} 120
使用 PromQL 表達(dá)式:
method_code:http_errors:rate5m{code="500"} / ignoring(code) method:http_requests:rate5m
該表達(dá)式會(huì)返回在過(guò)去 5 分鐘內(nèi),HTTP 請(qǐng)求狀態(tài)碼為 500 的在所有請(qǐng)求中的比例。如果沒(méi)有使用 ignoring(code),操作符兩邊表達(dá)式返回的瞬時(shí)向量中將找不到任何一個(gè)標(biāo)簽完全相同的匹配項(xiàng)。
因此結(jié)果如下:
{method="get"} 0.04 // 24 / 600
{method="post"} 0.05 // 6 / 120
同時(shí)由于 method 為 put 和 del 的樣本找不到匹配項(xiàng),因此不會(huì)出現(xiàn)在結(jié)果當(dāng)中。
多對(duì)一模式
例如,使用表達(dá)式:
method_code:http_errors:rate5m / ignoring(code) group_left method:http_requests:rate5m
該表達(dá)式中,左向量 method_code:http_errors:rate5m 包含兩個(gè)標(biāo)簽 method 和 code。而右向量 method:http_requests:rate5m 中只包含一個(gè)標(biāo)簽 method,因此匹配時(shí)需要使用 ignoring 限定匹配的標(biāo)簽為 code。
在限定匹配標(biāo)簽后,右向量中的元素可能匹配到多個(gè)左向量中的元素 因此該表達(dá)式的匹配模式為多對(duì)一,需要使用 group 修飾符 group_left 指定左向量具有更好的基數(shù)。
最終的運(yùn)算結(jié)果如下:
{method="get", code="500"} 0.04 // 24 / 600
{method="get", code="404"} 0.05 // 30 / 600
{method="post", code="500"} 0.05 // 6 / 120
{method="post", code="404"} 0.175 // 21 / 120
提醒:group 修飾符只能在比較和數(shù)學(xué)運(yùn)算符中使用。在邏輯運(yùn)算 and,unless 和 or 操作中默認(rèn)與右向量中的所有元素進(jìn)行匹配。聚合操作
Prometheus 還提供了下列內(nèi)置的聚合操作符,這些操作符作用域瞬時(shí)向量。可以將瞬時(shí)表達(dá)式返回的樣本數(shù)據(jù)進(jìn)行聚合,形成一個(gè)具有較少樣本值的新的時(shí)間序列。
sum (求和)
min (最小值)
max (最大值)
avg (平均值)
stddev (標(biāo)準(zhǔn)差)
stdvar (標(biāo)準(zhǔn)差異)
count (計(jì)數(shù))
count_values (對(duì) value 進(jìn)行計(jì)數(shù))
bottomk (樣本值最小的 k 個(gè)元素)
topk (樣本值最大的k個(gè)元素)
quantile (分布統(tǒng)計(jì))
這些操作符被用于聚合所有標(biāo)簽維度,或者通過(guò) without 或者 by 子語(yǔ)句來(lái)保留不同的維度。
without 用于從計(jì)算結(jié)果中移除列舉的標(biāo)簽,而保留其它標(biāo)簽。
by 則正好相反,結(jié)果向量中只保留列出的標(biāo)簽,其余標(biāo)簽則移除。
通過(guò) without 和 by 可以按照樣本的問(wèn)題對(duì)數(shù)據(jù)進(jìn)行聚合。
例如:
如果指標(biāo) http_requests_total 的時(shí)間序列的標(biāo)簽集為 application, instance, 和 group,我們可以通過(guò)以下方式計(jì)算所有 instance 中每個(gè) application 和 group 的請(qǐng)求總量:
sum(http_requests_total) without (instance)
等價(jià)于
`
sum(http_requests_total) by (application, group)
`
如果只需要計(jì)算整個(gè)應(yīng)用的 HTTP 請(qǐng)求總量,可以直接使用表達(dá)式:
`sum(http_requests_total)
`
count_values 用于時(shí)間序列中每一個(gè)樣本值出現(xiàn)的次數(shù)。count_values 會(huì)為每一個(gè)唯一的樣本值輸出一個(gè)時(shí)間序列,并且每一個(gè)時(shí)間序列包含一個(gè)額外的標(biāo)簽。
這個(gè)標(biāo)簽的名字由聚合參數(shù)指定,同時(shí)這個(gè)標(biāo)簽值是唯一的樣本值。
例如要計(jì)算運(yùn)行每個(gè)構(gòu)建版本的二進(jìn)制文件的數(shù)量:
count_values("version", build_version) 返回結(jié)果如下: {count="641"} 1 {count="3226"} 2 {count="644"} 4
topk 和 bottomk
則用于對(duì)樣本值進(jìn)行排序,返回當(dāng)前樣本值前 n 位,或者后 n 位的時(shí)間序列。
獲取 HTTP 請(qǐng)求數(shù)前 5 位的時(shí)序樣本數(shù)據(jù),可以使用表達(dá)式:
topk(5, http_requests_total)
quantile 用于計(jì)算當(dāng)前樣本數(shù)據(jù)值的分布情況 quantile(φ, express) ,其中 0 ≤ φ ≤ 1
例如,當(dāng) φ 為 0.5 時(shí),即表示找到當(dāng)前樣本數(shù)據(jù)中的中位數(shù): quantile(0.5, http_requests_total) 返回結(jié)果如下: {} 656內(nèi)置函數(shù)
Prometheus 提供了其它大量的內(nèi)置函數(shù),可以對(duì)時(shí)序數(shù)據(jù)進(jìn)行豐富的處理。如上文提到的irate
100 * (1 - avg (irate(node_cpu{mode="idle"}[5m])) by(job) )
常用的有:
兩分鐘內(nèi)的平均CPU使用率:
rate(node_cpu[2m])
和
irate(node_cpu[2m])
需要注意的是使用rate或者increase函數(shù)去計(jì)算樣本的平均增長(zhǎng)速率,容易陷入“長(zhǎng)尾問(wèn)題”當(dāng)中, 其無(wú)法反應(yīng)在時(shí)間窗口內(nèi)樣本數(shù)據(jù)的突發(fā)變化。 例如,對(duì)于主機(jī)而言在2分鐘的時(shí)間窗口內(nèi),可能在某一個(gè)由于訪問(wèn)量或者其它問(wèn)題導(dǎo)致CPU占用100%的情況, 但是通過(guò)計(jì)算在時(shí)間窗口內(nèi)的平均增長(zhǎng)率卻無(wú)法反應(yīng)出該問(wèn)題。 為了解決該問(wèn)題,PromQL提供了另外一個(gè)靈敏度更高的函數(shù)irate(v range-vector)。 irate同樣用于計(jì)算區(qū)間向量的計(jì)算率,但是其反應(yīng)出的是瞬時(shí)增長(zhǎng)率。 irate函數(shù)是通過(guò)區(qū)間向量中最后兩個(gè)兩本數(shù)據(jù)來(lái)計(jì)算區(qū)間向量的增長(zhǎng)速率。 這種方式可以避免在時(shí)間窗口范圍內(nèi)的“長(zhǎng)尾問(wèn)題”,并且體現(xiàn)出更好的靈敏度,通過(guò)irate函數(shù)繪制的圖標(biāo)能夠更好的反應(yīng)樣本數(shù)據(jù)的瞬時(shí)變化狀態(tài)。
irate函數(shù)相比于rate函數(shù)提供了更高的靈敏度,不過(guò)當(dāng)需要分析長(zhǎng)期趨勢(shì)或者在告警規(guī)則中,irate的這種靈敏度反而容易造成干擾。
因此在長(zhǎng)期趨勢(shì)分析或者告警中更推薦使用rate函數(shù)。
完整的函數(shù)列表為:
abs()
absent()
ceil()
changes()
clamp_max()
clamp_min()
day_of_month()
day_of_week()
days_in_month()
delta()
deriv()
exp()
floor()
histogram_quantile()
holt_winters()
hour()
idelta()
increase()
irate()
label_join()
label_replace()
ln()
log2()
log10()
minute()
month()
predict_linear()
rate()
resets()
round()
scalar()
sort()
sort_desc()
sqrt()
time()
timestamp()
vector()
year()
Prometheus當(dāng)前穩(wěn)定的HTTP API可以通過(guò)/api/v1訪問(wèn)
錯(cuò)誤狀態(tài)碼:
404 Bad Request:當(dāng)參數(shù)錯(cuò)誤或者缺失時(shí)。
422 Unprocessable Entity 當(dāng)表達(dá)式無(wú)法執(zhí)行時(shí)。
503 Service Unavailiable 當(dāng)請(qǐng)求超時(shí)或者被中斷時(shí)。
所有的API請(qǐng)求均使用以下的JSON格式:
{ "status": "success" | "error", "data": , // 為error時(shí),有如下報(bào)錯(cuò)信息 "errorType": "", "error": " " }
通過(guò)HTTP API我們可以分別通過(guò)/api/v1/query和/api/v1/query_range查詢PromQL表達(dá)式當(dāng)前或者一定時(shí)間范圍內(nèi)的計(jì)算結(jié)果。
URL請(qǐng)求參數(shù):
query=:PromQL表達(dá)式。
time=:用于指定用于計(jì)算PromQL的時(shí)間戳??蛇x參數(shù),默認(rèn)情況下使用當(dāng)前系統(tǒng)時(shí)間。
timeout=:超時(shí)設(shè)置??蛇x參數(shù),默認(rèn)情況下使用-query,timeout的全局設(shè)置。
$ curl "http://localhost:9090/api/v1/query?query=up&time=2015-07-01T20:10:51.781Z"
返回:
{ "status" : "success", "data" : { "resultType" : "vector", "result" : [ { "metric" : { "__name__" : "up", "job" : "prometheus", "instance" : "localhost:9090" }, "value": [ 1435781451.781, "1" ] }, { "metric" : { "__name__" : "up", "job" : "node", "instance" : "localhost:9100" }, "value" : [ 1435781451.781, "0" ] } ] } }
URL請(qǐng)求參數(shù):
query=: PromQL表達(dá)式。
start=: 起始時(shí)間。
end=: 結(jié)束時(shí)間。
step=: 查詢步長(zhǎng)。
timeout=: 超時(shí)設(shè)置。可選參數(shù),默認(rèn)情況下使用-query,timeout的全局設(shè)置。
$ curl "http://localhost:9090/api/v1/query_range?query=up&start=2015-07-01T20:10:30.781Z&end=2015-07-01T20:11:00.781Z&step=15s"
返回:
{ "status" : "success", "data" : { "resultType" : "matrix", "result" : [ { "metric" : { "__name__" : "up", "job" : "prometheus", "instance" : "localhost:9090" }, "values" : [ [ 1435781430.781, "1" ], [ 1435781445.781, "1" ], [ 1435781460.781, "1" ] ] }, { "metric" : { "__name__" : "up", "job" : "node", "instance" : "localhost:9091" }, "values" : [ [ 1435781430.781, "0" ], [ 1435781445.781, "0" ], [ 1435781460.781, "1" ] ] } ] } }
本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn):container-monitor-book
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/32895.html
摘要:獲取請(qǐng)求數(shù)前位的時(shí)序樣本數(shù)據(jù),可以使用表達(dá)式用于計(jì)算當(dāng)前樣本數(shù)據(jù)值的分布情況,其中例如,當(dāng)為時(shí),即表示找到當(dāng)前樣本數(shù)據(jù)中的中位數(shù)返回結(jié)果如下內(nèi)置函數(shù)提供了其它大量的內(nèi)置函數(shù),可以對(duì)時(shí)序數(shù)據(jù)進(jìn)行豐富的處理。 一. 概述 Prometheus除了存儲(chǔ)數(shù)據(jù)外,還提供了一種強(qiáng)大的功能表達(dá)式語(yǔ)言 PromQL,允許用戶實(shí)時(shí)選擇和匯聚時(shí)間序列數(shù)據(jù)。 表達(dá)式的結(jié)果可以在瀏覽器中顯示為圖形,也可以顯示...
摘要:根據(jù)配置文件,對(duì)接收到的警報(bào)進(jìn)行處理,發(fā)出告警。在默認(rèn)情況下,用戶只需要部署多套,采集相同的即可實(shí)現(xiàn)基本的。通過(guò)將監(jiān)控與數(shù)據(jù)分離,能夠更好地進(jìn)行彈性擴(kuò)展。參考文檔本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn) 系統(tǒng)架構(gòu)圖 1.x版本的Prometheus的架構(gòu)圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...
摘要:根據(jù)配置文件,對(duì)接收到的警報(bào)進(jìn)行處理,發(fā)出告警。在默認(rèn)情況下,用戶只需要部署多套,采集相同的即可實(shí)現(xiàn)基本的。通過(guò)將監(jiān)控與數(shù)據(jù)分離,能夠更好地進(jìn)行彈性擴(kuò)展。參考文檔本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見(jiàn) 系統(tǒng)架構(gòu)圖 1.x版本的Prometheus的架構(gòu)圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...
摘要:本文將分享是為何以及如何開發(fā)出最佳實(shí)踐方法來(lái)使用在中監(jiān)控應(yīng)用程序的。什么是監(jiān)控最近有很多關(guān)于的消息,尤其是在中監(jiān)控應(yīng)用程序這方面。方法遵循中提及的原則,聚焦于檢測(cè)最終用戶在使用服務(wù)時(shí)關(guān)心的東西。 本文來(lái)自Weaveworks的工程師Anita Burhrle在Rancher Labs與Weaveworks聯(lián)合舉辦的Online Meetup上的技術(shù)分享。在此次分享中,嘉賓們討論了如何使...
摘要:擁有活躍的社區(qū),在上獲得的數(shù)超過(guò)了萬(wàn),符合網(wǎng)易云的選擇。當(dāng)然,也有一些不足,比如不能用于日志監(jiān)控分布式追蹤等范圍,所以網(wǎng)易云也做了很多設(shè)計(jì)和優(yōu)化。 分享網(wǎng)易云輕舟微服務(wù)選擇基于 Prometheus 開發(fā)微服務(wù)監(jiān)控系統(tǒng)的考量: 開源 云原生 與微服務(wù)監(jiān)控需求的匹配度很高 開源 Prometheus是CNCF(云原生計(jì)算基金會(huì))旗下成熟的開源項(xiàng)目,而開源技術(shù)棧是網(wǎng)易云堅(jiān)定不移的選擇,不僅...
閱讀 3107·2021-02-22 17:12
閱讀 728·2019-08-30 15:55
閱讀 3106·2019-08-30 15:54
閱讀 1398·2019-08-29 16:56
閱讀 1869·2019-08-29 15:13
閱讀 1730·2019-08-29 13:19
閱讀 610·2019-08-26 13:40
閱讀 2829·2019-08-26 10:26