腾讯云 CLS 查询 (商业版)
夜莺( Nightingale )腾讯云 CLS 日志告警规则
在告警规则—> 选择 log 数据源 —> 配置查询语句和提取值 ValueKey —> 选择简单模式设置指定时间内 ValueKey 的阈值即可。

配置场景一:查询代理日志中状态码为200和301的日志数量,如果查询结果大于10且小于15报警。
查询语句就是上面介绍的查询语法status:403 OR status:402 | SELECT status AS status,count(*) AS count GROUP BY status,这里是以查询值结果进行条件判断,所以在条件判断时使用了$A > 10且$A < 15。

配置场景二:配置不同的指标进行结果判断,status:200值大于100且status:301值大于1触发报警。
为了实现不同的语句值联合判断,需要填写两个不同的查询分析语句,将值取出进行判断,判断条件分别使用提取值$A和$B进行比较运算。
注意:与PromQL一样,如果数据标签不一致查询分析语句会被视为两条不同的曲线,无法进行比较运算.

常见问题
Q1:CLS 告警查询和直接在 CLS 控制台搜有什么差异?
A:查询语法一致(同一套 CLS SQL/Lucene 语法)。但告警查询是周期性执行,注意:
- CLS 高频查询有 API 调用配额限制 — 评估告警执行频率;
- 查询返回数据量大时影响性能 — 用
LIMIT控制返回行数。
Q2:告警阈值怎么基于 CLS 查询写?
A:典型场景:
- 日志条数:CLS SQL
SELECT count(*),n9e 表达式$A.cnt > 100; - 错误率:
SELECT count_if(level='ERROR') / count(*) AS err_ratio,表达式$A.err_ratio > 0.05。
Q3:CLS 跨多个 Logset / Topic 查询?
A:单个数据源指向一个 Logset,跨 Logset 需要建多个数据源 + 在告警里分别配查询。或者把多个 Logset 的数据投递到同一个用作"聚合分析"。
Q4:网络成本怎么控?
A:
- 内网部署:n9e 在腾讯云内网时,CLS 数据源用
*.tencentcs.com内网域名; - 查询时间范围:默认查最近周期,别全表扫;
- 延长执行频率:告警规则的"执行频率"从默认 15s 调到 1-3 分钟(除非告警紧急)。