机器监控管理

1118 上次更新时间:2021-09-18 14:59:27

Document

场景需求

在互联网行业,需监控几十台到上百台服务器,如果某台服务器在规定时间的CUP占用率的平均值,超过规定的限制值。

需触发报警,系统自动把异常情况反馈给负责人,让其及时检查、处理服务器异常。

解决思路

我们先把该需求拆成2个,第一是通过速融云的 openApi,实现与第三方系统的数据对接,将服务器的数据推送到速融云平台上。

第二是设置监控条件,如果监控到异常数据,则自动推送消息。

拆解问题

这时候,我们会有两个核心问题,第一,如何计算服务器在规定时间的平均值?第二如何监控数据更变,并推送信息?

1、计算在规定时间之内的平均值

计算平均值之前,我们要先了解规定时间的数值,需要先解决服务器运行的开始时间、当前时间、时间间隔、结束时间。

1.1 计算平均值


计算平均值我们首先会想到我们的 RSQL 公式,RSQL 是速融云108种函数的其中之一,目前最为强大的公式。

RSQL 是指根据当前表单的数据,查询另外一张表数据,支持累加、累乘、平均值、最大值、最小值、最晚、最早、计数等。

使用 RSQL 的核心需求在于

1、确认查询的数据的筛选条件,此时我们可以需要确定:

(1)时间段范围:分为起始时间和结束时间。

注意:结束时间应为我们当前创建表单的时间。

开始时间为当前时间减去时间间隔。比如 10:15 分推送的数据我们的查询的起始时间应该为 10 分钟(查询间隔)之前的数据即10:05 。

结束时间为当前推送到速融云表单的时间。

(2)机器编号为当前机器编号

2、确定要求平均值的字段 即 cpu 负载字段。

2、监控数据更变,推送消息给负责人

这里我们也拆解为两个小问题,第一如何监控数据更变,第二,如何触发报警,自动将信息推送给负责人?

2.1 监控数据更变

机器的状态有 正常、报警,系统根据已配置的公式自动得出计算出状态。

确定好状态变更以后,这时我们可以通过配置智能助手来监控数据变化。(PS:智能助手有三种节点事件,分别为:表单事件、节点事件、数据变化。)

在这里需要选择数据变化,监控该表单的新增或更新记录数据时,并判断该数据状态。

2.2 触发报警,自动推送消息

如判断该数据的状态为报警,自动触发报警条件,并将该机器的异常情况推送给负责人。

搭建系统

1、新建机器监控表

需拖拽所需字段,修改名称,并配置该字段的条件。

机器编号

CPU 占有率 (0‑100)
为避免输入错误,可设置校验条件,大小限制为1—100。

如输入大于100,系统自动提醒输入值不能大于100,具体如下图:

阈值
注意:需建立关联表单,该字段控件需关联机器产品表单,该表单的阈值数值来源于机器表的阈值。

采集时间短(分钟)
自定义设置分钟,这里演示设置为10分钟。

更新时间

这里我们设置公式为:(NOW())

NOW 函数是指返回当前的时间。

监控判断时间的起始点

需设置公式为:DATE(TIMESTAMP(更新时间)‑采集时间短(分钟)601000)

日期函数:DATE(TIMESTAMP 日期字段,天数),其含义是,计算选择指定的日期和指定的天数。

监控时间段 CPU 平均值
这里用到核心功能—— RSQL 高级函数,下面公式设置看起来有点复杂,实际上非常简单。

AVERGE 是指平均值,后面是设置筛选条件,包括 CUP 占有率和监控判断时间的起始点小于更新时间,同一机器编号。

筛选符合条件的数据,对其进行计算,其公式为:CUP 占有率除以2,计算结果就是平均值。

状态
这里我们选择下拉框字段,添加「正常」和「报警」。

为了快速看到该数据状态,这里我们将「正常」设置为绿色,「报警」设置为红色,您也可以根据实际情况,自定义设置颜色。

在该字段设置公式为:IFS (监控时间段 CPU 平均值 > 阈值,‘报警’,TRUE (),‘正常’)。

意思是指监控时间段 CPU 平均值小于阈值时,系统将状态修改为「报警」,如大于阈值,则修改为「正常」。

IFS是指检查是否满足一个或多个条件,并返回与第一个 TRUE 条件对应的值。

负责人
设置为当前操作用户。

2、新建报警表

2.1 需拖拽所需字段,修改名称,并配置该字段的条件。

机器编号

报警值

阈值

更新时间
同样,设置公式为:(NOW())

人员选择

2.2 编辑流程

在流程添加审批节点,并设置负责人,如负责人暂未确定,您可以设置动态负责人,这一设置目的是将报警信息通知到负责人。

3、事件表单

智能助手

新建智能助手,修改名称,点击事件触发节点,在节点事件选择数据变化,并设置具体目标表、具体监控数据变化。

创建新表单节点

点击创建新表单节点,设置触发条件,当数据状态为报警时,系统自动执行下一步。

在当前页面设置目标应用、目标表单,并设置填写规则。

这一设置,如监控到数据状态为报警,系统自动将数据信息填入报警表单,并通知该负责人及时处理。

4、效果演示图

总结

从场景需求,到分析问题,最后给出解决方案并落地,整体思路是:

  • 明确场景需求

  • 分析场景需求

  • 思考解决的核心工作流

  • 拆解问题,思考需要用到哪些功能

  • 搭建表单/应用,并测试检查

  • 落地解决场景需求