问数平台上线后,怎么知道它没乱来、答得准、还没碰业务表
园区把数智安全问数平台叠在智慧园区系统外面只读不写。智慧园区系统照常管业务发生往原业务表写数据。问数平台只在外面接自然语言问数出结论、出图、出明细、出来源从不回写。叠上去容易养住难。上线头一个月大家不太问能不能问更常问的是它会不会哪天写坏业务表、它答错了怎么发现。这篇从一个值班工程师的视角写清楚我们怎么看护它。先定红线再谈看护只读不是一句口号。我们在问数层前面放了行列级权限闸门账号本身只有 SELECT这件事之前写过 ADR。光有权限还不够还得有人盯着三件事它答得准不准、答得快不快、有没有人试图越权。要看的三类指标准不准看可核对率和人工抽检偏差率。每条回答都带来源记清楚哪张表、哪几列、哪个时间窗。我们按月抽百分之五让业务方复核偏差率压到百分之一以下。快不快看 P95、P99 延迟和超时率。问数走的是只读副本不挤占业务库。P99 超过三秒就算异常。有没有人越权试探看审计日志里的越权拦截次数。闸门默认拒绝任何不在白名单里的行列访问都会被拦下并记一笔。告警怎么设告警不能只看成功率。我们踩过坑某天成功率百分之九十九点九其实大量问题被悄悄降级成了答不上来降级率从百分之二飙到百分之三十没人发现。所以告警至少盯四条线。延迟 P99 连续五分钟超过三秒降级率环比涨过十个百分点越权拦截次数突增可能是有人在探边界只读副本连接异常或主从延迟过大出事怎么处置红线不动业务表真出问题时处置顺序固定。先切到只读副本的兜底快照再查是哪一类问法触发最后决定加改写规则还是临时关某类问法。全程不回写、不改业务表。为什么敢这么干问数账号根本没有写权限物理上写不进去。看护动作再快也快不过这条底线。审计日志本身也是可核对的证据我们落了一张 qa_audit_log记谁、什么时间、问了什么、命中哪张源表、返回哪几列、是否降级。这张表有两个用处平时排查越权事后对账。它自己也是只读问数的来源之一你想核对上周财务问的那笔空置率到底查的哪张表直接问平台就能调出来。sql-- 审计日志落库 CREATE TABLE qa_audit_log ( id BIGINT PRIMARY KEY AUTO_INCREMENT, tenant_id VARCHAR(32) NOT NULL, user_id VARCHAR(64) NOT NULL, question TEXT NOT NULL, hit_tables JSON NOT NULL, return_cols JSON NOT NULL, degraded TINYINT NOT NULL DEFAULT 0, cost_ms INT NOT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, INDEX idx_user (tenant_id, user_id, created_at), INDEX idx_degraded (tenant_id, degraded, created_at) ) COMMENT 问数平台审计日志只读账号写入业务表不在此列;sql-- 从审计日志算三类看护指标 SELECT DATE(created_at) AS day, COUNT(*) AS total, SUM(degraded) / COUNT(*) AS degrade_rate, AVG(cost_ms) AS avg_ms, MAX(cost_ms) AS p99_ms FROM qa_audit_log WHERE tenant_id park_a AND created_at DATE_SUB(NOW(), INTERVAL 7 DAY) GROUP BY DATE(created_at);yaml# 告警规则只盯异常不盯正常 alerts: p99_latency: metric: qa_p99_ms threshold: 3000 for: 5m severity: warning degrade_rate_jump: metric: qa_degrade_rate delta_pct: 10 window: 1h severity: critical deny_spike: metric: qa_deny_count jump: 3x window: 10m severity: critical replica_lag: metric: ro_replica_lag_sec threshold: 5 severity: warning踩过的坑坑现象解法只看成功率降级在偷偷兜底成功率看着满其实底下是虚的把降级率拉进告警主指标审计没接全越权说不清复盘没凭据所有问答强制落 qa_audit_log阈值太低半夜被叫醒三次都是抖动延迟加 for 5m跳变加环比业务库被挤问数高峰拖慢缴费问数全走只读副本物理隔离落点一个管发生智慧园区系统业务表照常写。一个管看懂问数平台只读问数出结论加图加明细加来源。俩不抢活。看护动作存在的意义就是让它始终只读、始终可核对让业务方敢问、放心问。