夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

ES日志监控(专业版)

日志分析-即时查询

在选择关联数据源后,可能你第一个遇到的疑问是关于 “index patterns” 和 “indices” 的异同。下面是这两者的简要解释:

  1. Index Patterns(索引模式)是用于匹配单个条件的索引模式规则;而 Indices(索引)是用于匹配多个条件并集的索引。 20230720194408

  2. 在使用 Index Patterns 时,需要提前在索引模式列表中进行配置,以指定索引的内容和日期字段;而在使用 Indices 时,可以根据需要直接输入索引的内容。 20230720194807

  3. Index Patterns 的索引模式还可以设置字段别名,对时间类型设置自定义格式。 20230720194941

  4. Indices 输入索引的内容支持多种配置方式,以下是一些有效的语法示例:

    • 指定单个索引进行完整匹配:例如,gb 将在 gb 索引中搜索所有文档。
    • 指定多个表达式并用逗号分隔:例如,gb,us 将在 gb 和 us 索引中搜索所有文档。
    • 使用索引前缀和通配符进行模糊匹配:例如,g*,u* 将在以 g 或 u 开头的所有索引中搜索。

20230720195036

查询条件中的过滤条件语法,可以使用 Elasticsearch 的 Query DSL 中的查询语法,支持字段值(field names)、通配符、正则表达式、模糊匹配等。具体语法细节可以参考 Elasticsearch 的 API 文档

告警管理-告警规则

夜莺专业版提供了 ES日志告警的能力,如果你们有针对日志告警的需求,欢迎联系我们,沟通试用。

在告警规则配置中,日志类型和常规的指标告警规则非常相似,其唯一的区别在于告警条件的设置。指标告警规则使用 PromQL 作为查询条件,而日志类型的告警规则则使用布尔表达式作为查询条件。这些告警条件(如 A、B 等)需要通过查询统计来获取。

在配置查询统计时,会发现它和ES日志即时查询类似,但还有两个额外的数据字段组:数值提取Group By20230720195249

为了获得数值类型的结果,需要使用数值提取,选择适当的统计函数。除了常见的 count、sum、avg、min、max 等函数外,还支持一些百分位值函数,如 p90、p95、p99。

此外,通过配置 Group By,可以根据特定字段对结果进行分组。这将生成多个时间序列,并在满足告警条件的情况下产生多个异常点,从而生成多条告警事件。

例子1:HTTP CODE 为4xx的告警条件

说明:在每10分钟的时间段内,检查日志中的 message 字段。如果4xx的日志数量超过2次,产生告警,并且按照 host.hostname 字段进行分组统计,配置方式如下 20230720195452

例子2:接口的请求耗时95分位值超过 1700ms 时触发告警

说明:在每2分钟的时间段内,使用p95函数统计日志中的 request_time 。按 remote_addr 维度进行分组,检查是否有超过1700ms 的请求耗时,配置方式如下 20230720201933

例子3:request_time 大于1900ms,匹配日志超过10条时触发告警

说明:在每2分钟的时间段内,筛选出 request_time 大于1900ms 的日志。按 request_uri 维度进行分组,检查日志数量是否超过10条,配置方式如下 20230720202030

在配置完成所需的数据字段后,还可以通过数据预览按钮来预览查询结果。 20230720195731

时序指标-记录规则

记录规则也是支持数据源为 ES 类型,它的字段组和告警规则一样,通过记录规则的配置可以减少重复的查询。把需要耗费大量资源/时间计算的查询结果重新定义为新的指标值,其他用到相同查询的地方就可以直接使用新指标值。 20230720195825

举个例子,改造告警规则例子2,3中的两个告警条件,重新定义为两个新的指标。 20230720195911 20230720195958

当再配置告警规则条件时,就可以改用指标类型告警,通过 PromQL 作为告警条件。 20230720200046

开源版
Flashcat
Flashduty