腾讯云 CLS 查询 (商业版)

夜莺( Nightingale )腾讯云 CLS 日志告警规则

在告警规则—> 选择 log 数据源 —> 配置查询语句和提取值 ValueKey —> 选择简单模式设置指定时间内 ValueKey 的阈值即可。

cls001

配置场景一:查询代理日志中状态码为200和301的日志数量,如果查询结果大于10且小于15报警。

查询语句就是上面介绍的查询语法status:403 OR status:402 | SELECT status AS status,count(*) AS count GROUP BY status,这里是以查询值结果进行条件判断,所以在条件判断时使用了$A > 10$A < 15

cls002

配置场景二:配置不同的指标进行结果判断,status:200值大于100且status:301值大于1触发报警。

为了实现不同的语句值联合判断,需要填写两个不同的查询分析语句,将值取出进行判断,判断条件分别使用提取值$A$B进行比较运算。

注意:与PromQL一样,如果数据标签不一致查询分析语句会被视为两条不同的曲线,无法进行比较运算.

cls003

常见问题

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 分钟(除非告警紧急)。

参考资料

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云