2 功能概览

功能概览

下面会按照菜单的顺序,逐一介绍夜莺的各个功能,大家一定要读,有个大概了解即可,暂不用实操,后面的文档会讲解各个需求场景的实操方法

1 仪表盘

1.1 监控仪表盘

管理了各个仪表盘,仪表盘的增删改查都在这里完成,全公司可能有很多仪表盘,所以仪表盘归属于各个业务组,既分门别类做了管理,又能做权限控制。仪表盘可以导出成 JSON 分享给别人,也可以导入别人分享的仪表盘,当然,也可以导入夜莺内置的仪表盘。

夜莺也支持导入 Grafana 仪表盘,不过夜莺的仪表盘和 Grafana 的仪表盘并不是兼容的,有些图表导入进来之后无法展示,如果你已经习惯了 Grafana 仪表盘,建议还是继续使用 Grafana 仪表盘。只用夜莺做告警管理,用夜莺查看基础的机器监控数据即可。

1.2 内置仪表盘

夜莺内置了一些常用的仪表盘,分门别类放在这里了。点开某个类别,可以看到相关的仪表盘列表,可以选中一批仪表盘克隆到自己的业务组下使用。采集说明 标签下面则是相关文档,讲解这类监控数据是如何采集的。

内置仪表盘实际是读取的 integrations 目录下的内容,integrations 下面每个目录就是一个类别,一般对应 Categraf 的一个采集插件,插件目录里有几个子目录,icon 存放图标图片,dashboards 存放仪表盘 JSON 文件,markdown 存放采集说明文档,alerts 存放告警规则。最新的 integrations 在这里:integrations,欢迎大家提交 PR 一起完善。

2 查询

2.1 时序指标

这个菜单下的功能,主要是做监控数据的 ad-hoc 查询,需要你对监控指标有一定了解,会写 promql,平时排查问题的时候还是非常有用的。

2.2 即时查询

通过输入 promql 查询不同数据源的数据,比如查询最近 2 分钟内的 CPU 使用率:

2.3 快捷视图

直接查询 promql 对很多人来说是个门槛,我们想查看某个机器的指标或者某个 Oracle 实例的指标,通常都是想先找到对应的机器或实例,然后选择相关的指标,这样的交互更为友好。

默认内置了一个 Host View,中间位置会展示所有的机器列表,选中某个机器之后,右侧会展示相关的指标。你可以模仿 Host View 的配置,自定义一个 Oracle View,或者一个 Redis View,或者一个 MySQL View,这样就能更快的找到你想要的监控数据。

3 规则相关

3.1 记录规则

记录规则相当于 Prometheus 中的 recording rule。啥是 recording rule 可以自行 Google 一下。简而言之,就是把一些重量级的 promql 周期性查询,生成新的指标,后面看图时,直接查询这个新指标,可以提升查询性能。

开源版只能对时序数据做 recording rule,商业版可以对日志数据做 recording rule,即周期性查询日志数据生成指标存入时序库,后面即可对这些时序数据绘图、配置告警。

3.2 日志分析

开源版本的日志分析就类似 Kibana 的 Discover 功能,可以查询日志数据,与 Kibana 略有不同的是,夜莺查询日志采用的是 Lucene 语法,而 Kibana 使用的是 KQL 语法,夜莺可以查询指定的索引也可以查询 index pattern,Kibana 只能查询 index pattern。index pattern 是 Elastic 生态的一个概念,这里不再赘述,索引模式菜单就是管理 index pattern 的。

3.3 告警管理

告警管理是夜莺的强项,很多公司使用夜莺实际主要就是使用告警管理功能。通常一个公司会有多套时序库分布在不同的数据中心,可以通过夜莺做中心化统一管理,夜莺内置权限管控体系,可以让各个研发团队自助服务,自己管理自己的告警规则。

3.4 告警规则

告警规则管理。初次使用可能比较陌生。可以导入夜莺内置的告警规则,在这些规则的基础上修改。导入入口在右上角,更多操作导入告警规则

3.5 内置规则

夜莺内置了一些常用的告警规则,分门别类放在这里了。点开某个类别,可以看到相关的告警规则列表,可以选中一批告警规则克隆到自己的业务组下使用。

3.6 屏蔽规则

一些维护工作可能会产生告警,如果是预期内的维护,可以提前配置屏蔽规则,避免产生告警。屏蔽规则核心是配置两个信息,一个是告警事件过滤条件,符合条件的告警事件会被屏蔽,另一个是屏蔽的时间段,可以是具体的某个时间段,也可以是周期性的时间段。

注意:屏蔽规则只会生效于本业务组下的告警规则。防止有些人随意配置了错误的屏蔽规则,把整个公司的告警都给屏蔽了。

如果告警已经产生,在活跃告警列表中每个告警事件后面会有个屏蔽按钮,点击屏蔽按钮可以自动填充屏蔽规则的过滤条件,然后选择屏蔽的时间段,就可以把这个告警事件屏蔽掉。

注意:屏蔽规则创建表单最下面有个【屏蔽预览】按钮,可以预览一下这个屏蔽规则会屏蔽哪些告警事件,可以在这里顺便全选所有相关的告警事件并删除。毕竟你都要屏蔽这些事件了,这些已经产生的事件也没必要再看了。

当前夜莺版本,命中屏蔽规则的事件,在活跃告警中是看不到的,后面 V7 版本会优化告警事件的逻辑,把屏蔽中的事件也展示出来。

3.7 订阅规则

