实例限制
说明
时间序列(时间线,Series)含义:由指标名和标签组成。相同的指标名和标签在时间序列中构成唯一的一条时间线。
自定义上报限制
上报时必须有指标名,即
__name__
标签,指标名必须符合规范,只支持英文字母开头,可包含 ASCII 字符、数字、下划线以及冒号,并必须符合正则表达式 [a-zA-Z_:][a-zA-Z0-9_:]*
,参见 Prometheus 官方文档 。每个指标最多32个标签。
标签名必须符合规范,可包含 ASCII 字符、数字、下划线,并必须符合正则表达式
[a-Za-Z_][a-Za-Z0-9_]*
。标签名称开头为__
仅供内部使用。标签长度:标签名为1024字符,标签值名为 2048 字符。
同一个指标下,和标签的维度组合不能超过10万( 在 histogram 有较多 bucket 的情况下,histogram 类型的指标不支持调整)。
每秒上报的数据点总量限制:付费实例不能超过300000,免费试用实例不能超过100000。
说明
标签的作用:Prometheus 中存储的数据为时间序列,是由指标名和一系列的标签(键值对)唯一标识的,不同的标签代表不同的时间序列,即通过指定标签查询指定数据。添加的标签越多,查询的维度越细。
Prometheus 查询限制
为了保证查询效率及更好的用户体验,Prometheus 查询有如下限制(不包含对元数据,例如:labels 相关的查询,但不影响 Grafana Metrics browser 功能)。
单个查询涉及的 time series 不能超过100000。
单个查询涉及的数据量不能超过100MB。
对于查询频次没有限制,但是如果并发量超过 15 可能会有一定的排队延时(较多较慢的大查询可能会出现,一般情况不会出现。时间跨度超过两周的大查询出现延时的概率会相应升高)。
以上限制对告警规则和预聚合规则同样有效,建议根据业务场景来限制查询范围或者其他方式对大查询进行适当拆分,也可以采用先拆分后聚合的方式,例如对预聚合后的结果再次进行聚合。
告警与预聚合限制
告警相关的限制:
单实例告警规则上限:150。
单实例总告警数量上限:2000(超出则直接丢弃)。
单实例所有告警的标签、Annotation 等字段总的大小上限:20MiB(超出则直接丢弃)。
预聚合相关的限制:
单实例预聚合规则上限:150。
单预聚合规则分组中的预聚合规则上限:35。