跳到主要内容
版本:0.4.x

监控集群

常见的监控指标

Prometheus 监控指标:

引擎在 HTTP 接口 /metrics 路径下吐出监控项,默认端口 8123,可以直接访问对应端口输出。

可通过 kubectl 查看对应的 metric 输出

kubectl port-forward -n cnch cnch-default-server-0 8123:8123
# 用port-forward功能代理端口

之后可以用浏览器打开 localhost:8123/metrics ,可查看到如下图所示的指标显示。每一行对应一个具体指标项,符合 Prometheus 约定的指标格式。

VictoriaMetric 指标聚合:

对指标的存储选择 VictoriaMetric,方便进行存储的横向扩展和提供更丰富的功能。其中重要的功能是 VMRule,可对原始指标进行聚合。因各组件吐出的原始 Prometheus 指标其中一部分可以直接使用来构建监控告警,另一部分比较复杂,不容易直接构建监控看板和告警,所以通过 VWRule 进行聚合。

具体配置规则参考文件 cnch-metrics.yaml,可通过kubectl执行配置生效:

kubctl apply -f cnch-metrics.yaml # 配置对应rule

监控服务节点(Server)

一些重要指标

指标名(其中带双引号的是经过 VM 聚合的)说明
cnch:latency:queries_cluster:pct95 cnch:latency:queries_cluster:pct99查询延迟 pct99 和 pct55
cnch:latency:queries_cluster:slow_ratio大于 10s 的慢查询占比
cnch:profile_events:labelled_query_vw:total_rate5m所有 VW 的总 QPS。
cnch:profile_events:labelled_query_vw:error_rate5m所有 VW 失败的 QPS。
cnch_current_metrics_query其中的 label 名 query_type 值为 insert 是写入的 query

配置 Server的 Grafana 看板

看板重点内容说明:

看板名表达式说明
Queries Ducationscnch:latency:queries_cluster:pct95{namespace="$namespace", cluster="$cluster"}和cnch:latency:queries_cluster:pct99{namespace="$namespace", cluster="$cluster"}查询延迟的 P99 和 P95 值。
Slow Queries > 10scnch:latency:queries_cluster:slow_ratio{namespace="$namespace", cluster="$cluster"}大于 10s 的慢查询占比
Queries Per Secondsum(cnch:profile_events:labelled_query_vw:total_rate5m{namespace="$namespace", cluster="$cluster", workload=~"$workload"})所有 VW 的总 QPS。
VW Queries Success1 - (sum by (pod) (cnch:profile_events:labelled_query_vw:error_rate5m{cluster="$cluster", namespace="$namespace", workload=~"$workload", pod=~"$pod"}) sum by (pod) (cnch:profile_events:labelled_query_vw:total_rate5m{cluster="$cluster", namespace="$namespace", workload=~"$workload", pod=~"$pod"}))使用 error_rate5m 和 total_rate5m 相减和除后,得到成功率

Server 的完整 Grafana 配置文件如下,可在 Grafana 的 UI 导入:cnch-server.json

监控 TSO

重要指标

下面摘录对 TSO 比较重要的指标,进行说明:

指标名说明
cnch:tso:requests:error_rate5mTSO 组件的失败 QPS
cnch:tso:requests:total_rate5mTSO 组件的总 QPS

配置TSO 的Grafana 看板

其中重要的指标说明:

看板名表达式说明
TSO Server Requests Per Seccnch:tso:requests:total_rate5m{namespace="$namespace", cluster="$cluster", workload=~".*server.*"}Server 组件对 TSO 查询的的 QPS
TSO Worker Requests Per Seccnch:tso:requests:total_rate5m{namespace="$namespace", cluster="$cluster", workload!~".*(server\|**kafka**).*"}去除 server 和 kafka,只看各 worker 对 TSO 的请求 QPS
TSO Servers Requests Server Ratecnch:tso:requests:error_rate5m{namespace="$namespace", cluster="$cluster", workload=~".*server.*"} cnch:tso:requests:total_rate5m{namespace="$namespace", cluster="$cluster", workload=~".*server.*"}用 error_rate 和 total_rate 相除,过滤出 TSO 查询的失败率

TSO 完整的配置文件如下:cnch-tso.json

其他可以监控的信息

其他常用的监控看板配置此处列出,不再一一截图

Cluster Overview: 整个集群概览 cnch-cluster.json

VW: 各计算组 Virtual Warehouse 的详情 cnch-vw.json

DaemonManager: 管理 Merge 等后台任务的组件 cnch-daemonmanager.json