监控项
把一些App需要监控的指标叫做监控项,比如一个系统的CPU、MySQL
的进程数和连接数等都可以做成监控项。我们可以利用这些监控项来监控某个App的运行状态。
添加监控项
以下以监控系统的负载为例,来演示如果添加一个监控项,这个示例可以运行在Linux、Unix和MacOS上。大体流程如下:
- 创建一个App叫”系统监控”;
- 添加一个监控项叫”负载”,这个监控项通过一个脚本来获取系统当前的负载;
- 查看收集到的监控项的数值记录;
- 添加一个阈值来决定是否自动发送提醒通知;
- 添加一个图表来让数据更加直观。
1.创建App
打开要添加App的主机,比如”本地”,选择这个就是TeaWeb安装的机器,比较方便我们做测试。点击到Apps选项卡:
点击上图中的”添加App”:
点击保存,跳转到App列表:
可以看到我们添加的应用”系统监控”,点击右侧的连接”详情”进入App详情:
2.创建监控项
点击上图中的”监控”进入监控项列表,可以看到目前还是空的:
点击上图中的”添加”,进入添加监控项页面:
在脚本代码框中(上图中的1)输入以下的代码:
#!/usr/bin/env bash
uptime=`uptime`
loads=${uptime#*: }
for i in ${loads}
do
echo ${i%,*}
done
这段代码的意思是从uptime
命令中分析负载数据,每行一条记录。
点开”更多选项”,将”数据格式”项修改为”多行数据”(上图中的2)。
3.查看数值记录
在监控项列表页等待30秒钟以后,监控项列表页就会显示通过脚本采集到的数据:
4.添加阈值
点击监控项列表的详情进入监控项详情:
点击上图中的”修改”,进入修改界面:
点击上图中的”更多选项”,可以看到阈值设置:
点击上图红线框中的加号按钮可以添加一个新的阈值,这里因为数值里有三条记录,我们只需要判断第一条,所以加了一个${0}
:上图中阈值相关的几个概念:
- 参数:使用${N}表示第N行数据,从0行开始,比如:${0}, ${1};使用${NAME}来获取KEY-VALUE形式的数据,比如${name}。支持加(+)减(-)乘(*)除(/)取余(%)运算符。
- 运算符:可以使用正则表达式匹配、大于、小于之类的,运算符是用来判断参数值和对比值之间的关系,如果满足了这个关系此阈值才会提醒
- 提醒类型:分为信息、警告、错误、成功四种,一般只会关注警告和错误
- 通知消息:是此阈值达到条件时,系统发送的通知消息,v0.0.8及以后可以设置通知邮件、脚本和Webhook通知几个阈值相关的内容填写完成后,点击保存即可保存成功,并返回到监控项详情,展示已经设置好的阈值:
5.添加图表
上面的步骤中我们演示了通过创建监控项可以获得一组数值记录,这些数值记录可以通过图表来展示。
在监控项详情中,点击”图表”选项卡:
点击上图中的”添加”按钮,进入到添加图表界面:
上图中我们把名称写为”1分钟负载”,数据项1的值为”${0}“不变,表示取得数值记录中的第一个数据,其他的都不用填,点击底部的”保存”按钮,即可创建完成:
当然在这个界面中的”更多选项”中可以选择图表的宽度是1列,还是2列,默认是1列。
日常维护过程中就可以查看这个图表内容,也可以继续添加更多的图表,流程一样,只不过可以选择不同的图表类型、数据项。
将图表添加到看板
可以在看板中点击”添加图表”,即可看到刚才添加的图表:
点击上图中的”添加到看板”即可把这个图表添加到看板: