关于启用Metrics Snapshotter时system.metrics表不存在错误的咨询
YugabyteDB metrics snapshotter 启用后缺失system.metrics表问题
我们近期在主节点(masters)和tserver节点上通过以下GFlags启用了metrics snapshotter:
master_enable_metrics_snapshotter tserver_enable_metrics_snapshotter
启用后,日志中出现关于YCQL系统键空间缺失system.metrics表的警告:
W0505 07:00:22.391158 3996485 client-internal.cc:1583] GetTableSchemaRpc(table_identifier: table_name: "metrics" namespace { name: "system" database_type: YQL_DATABASE_CQL }, num_attempts: 1) failed: Not found (yb/master/catalog_manager.cc:5552): Table system.metrics not found: OBJECT_NOT_FOUND (master error 3) W0505 07:00:22.391261 3996486 metrics_snapshotter.cc:665] P ef86ce7868424b22bcd85d454913371f: Failed to snapshot metrics, code=Not found (yb/master/catalog_manager.cc:5552): Table system.metrics not found: OBJECT_NOT_FOUND (master error 3)
现确认以下问题:
- 在2024.2.2.1版本中,这是已知问题还是预期行为?
- 是否需要额外配置以确保
system.metrics表被创建?
解答
版本相关问题定性
在YugabyteDB 2024.2.2.1版本中,启用metrics snapshotter后出现system.metrics表缺失的警告属于已知问题,并非预期行为。该问题是由于metrics snapshotter的初始化逻辑未自动触发目标表的创建流程,导致组件尝试写入指标数据时找不到对应表。表创建操作说明
无需额外配置,只需手动通过YCQL客户端创建system.metrics表即可解决。执行以下DDL语句:
CREATE TABLE IF NOT EXISTS system.metrics ( entity_id text, metric_name text, timestamp timestamp, labels map<text, text>, value double, PRIMARY KEY ((entity_id, metric_name), timestamp) ) WITH CLUSTERING ORDER BY (timestamp DESC) AND default_time_to_live = 86400; -- 可根据监控数据保留需求调整TTL时长
创建完成后,metrics snapshotter即可正常写入指标,相关警告会停止出现。
内容的提问来源于stack exchange,提问作者dh YB
相关产品推荐
相关产品推荐

