感觉labe value过滤考虑的情况比较少
private static final Pattern UNALLOWED_CHAR_PATTERN = 
Pattern.compile("[^a-zA-Z0-9:]");

只允许数字、字母及冒号,其实自定义label的场景下,带/的情况也有【比如文件路径】、带.的情况也有【主机IP】
| |
MOBIN
|
签名由网易邮箱大师定制


在2021年05月11日 15:04,Tony Wei<tony19920...@gmail.com> 写道:
Hi,

1、是否是这种方式增加label

是的,MetricGroup#addGroup(key, value) 的設計其中一個目的就是為了支援 prometheus 的 label 。


2、由于采用了add group的方式,导致exp对应的值里面的 ‘.’ 变成了下划线,是否有办法保持为'.'

可以透過配置 filterLabelValueCharacters: false 來關閉過濾功能 [1],但使用者需要自行確保不會有非法字元混入
label value 之中。詳細可參考文檔說明。

[1]
https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/metric_reporters/#prometheus
<https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/metric_reporters/#prometheus>

best regards,

suisuimu <726400...@qq.com> 於 2021年5月10日 週一 下午6:32寫道:

基于RichMapFunction自定义Prometheus metric时增加label
```
counter = this.metricGroup
.addGroup("app", value.getAppName())
.addGroup("exp", value.getExceptionName())
.counter("myExpCounter");
```
通过add group可以在metric中看到label信息
flink_taskmanager_job_task_operator_app_exp_myExpCounter{app="aaaa",endpoint="pushgateway",exp="java_io_IOException",flink_namespace="xxx",host="11_7_9_11",job="xxx",job_id="xxx",job_name="custom_log",namespace="monitoring",operator_id="cf155f65686cb012844f7c745ec70a3c",operator_name="Map",pod="pushgateway-c7648cd5c-tvfb9",service="pushgateway",subtask_index="0",task_attempt_id="7d6fd088c0628eb564753939978086eb",task_attempt_num="0",task_id="cbc357ccb763df2852fee8c4fc7d55f2",task_name="Source:_Custom_Source____Map____Process____Map____Sink:_Print_to_Std__Out",tm_id="10_7_9_71:6122_96edca"}

想问下:
1、是否是这种方式增加label
2、由于采用了add group的方式,导致exp对应的值里面的 ‘.’ 变成了下划线,是否有办法保持为'.'



--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复