告警规则中可以直接配置告警接收人,这样告警之后相关人员就可以收到告警,即:在告警规则颗粒度指定告警接收人。订阅规则有点像是 alertmanager 中的路由规则,可以根据告警事件的标签,把告警事件路由到不同的接收人,即:不止是规则颗粒度来指定接收人,可以是各种标签维度来指定接收人。

如果某个告警规则配置了接收人(比如发给 SRE 团队),DEV 团队又订阅了这个告警规则,那么 SRE、DEV 都会收到相关告警。

4 告警相关

4.1 活跃告警

当前版本,活跃告警就是展示所有未恢复的告警,如果某个告警恢复了,会自动从活跃告警中删除。

4.2 历史告警

历史告警是夜莺产生的所有历史告警事件,对应数据库中的 alert_his_event 表,这个表的数据不会自动删除,如果数据太多,比如超过 1000 万,可以手动清理。

4.3 告警通知

告警事件产生之后,可以通过各种方式通知相关人员,比如钉钉、企业微信、邮件、短信、电话等,不同的通知媒介可以选择不同的通知模板。跟通知相关的配置在这个菜单下。

4.4 告警自愈

告警自愈是夜莺的一个高级功能,可以在告警事件产生之后,自动执行一些命令,比如重启服务、清理磁盘、清理无用镜像等。告警自愈的配置在这个菜单下。

5 通知相关

5.1 通知设置

  • 回调地址:用于夜莺和其他系统之间的事件集成。夜莺告警事件产生之后,会通过回调地址推给第三方系统
  • 通知脚本:如果内置的通知方式不满足需求,可以自定义通知脚本,比如发短信、打电话等,告警事件产生之后,会把告警事件的信息传给通知脚本,通知脚本负责通知相关人员
  • 通知媒介:通知媒介的增删改查,可以在这里自定义通知媒介,然后在通知模板中为新媒介定义模板,之后就可以在脚本中使用新媒介了
  • 联系方式:相当于 user 的自定义属性,这是一个比较高级的功能,自定义媒介如果需要用到联系方式,可以在这里配置
  • SMTP 设置:邮件通知的 SMTP 服务器配置,SMTP 如果不知道是什么,可以自行 Google 一下

5.2 通知模板

告警事件使用不同的媒介发送的时候,需要采用不同的渲染方式,在此配置相关渲染模板。

6 脚本

配置自定义脚本。相当于一个任务模板,基于脚本创建任务时会自动填充相关字段。告警规则中可以配置回调地址为 ${ibex}/345,其中 345 这个数字表示脚本的 ID,告警事件产生之后,会把告警事件的信息传给脚本,脚本去做一些自动化的动作。去哪个机器执行?就是去告警的机器执行,告警自愈场景下,会忽略脚本中默认配置的机器列表。

7 任务(执行历史)

历史执行的任务列表,包括夜莺告警自愈自动创建的任务以及手工创建的任务。

8 配置

当前版本,告警自愈依赖 ibex 模块,所以需要把 ibex 的地址告诉夜莺,我们正在做优化,后面会把 ibex 的逻辑整合到夜莺中。

9 基础设施

开源版本,这个下面只有机器列表一个功能,商业版 还有很多功能,比如网络设备管理、采集配置管理(在页面管理 Categraf 插件配置)、拨测、Pingmesh 等。

10 机器列表

展示所有安装了 Categraf 的机器,可以在这里看到机器的基本信息,也可以在这里配置机器的标签,如果某个机器打了标签 region=a,这个机器上报的所有监控数据都会自动附加上这个标签,后面就可以在告警规则和看图时用此标签做筛选。

11 人员组织

用户、团队、业务组、权限管理。

11.1 用户管理

管理夜莺中的所有用户。当前版本中,企微机器人、钉钉机器人也抽象为用户,比如创建一个企微机器人用户,然后在告警规则中配置告警接收团队(团队中包含这个企微机器人用户),就可以通过企微机器人发送通知。

企微机器人用户,关键就是配置这个 wecom_robot_token 字段,配置为企微机器人的 token,或者直接填写企微机器人的整个 webhook 地址,均可。密码设置为一个复杂点的密码,权限设置为 Guest 低权限角色,这是个虚拟用户,理论上是不应该登录系统的。

11.2 团队管理

团队就是 user 的 group。用作告警接收人,也会用作某些权限控制。

11.3 业务组管理

业务组是一个权限管控单元,可以把一批机器、一批告警规则、一批仪表盘放到某个业务组下,然后为这个业务组绑定一个团队,这个团队就有权限管理这个业务组下的所有资源。

当前版本,如果业务组的名称中包含减号,可以自动展示成树形结构,比如 业务组-子业务组,就会展示成树形结构,业务组 是根节点,子业务组业务组 的子节点。当然,可以关闭这个功能,具体配置在 系统配置站点设置

12 系统配置

12.1 数据源

类似 Grafana,夜莺也支持多种不同的数据源,比如 Prometheus、VictoriaMetrics、M3DB、ElasticSearch、Loki、TDEngine 等等,可以在这里配置数据源地址。

12.2 变量设置

类似一个全局宏变量。在某些配置中可以引用这些变量。

12.3 单点登录

配置登录信息,比如 LDAP、CAS、OIDC、OAuth2 等。

12.4 告警引擎

告警引擎展示了各个引擎实例的心跳时间,以及关联的数据源,用于排查问题。

12.5 站点设置

站点层面的全局配置,比如配置:登录之后自动跳转的首页地址。

系统版本

展示前后端的版本。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