Aquila 添加自定义监控信息和告警的示例

概要描述

本文以在 Aquila 中添加自定义监控指标“创建线程数最多的10个进程所创建的线程总数”为例,描述如何在 Aquila 中添加自定义的监控指标,并在该指标达到一定阈值时配置告警。

详细说明

一、确认Aquila配置

二、编写脚本获取指标并按规范写入文件;

三、使用 crontab 或其他调度方式定时执行脚本获取最新的数据并更新文件;

四、检查 Aquila 是否获取最新的指标;

五、 Aquila 中配置告警

 

一、 确认 Aquila 配置

在所需节点中确认/var/log/aquila/textfile/output目录是否存在,如果不存在,需要做以下操作Aquila支持获取自定义指标。如果存在,本步骤跳过,直接操作下一个步骤。
1.  Manager 所在服务器,执行:

vi /var/lib/transwarp-manager/master/content/meta/services/AQUILA/{Aquila具体版本号}/templates/node-exporter/env.sh.ftl

 

例如:如果 Aquila 是manager-7.0-1910a版本就执行:

Vi/var/lib/transwarp-manager/master/content/meta/services/AQUILA/manager-7.0.1910a-final/templates/node-exporter/env.sh.ftl

 

2. 编辑该文件,在如图所示的位置加上这一行:

--collector.textfile.directory=/var/log/aquila/textfile/output \

3. 编辑完后保存退出。然后执行以下命令重启 Manager:

/etc/init.d/transwarp-manager restart

 

4. 重启完毕后,再在Manager页面上,点击【管理】-【Aquila】,在该页面点击【更多操作】-【配置服务】,配置完成后,重启 Aquila 的 node exporter 角色。

 

二、 编写脚本获取指标

1. 首先根据需求确定如何获取需要的指标,以“创建线程数最多的10个进程所创建的线程总数”为例,可以通过如下脚本获取:

# ps -eLo pid,nlwp --sort=-nlwp | awk '!seen[$1]++' | head -n 11 | grep -i -v pid | awk '{sum+=$2} END{print sum}'



2. 
但是若要Aquila接收到这个指标数据,则必须将其写入文件中。

所以需要编写这样一个脚本:

cnt=`ps -eLo pid,nlwp --sort=-nlwp | awk '!seen[$1]++' | head -n 11 | grep -i -v pid | awk '{sum+=$2} END{print sum}'`

file=/var/log/aquila/textfile/output/threadCnt.prom

echo "# Sum of threads creating by top 10 procs" > $file

echo "sum_of_threads_creating_by_top_10_procs{host=\"tdh-dsy-01\"} $cnt" >> $file

 

3. 上方脚本会将我们上面的脚本执行结果输出到/var/log/aquila/textfile/output/threadCnt.prom这个文件中。


tdh-dsy-01需要改为实际的节点 hostname,文件请确保在 /var/log/aquila/textfile/output 路径下且后缀名为 .prom,指标定义的名称为sum_of_threads_creating_by_top_10_procs也可根据自己的需要进行修改。如果需要监控的指标不是本例子中的,请修改cnt后面的具体命令。这一步是编写自定义监控内容的获取方式。

 

三、 定期调度脚本并更新文件

通过 crontab 或其他方式定时执行上面的脚本。此部分略过。

这一步是将获取自定义监控内容脚本实现自动化调度。

 

四、 检查 Aquila 是否获取指标数据

执行以下命令确认 Aquila 是否获取到了数据。如图所示。

curl http://{hostname}:8670/metrics | grep {指标名称}


上图中可以看到获取到了我们自定义的数据。这一步是为了确认Aquila能够正确接收到我们自定义监控指标的数据。

 

五、 配置 Aquila 告警规则

确认Aquila能获取自定义监控数据后,就可以配置告警规则了。

1.  Aquila 页面,点击【告警】>【规则设置】,进入规则设置页面。



2. 
再点击【新建规则】。



3填写必填字段,并在【指标】字段中填写我们定义的指标名称sum_of_threads_creating_by
_top_10_procs,在设置告警的阈值和持续时间,全部设置完毕后点击【保存】。即可完成告警的配置。


本篇文章链接https://kb.transwarp.cn/posts/9957



评论
登录后可评论
发布者
A
Admin
官方
文章
17
问答
42
关注者
18
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入