感觉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/