夜莺监控支持 ES 日志告警了

夜莺项目( https://github.com/ccfos/nightingale )发布了 v8.0.0-beta.3 版本,这个版本主要是支持了 ES 日志告警,下面给大家介绍一下。

新版本下载

到如下地址下载发布包:

由于夜莺 v8 版本默认配置使用 sqlite 和 miniredis,不再强依赖 mysql、redis,所以解压缩发布包到一个临时目录下,直接运行二进制即可启动测试。当然了,生产环境还是要使用 mysql、redis。

配置 ES 数据源

首先添加一个 ElasticSearch 数据源,进入「数据源」菜单,点击「新增」,选择 ElasticSearch 类别:
选择数据源类别

在新建 ElasticSearch 数据源页面,填写 ElasticSearch 的连接地址、认证信息、版本、关联的告警引擎等信息。
创建ES数据源

关联的告警引擎默认是 default,如果你们使用了边缘机房部署架构,有多个告警引擎,可以选择其他告警引擎。一般来讲为了避免跨机房查询,最好选择数据源所在机房的告警引擎。

配置告警规则

进入告警规则配置页面,选中某个业务组,点击新增:
新增告警规则

选择 Log 类型,截图如下:
日志告警规则

几个关键配置解释如下:

  • 数据源类型:选择 elasticsearch
  • 数据源筛选:告警规则生效到哪些数据源,大部分公司都有多套 ES,可以选择让告警规则生效到一个或多个 ES 数据源
  • 查询统计:编写查询过滤条件,夜莺就会根据这些配置生成查询语句,然后去 ES 查询,查到之后再根据告警条件判定是否触发阈值
    • 索引:就是指定 ES 索引,可以写通配符,比如 logstash-*
    • 过滤条件:就是 ES 的 query string 查询语法,注意不是 KQL 语法。一些查询样例见 文档 📌
    • 日期字段:夜莺根据日期字段来做时间范围查询,比如 @timestamp
    • 时间间隔:就是告警规则查询的时间范围,比如查询最近 5m 的日志
    • 数值提取:对查询结果进行数值提取,比如使用 count 统计一下查到了几行日志,作为查询结果最终的数值和后面的告警条件做阈值判定。除了 count 之外,还可以使用 sum、avg、max、min 等统计函数,统计函数自然是对某个字段做统计,所以选择统计函数的时候要同时给出要统计的字段名
  • 告警条件:对查询统计结果进行阈值判定,如果满足条件就触发告警

其他的配置项是通用配置项,和 Prometheus 的告警规则配置类似,这里就不一一介绍了。

其他改动

beta.3 还对每个告警规则对应的 goroutine 的启动时机做了打散操作,避免了大量告警规则同时启动导致的时序库瞬间查询压力过大的问题。

结语

如果你有什么建议,欢迎在 https://github.com/ccfos/nightingale 上提 issue,如果能来个 star 就更好了,让更多人知道并参与,即便项目现在还有瑕疵也会越来越好哒,这就是开源的魅力所在。一起加油。

相关推荐
INFINI Labs11 小时前
Easysearch analysis-ik 多词典性能优化:从性能回退到分词性能提升 25%~30%
elasticsearch·性能优化·分词·performance·easysearch·ik
IT飞牛12 小时前
Elasticsearch 技术调研与实践
大数据·elasticsearch·搜索引擎
从此以后自律12 小时前
Git一篇
大数据·elasticsearch·搜索引擎
超人也会哭️呀12 小时前
ES 混合检索(文本+向量)中的条件处理陷阱——当权限过滤遇到关键词查询
android·大数据·elasticsearch
做个文艺程序员1 天前
第03篇:深入 Mapping 与数据类型设计——ES Schema 设计避坑指南
大数据·elasticsearch·搜索引擎·mapping设计
铭毅天下1 天前
Easysearch 版本进化全图——从 ES 国产替代到 AI Native 搜索数据库
大数据·数据库·人工智能·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
在 Elasticsearch 中,存储向量查询速度最高提升 3 倍
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
海兰1 天前
从原始日志到系统知识:补齐 AI 可观测性的“上下文层“
人工智能·elasticsearch
逆境不可逃1 天前
【与我学 ClaudeCode】规划与协调篇 之 Skills:按需加载的领域知识框架
大数据·人工智能·elasticsearch·搜索引擎·agent·claudecode
奋斗的老史1 天前
LangChain4j + Elasticsearch 实现企业级向量存储(支持混合检索、元数据过滤)
elasticsearch·langchain4j