夜莺V6监控系统功能梳理

最近接到任务需要调研夜莺监控系统,于是自己用docker部署了一套,由于之前从来没有接触过类似的系统,所以写下这篇文章用来记录使用心得。在学习完之前我会持续更新这篇文章。

docker部署

用docker部署夜莺系统其实很简单,直接按照官方文档上的方式用docker-compose部署就行了,里面包含了mysql、redis、prometheus、ibex、n9e和categraf六个容器。
需要注意的就是,我写这篇文章的时候使用的夜莺版本是v6.3.4,该版本用docker部署的时候只支持host network,而docker在windows系统中是不支持host network的(我就是在这里掉进坑的)。根据官方文档描述,预计会在V6.4支持桥接。
写这篇文章的主旨也不在于此,网上随便搜搜安装教程就有很多,因此也不再多介绍了,下面主要讲一讲从零开始的使用心得。

使用心得

1.人员组织

之所以先写人员组织模块,是因为这个模块最简单,也最常见,因为绝大部分系统都会有这样一个模块。
夜莺的人员组织是分为三级,从高到低依次是业务组 -> 团队 -> 用户,每个业务组可以包含多个团队,每个团队可以包含多个用户。系统中的监控大盘等一些功能都是以业务组为单位显示的。
权限管理就不说了,没什么意思,都是用户 - 角色 - 权限那一套。

2.基础设施

基础设置模块也很简单,我所使用的开源版只有机器列表一个模块,该模块可以给categraf进行分组,将categraf归给各个业务组。

3.系统配置

系统配置中主要模块是数据源、通知设置、通知模板。其他的不是特别重要,就不多说了。

1)数据源

数据源是用来配置时序库的数据源,由于我用docker部署的时候里面包含了prometheus,所以我直接选择了prometheus的数据源。
在这里插入图片描述
前面的一些配置都很好理解,这里主要说一说remote url吧。
根据官方文档,这个地址就是prometheus的remote write url和remote read url,所以直接写http://127.0.0.1:9090/api/v1/write就可以了。这两个地址平时是没用的,当在夜莺中配置了记录规则的时候,记录规则会生成新的指标,新指标需要回写到时序库,这个时候就需要调用这个接口了。
关联告警引擎集群单机模式用不到,我就直接用的default。

2)通知设置

通知设置中有五个标签,回调地址、通知脚本、通知媒介、联系方式和SMTP配置。

回调地址

回调地址是一个全局的回调,配置以后所有的告警全部会触发这个回调。

通知脚本

通知脚本是以脚本的形式配置告警时的通知方式,目前有两种配置方式,一种是直接通过页面的编辑器编写脚本;另一种是配置脚本的路径,脚本必须与夜莺服务在一台服务器上。

通知媒介

这个页面用来控制告警规则配置界面显示的通知方式。

联系方式

这个页面用来控制个人信息界面可以添加的联系方式。

SMTP配置

顾名思义,就是用来配置邮件通知的SMTP的。

3)通知模板

就是用来配置通知模板的,目前看来需要和通知媒介中的标识一致就可以了。

4.时序指标

接下来讲一下时序指标吧。时序指标分为三个模块,分别是即时查询、快捷视图和记录规则。

1)即时查询

即时查询有两种展示模式,table和graph,选好数据源之后就可以进行查询了,查询条件可以直接写promql的语句,像我这种完全不会的小白,可以用新手模式试试简单的查询。下面两张图分别是table和graph的展示结果。
table
graph

2)快捷视图

上面介绍的快捷查询,对于现在的我来说还是太难了,所以我看到了快捷视图。默认的快捷试图会以categraf为单位展示出所有监控到的指标,这一点在后面自定义大盘的时候非常有用。
在这里插入图片描述
点击快捷视图列表右边的加号,还可以自定义视图,比如官方文档上的例子,展示所有的mysql的指标可以这样配置。
在这里插入图片描述

