夜莺监控支持 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 等统计函数,统计函数自然是对某个字段做统计,所以选择统计函数的时候要同时给出要统计的字段名
- 索引:就是指定 ES 索引,可以写通配符,比如
- 告警条件:对查询统计结果进行阈值判定,如果满足条件就触发告警
其他的配置项是通用配置项,和 Prometheus 的告警规则配置类似,这里就不一一介绍了。
其他改动
beta.3 还对每个告警规则对应的 goroutine 的启动时机做了打散操作,避免了大量告警规则同时启动导致的时序库瞬间查询压力过大的问题。
结语
如果你有什么建议,欢迎在 https://github.com/ccfos/nightingale 上提 issue,如果能来个 star 就更好了,让更多人知道并参与,即便项目现在还有瑕疵也会越来越好哒,这就是开源的魅力所在。一起加油。
夜莺监控支持 ES 日志告警了的更多相关文章
- ElastAlert监控日志告警Web攻击行为
由于公司需要监控web攻击行为,而因某些原因搭不了waf,才不得不用ElastAlert进行告警,此为前提. 一.ELK安装 Elasticsearch 是一个分布式.可扩展.实时的搜索与数据分析引擎 ...
- ElastAlert监控日志告警Web攻击行为---tomcat和nginx日志json格式
一.ELK安装 1.2 elk配置 logstash自定义配置文件,取名为filebeat_log.conf : input { beats { port => 5044 client_inac ...
- 基于Prometheus和Grafana的监控平台 - 运维告警
通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...
- 自定义log4j的appender写es日志
本篇和大家分享的是自定义log4j的appender,用es来记录日志并且通过kibana浏览es记录:就目前互联网或者一些中大型公司通常会用到第三方组合elk,其主要用写数据到es中,然后通过可视化 ...
- Zabbix5.0实现监控系统登陆失败告警
环境zabbix5.0,配置思路,通过添加监控项和触发器实现,监控项监控对应的日志文件,触发器过滤日志文件中的关键字,当出现failed时就发出告警. 监控项配置 类型选择zabbix客户端主动式,键 ...
- 采用link方式解决zabbix对于备份监控和ORACLE日志监控由于路径不统一的问题
#对于备份监控和ORACLE日志监控由于路径不统一,我们可以采用link的方式如:#ln -s 原路径 新路径(/zabbix/logs)#新路径统一放在/zabbix/logs下具体看模板指定. # ...
- 让node支持es模块化(export、import)的方法
node版本v7.9.0,支持了大部分es6的功能,但还不支持es6模块化(export.import). 检测ES6 可以使用es-checker来检测当前Node.js对ES6的支持情况. 使用命 ...
- 0x04 Python logger 支持多进程日志按大小分割
目录 支持多进程日志按大小分割 多进程日志大小分割handler配置实例 支持多进程日志按大小分割 由于python内置模块logging.handlers.RotatingFileHandler是不 ...
- 如何监控 Log4j2 异步日志遇到写入瓶颈
如何监控 Log4j2 异步日志遇到写入瓶颈 在之前的一篇文章中(一次鞭辟入里的 Log4j2 异步日志输出阻塞问题的定位),我们详细分析了一个经典的 Log4j2 异步日志阻塞问题的定位,主要原因还 ...
- 第1节 storm日志告警:1、 - 5、日志监控告警业务需求、代码、集群运行、总结
如何解决短信或者邮件频繁发送的问题:每次发送的时候都先查询数据库记录,看一下有没有给这个人发送消息,上一次发送消息的时间是什么时候,如果发送时间间隔小于半个小时,就不要再发了 ============ ...
随机推荐
- c++11新增内容
记录一下c++11新特性方便以后回忆 1.nullptr (对标NULL) 2.auto ,decltype(根据表达式推断类型,表达式不执行) decltype(func()) sum = 5; / ...
- PbRL | Christiano 2017 年的开山之作,以及 Preference PPO / PrefPPO
PrefPPO 首次(?)出现在 PEBBLE,作为 pebble 的一个 baseline,是用 PPO 复现 Christiano et al. (2017) 的 PbRL 算法. For eva ...
- 拯救php性能的神器webman-初入门
无意间发现的这个神器webman,真是秋名山上的腾源拓海! 该框架是workerman下的一个web开发的生态,我们可以先看看这里workerman的官方网站. workerman早有耳闻,知道它蛮厉 ...
- 基于木舟平台浅谈surging 的热点KEY的解决方法
一.概述 上篇文章介绍了基于surging的木舟平台如何构建起微服务,那么此篇文章将介绍基于木舟平台浅谈surging 的热点KEY的解决方法 木舟 (Kayak) 是什么? 木舟(Kayak)是基于 ...
- 基本数据结构-双端队列(Deque)
6.基本数据结构-双端队列(Deque) 一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. - 特性:d ...
- ElementUI ---- dialog点击取消后蒙遮层不消失
场景: 页面A打开了 dialog, 然后点击 页面A dialog 的按钮 跳转到 页面B,并且打开页面B的 dialog 但是页面B的 dialog 关闭后,蒙遮层并没消失(已经设置了 :appe ...
- SpringMVC源码剖析(四)- DispatcherServlet请求转发的
SpringMVC完成初始化流程之后,就进入Servlet标准生命周期的第二个阶段,即"service"阶段.在"service"阶段中,每一次Http请求到来 ...
- mac通过网线连接主机(fnOS)
一.mac端 mac是typec的,用了个转接头+网线直连主机,初始化的时候跟下面一致,默认都是自动的 点击详细信息,配置IPv4选择使用DHCP 二.主机端 主机端是最麻烦的,刚开始的时候怎么也找不 ...
- NET 6 中新增的LINQ 方法
.NET 6 中添加了许多 LINQ 方法. 下表中列出的大多数新方法在 System.Linq.Queryable 类型中具有等效方法. 欢迎关注 如果你刻意练习某件事情请超过10000小时,那么你 ...
- SaaS架构中多租户的概念
SaaS架构中多租户的概念 租户可以理解为部署在云端的客户,通常出现在2B的企业中,比如现在学校的一卡通管理,通常是一个公司来做的,学校本地不需要做任何部署,而这个公司又是服务了很多个学校,那么学校对 ...