 PromQL 从入门到精通的一个常见用法,比如我们使用 kube-state- metrics 来采集 Kubernetes 各个对象的指标数据,其中针对 pod 有个指标是 kube_pod_labels,会把 pod 的一些信息放到这个指标的标签里,指标值是1,相当于一个元信 息,比如: kube_pod_labels{ [...] label_name="frontdoor", label_version="1 namespace="default", pod="frontdoor-xxxxxxxxx-xxxxxx", } = 1 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 假设某个 Pod 是接入层的,统计了很多 HTTP 请求相关的指标,我们想统计 的请求数量, 希望能按 Pod 的 version 画一个饼图。这里有个难点:接入层这个 Pod 没有 version 标签, version 信息只是出现在 kube_pod_labels 中,如何让二者联动呢?上答案: sum( rate(http_request_count{code=~"^(?:5..)$"}[5m])) by (pod) * on (pod) group_left(label_version)0 码力 | 16 页 | 2.77 MB | 1 年前3 PromQL 从入门到精通的一个常见用法,比如我们使用 kube-state- metrics 来采集 Kubernetes 各个对象的指标数据,其中针对 pod 有个指标是 kube_pod_labels,会把 pod 的一些信息放到这个指标的标签里,指标值是1,相当于一个元信 息,比如: kube_pod_labels{ [...] label_name="frontdoor", label_version="1 namespace="default", pod="frontdoor-xxxxxxxxx-xxxxxx", } = 1 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 假设某个 Pod 是接入层的,统计了很多 HTTP 请求相关的指标,我们想统计 的请求数量, 希望能按 Pod 的 version 画一个饼图。这里有个难点:接入层这个 Pod 没有 version 标签, version 信息只是出现在 kube_pod_labels 中,如何让二者联动呢?上答案: sum( rate(http_request_count{code=~"^(?:5..)$"}[5m])) by (pod) * on (pod) group_left(label_version)0 码力 | 16 页 | 2.77 MB | 1 年前3
 B站统⼀监控系统的设计,演进
与实践分享? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard C targets hash • horizontal sharding (实验性质使⽤用) • prometheus 2.0 (tsdb) HA prometheus server1 server2 server3 prometheus0 码力 | 34 页 | 650.25 KB | 1 年前3 B站统⼀监控系统的设计,演进
与实践分享? 性能问题 • 本地ssd prometheus Shard A prometheus Shard B prometheus Shard C targets hash • horizontal sharding (实验性质使⽤用) • prometheus 2.0 (tsdb) HA prometheus server1 server2 server3 prometheus0 码力 | 34 页 | 650.25 KB | 1 年前3
共 2 条
- 1













