Prometheus label_replace()的使用

例:

prometheus 采集到的数据是:

http_server_response_count{app_id="test-app-1",method="GET",path="/invoke/service-id-test/method/hello",namespace="my-namespace",status="200"} 1314

 

label_replace的格式

label_replace(v instant-vector, dst_label string, replacement string, src_label string, regex string)

 

如计算最近5分钟内测得的HTTP请求的每秒速率,使用label_replace()替换:

label_replace((rate(http_server_response_count{app_id=~"$app_id", namespace="$namespace"}[5m])), "path_replace","$1","path",".*/method/(.*)")

如上语句将path 替换成了path_replace, $1的值为正则表达式中 .*/method/(.*) 的 (.*) 中的值,本例中为hello

 

注:

如果path的数据不符合正则表达式的格式,则$1即替换后的path_replace为空串

参考链接:

https://prometheus.io/docs/prometheus/latest/querying/functions/#label_replace

https://www.zhukun.net/archives/8376

你可能感兴趣的:(APM,apm)