3)记录规则

记录规则就是可以自己配置一些原本没有没有直接采集,需要通过计算才能得到的指标,配合数据源配置中的回写地址,将该指标回写到时序库中,比如下面这个例子。
在这里插入图片描述

5.仪表盘

仪表盘就是监控大盘,夜莺内置了很多比较全面的仪表盘,除此之外,也可以自己添加自己需要的仪表盘。
对于新手来说,可以结合快捷视图中的指标来创建仪表盘,比如目前内置仪表盘没有docker的大盘,我要自己添加一个docker指标。这时我先去快捷视图中找到我想要展示的docker指标,这里我选择了docker_container_mem_usage_percent,也就是docker中每个容器的内存使用率。
然后回到新建的仪表盘页面,点击添加图标,有很多选项,作为例子我先选择了简单的指标值。
在这里插入图片描述
首先选择时序库的数据源,PromQL中填写我们在快捷视图中找到的指标值的名字。
Legend是表中显示的名称,这个key我是在右侧的值字段中找到的。
那么当然,值字段中配置的就是图表中显示的蓝色的值,其实在选项中可以看到所有的key,可以直接穷举试出我们想要的东西。
链接可以配置另一个仪表盘,比如我们先展示一个概要的图标,点击这里配置的链接,就可以进入另一个详情的仪表盘。
其他的一些配置可以参考官方文档,或者自己点点试一下,调出自己想要的效果。

大盘变量

这里稍微说一下大盘变量,用一个内置的mysql大盘MySQL Overview by categraf, group by instance举例,可以发现,这个大盘最上面是有一个分类的。
在这里插入图片描述
这就是大盘变量,可以通过配置该变量在上方生成这种分类,通过选择分类快速切换实例和监控指标。

6.告警管理

1)告警规则

告警规则分为四个部分,基础配置、规则配置、生效配置、通知配置。其中基础配置用来填写一些名称、标签之类的,通知配置就是配置一下通知方式以及回调等等,系统中的说明很详细了,就不赘述了。

规则配置

规则配置分为metric和host。其中metric是时序库的指标告警,host是机器告警。
metric告警中选定数据源之后就可以用promql来配置告警的条件和级别,执行频率就是每隔多长时间查询一次;持续时间是指持续一段时间,如果这短时间之内所有查询全部满足告警条件,才会触发告警(持续时间可以设置为0,表示只要满足条件就触发告警)。
host告警很简单,配置的是机器失联的标准或机器时间偏移的标准。

生效配置

生效配置中值得一说的就是仅在本业务组生效,开启之后该规则只会在基础设施模块中分配给该业务组的机器中生效。
除了自己定义告警规则之外,夜莺也内置了很多告警规则,和仪表盘一样,可以在内置规则模块中进行克隆或者导出。

2)屏蔽规则

屏蔽规则的配置和告警规则类似,主要用来配置不需要告警的场景。屏蔽事件标签Key字段可以配置时序数据的标签、告警规则中的附加标签或告警规则名称。

3)订阅规则

告警规则是当机器发生告警时,主动通知给需要通知的人。订阅规则则是另外的人想要接收和自己有关的告警,可以主动去订阅想要接收的告警。
订阅告警规则的时候,选择完告警规则之后,还可以重新定义告警的级别、通知方式和回调接口。
除了上面说到的模块外,还有活跃告警和历史告警两个模块,可以用来查看告警记录。

7.告警自愈

告警自愈是通过ibex插件,在产生告警的时候可以去执行一些自定义的脚本。
比如说可以在redis挂掉的时候自动拉起redis。
在这里插入图片描述
该脚本配置好之后在列表页面会有一个id,在配置告警规则的回调地址时,只需要写${ibex}/id就可以了。
在这里插入图片描述

目前夜莺V6的功能大致上就是这些,本文只是简单的记录下这两天学习的记录,至于更深层次的应用,还需要以后边用边摸索了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值