如何基于ELK构建实时告警系统,保障你的系统稳定性

在现代的分布式系统中,日志数据是非常重要的。为了监控和分析日志数据,Elasticsearch 已经成为了一个非常流行的选择。Elasticsearch 不仅可以存储大量的日志数据,还可以实时地搜索和分析数据。但是,当您的系统发生异常情况时,如何及时获得通知呢?这就需要一个实时的告警框架了。本文将介绍基于 Elasticsearch 的实时告警框架,并推荐一个强大的工具:Frostmourne。

Elasticsearch 告警框架简介

Elasticsearch 告警框架是一个基于 Elasticsearch 的实时告警框架,它可以帮助您监控 Elasticsearch 索引中的数据,并在满足预定义条件时发送告警通知。Elasticsearch 告警框架的工作流程如下:

  1. 应用程序将日志数据发送到 Elasticsearch。

  2. Elasticsearch 存储数据,并将数据索引到相应的索引中。

  3. Elasticsearch 告警框架从 Elasticsearch 中获取数据,并根据用户定义的规则发送告警通知。

Frostmourne

Frostmourne一个可以基于 Elasticsearch 的实时告警框架。它可以帮助您监控 Elasticsearch 索引中的数据,并在满足预定义条件时发送告警通知。

项目地址:https://github.com/AutohomeCorp/frostmourne

Frostmourne(霜之哀伤)是汽车之家经销商技术部监控系统的开源版本,用于帮助监控几乎所有数据库数据(包括Elasticsearch, Prometheus, SkyWalking, MySql 等等)。如果你已经建立起了日志系统, 指标体系,却苦恼于没有一个配套监控系统,也许它能帮到你。使用本系统得当,至少可以做到线上应用出了什么问题,相关开发能第一时间了解报错情况,知道问题出在哪里, 可以快速响应处理,几乎先于所有人知道线上的情况,也因为心中有数所以可以从容应对各种问询,一点都不慌,你们团队值得拥有。

项目初衷

在用ELK建立起日志系统之后,我们发现应用日志监控这块除了ElastAlert之外,没有其他方案。我们初期使用ElastAlert来解决日志监控的问题, 但是随着配置的增加,不仅管理成本和使用成本较高,稳定性方面也不能让我们满意,所以为了更好的易用性,稳定性,我们决定自己做一套简单的监控系统, 来解决日志监控的问题。

项目并不局限于Elasticsearch数据,还支持HTTP, PING, Telnet监控,Prometheus, SkyWalking, InfluxDB,MySQL, ClickHouse, IoTDB, SqlServer数据监控, 后面还会加入更多的常用数据源(如:Loki, MongoDB, Redis, Oracle 等)纳入监控范畴,需要做的东西还有很多,需要更多相关开发加入进来,欢迎联系我们,一起做大做强。

 主要功能

  • 只需要写一条数据查询就可以轻松搞定监控

  • 多种数据源支持:Elasticsearch, HTTP, SkyWalking, Prometheus, InfluxDB, MySQL/TiDb, ClickHouse, SqlServer, PING, IotDB, Telnet

  • 数值计算类型监控:count, min, max, avg, sum, unique count, percentiles, standard deviation; Elasticsearch数据支持分桶

  • 多种报警消息发送方式:钉钉(机器人)、企业微信(机器人)、飞书机器人、Email、短信、HTTP

  • 多种消息格式:text, markdown

  • 灵活的报警消息Freemarker模板定制,支持变量占位符;消息模板管理

  • 分布式调度实现,每个监控都是独立调度,互不影响

  • 报警消息附带日志查询短链接,直达报警原因

  • 数值同比,环比监控

  • HTTP数据监控, Javascript表达式判断是否报警; PING连通监控, Telnet端口连通监控

  • 前端简单易用:监控管理、测试、另存、执行日志和历史消息

  • Elasticsearch数据查询、分享和下载

  • 报警消息抑制功能,防止消息轰炸;也有报警升级功能,避免故障相关方长时间得不到通知。

  • 自带账号,团队,部门信息管理模块,也可自己实现内部对接

  • 集成LDAP登录认证

  • 权限控制,数据隔离,各团队互不影响

Elasticsearch 告警框架是一个非常重要的工具,它可以帮助您实现实时监控和快速响应异常情况。通过使用 Frostmourne,您可以轻松地设置和管理告警规则,以便及时通知您的团队。Frostmourne是一个强大的工具,它具有灵活的条件定义、多种告警通知方式和高可用性,可以满足您的各种告警需求。

你可能感兴趣的:(elk,elasticsearch,微服务,开源,监控,告警系统)