0

0

【夜莺监控】告警管理,香!

PHPz

PHPz

发布时间:2023-06-09 08:31:30

|

1215人浏览过

|

来源于51CTO.COM

转载

【夜莺监控】告警管理,香!

监控是方法,告警是手段,解决是目的。

但是,大家有没有遇到这种困惑。我收集了一大堆指标,但是我不知道哪些指标应该告警,也不知道如何把这些告警发送到对应的团队或者个人,更不知道如何做告警升级。

我之前用 Prometheus+Altermanager 这一套的时候,为每个团队弄一个钉钉群,然后打了一堆的标签,匹配不同的标签发送到不同的群,如果要做告警升级的话,很多时候都是通过阈值升级来完成,但是同一个告警通过时间来升级就不好办。

但是夜莺在做告警规则管理就没那么复杂(复杂的事情他们给你做了),而且还很优雅。我在​​《【夜莺监控】初识夜莺,还是强!》​​提到过:Grafana 更擅长监控面板的管理,N9e 更擅长告警规则的管理。

今天,我们就来看看夜莺到底是怎么玩的。

告警规则

兵马未动,粮草先行。

要告警,得先知道我们的需求是什么,也就是要弄明白哪些指标需要告警。

比如说,在系统层面,我们要考虑 CPU、内存、磁盘、IO 等指标;在应用层面,我们要考虑应用的饱和度、失败率以及延迟等;在业务层面,我们要考虑这次的交易失败次数、哪里失败等。

站在不同的层面,考虑的监控指标以及告警策略会不一样。

夜莺的告警规则分为内置规则和自定义规则。

内置规则旨在降低大家的使用门槛,为大家提供一套普适性的规则。主要有以下内容:

【夜莺监控】告警管理,香!

内置的告警规则不会生效,除非你把它拉到你的规则里。如果你看中了某个规则,就可以把它克隆到生效规则中。比如,我把 Linux TIME_WAIT 告警规则克隆到默认业务组中。

【夜莺监控】告警管理,香!

然后到告警规则总览里就能看到默认业务组中新增了一条告警规则。

【夜莺监控】告警管理,香!

看到这里,脑海里是否有一点灵感了?

我们可以根据实际情况创建多个业务组,然后是否就可以把涉及到多个业务组的告警规则进行分开管理了?

假设我们有前台以及中台两个团队,就可以把指标分别归类。

【夜莺监控】告警管理,香!

默认导入进来的规则原则上是没有生效的,需要做一些额外配置。

点开告警规则名称,进入配置页面。

【夜莺监控】告警管理,香!

我们可以自定义告警条件、数据源、告警等级等配置。如上我们配置的信息归纳如下:

  • 告警的数据源是 local_prometheus,这表示你的告警来自哪个集群。
  • 告警条件是当 TIME_WAIT 总数大于 20000 才会触发告警。
  • 告警等级是二级,也就是一般重要等级。
  • 执行频率是每 15 秒执行一次,连续持续 60s 依然满足告警规则,则会触发告警

接下来就是额外的配置了,如下:

【夜莺监控】告警管理,香!

生效配置用来配置该告警规则在什么时间段,什么业务组生效。而通知配置则是配置通知媒介,也就是如果产生了告警,应该通过哪些渠道发到哪些地方。

不过,在通知配置处还可以做额外的配置:

  • 启动恢复通知,也就是如果告警恢复了,也会通过这个渠道告知负责人。
  • 告警接收组,也就是业务组。
  • 留观时长,当告警恢复后,观察多长时间才给业务组发恢复通知。可以规避哪些波动性的告警,一会发告警,一会发恢复等问题。
  • 重复通知,也就是在这个时间段里,如果还未解决告警,就会再发送一次。当然,这里还不涉及告警升级。

看到这里,有没有对普通的告警规则管理有一定的认识了?

除了克隆内置的告警规则,我们还可以自定义告警规则,不过整体上的配置和上面是一样的。

屏蔽告警

一般被屏蔽的告警都不是很重要的告警。

那在什么情况下会屏蔽告警呢?

比如我们在做应用发版的时候,难免会遇到问题,这时候可以提前做一些屏蔽规则,以免产生告警信息。

【夜莺监控】告警管理,香!

屏蔽规则也是按业务组分的,我们可以新增一条规则,如下创建一条屏蔽消息中心告警的规则。

【夜莺监控】告警管理,香!

这样在固定的时间窗口内,告警信息不再发送。

有的同学可能要说了,这样一个一个添加,是不是稍显麻烦?

如果是已经产生的活跃告警,可以一键屏蔽。

【夜莺监控】告警管理,香!

如果是历史告警,也可以一键屏蔽。

【夜莺监控】告警管理,香!

除此之外呢?

Nanonets
Nanonets

基于AI的自学习OCR文档处理,自动捕获文档数据

下载

想屏蔽啥,就自己加吧!

告警升级

如果一个告警在一段时间内还没进行处理,怎么办?

要么不是重要的告警——把规则删了吧,留之无用。

要么是解决不了的告警——升级吧,让更多人知道。

在夜莺中,在订阅规则中可以实现告警升级。

比如,我们配置如下:

【夜莺监控】告警管理,香!

如果 server=notice 的告警事件在 1 小时内还未解决,我们将告警等级升级为一级,并且将告警信息发送到更高级别的群里。

这里的规则也可以按业务团队来进行分类管理。

除此之外还提供活跃告警和历史告警,可以查看当前有哪些告警信息,以及历史的告警记录。

告警自愈

从事运维越久,其实会发现很多事情的处理都是重复性的,一些简单重复的工作可以通过自动化脚本来进行处理,不仅能提升工作效率,也能在一定程度上降低人为操作的风险。

夜莺提供了告警自愈功能。功能虽好,可不好贪杯哦。

处理一个告警,一定要先弄清楚背后的真正原因,这样才能解决问题。所以对于告警自愈,一定要明白你做的这个自动化操作的风险很低并且实验了很多次。不要存在cd /opt/aaa;rm -rf ./的操作。

在夜莺中,使用ibex​模板来实现告警自愈。目前ibex-server​端需要自己部署,ibex-agent​端已经集成到Categraf中去了。

部署 ibex-server

到https://github.com/flashcatcloud/ibex/releases下载二进制包,下载下来过后里面有以下文件:

# ll
total 21536
drwxr-xr-x 3 root root 4096 Apr 19 10:44 etc
-rwxr-xr-x 1 root root 16105472 Nov 152021 ibex
-rw------- 1 root root5931963 Jun32022 ibex-1.0.0.tar.gz
drwxr-xr-x 2 root root 4096 Nov 152021 sql

导入数据库:

mysql -uroot -p <sql/ibex.sql

然后修改/etc/server.conf配置文件,主要修改数据库的配置。

最后启动服务端:

nohup ./ibex server &> server.log &

配置客户端

在系统配置​->通知配置​->告警自愈模块配置对应的服务端地址:

【夜莺监控】告警管理,香!

测试自愈

然后到告警自愈​->自愈脚本处添加脚本,如下:

【夜莺监控】告警管理,香!

保存退出,点击创建任务:

【夜莺监控】告警管理,香!

如果里面的配置不需要修改或者修改对应的配置后,选择立即执行:

【夜莺监控】告警管理,香!

到这,你以为就好了么?

反正我没成功,到这里我不得不吐槽一下这个模块:

  • ibex-server 的部署有没有前置条件?
  • ibex-agent(categraf)有没有前置条件?
  • 自愈脚本执行失败,不论是客户端还是服务端都没有具体的失败日志
  • N9e V6 版本的告警自愈配置入口怎么放到消息通知模块?怪怪的
  • 官方文档这个模块有点过于简单

所以,我这里并没有成功,前端抛了超时。

【夜莺监控】告警管理,香!

后端没有日志。

【夜莺监控】告警管理,香!

总结

目前夜莺能够比较齐全的实现告警规则的管理,告警渠道分发以及告警消息抑制以及升级,而且 FlashDuty 可以接入不同的集群告警,在大部分企业中以及够用了。

只是在测试告警自愈的时候,我没有测试成功。应该是跟我的环境有关系:

  • N9e 整体模块是使用的 Helm 部署到 K8s 中的
  • ibex-server 端却是以二进制的形式直接部署在主机上的

不过具体的原因没有排查出来,可用的排查信息太少了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

1

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

39

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

140

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

47

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

90

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

226

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

506

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

170

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号