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

  运维必备技能, 使用配置
内容纲要

概要描述

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

详细说明

大概分为以下几步:

  1. 确认Aquila配置
  2. 编写脚本获取指标并按规范写入文件;
  3. 使用 crontab 或其他调度方式定时执行脚本获取最新的数据并更新文件;
  4. 检查 Aquila 是否获取到了最新的指标;
  5. 在 Aquila 中配置告警。

确认 Aquila 配置

在所需节点中确认/var/log/aquila/textfile/output目录是否存在,如果不存在,需要做以下操作。

如果存在,本步骤跳过,直接操作下一个步骤。

在 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

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

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

file

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

/etc/init.d/transwarp-manager restart

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

这一步可以让 Aquila 支持获取自定义指标。

编写脚本获取指标

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

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

file

但是若要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

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

file

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 {指标名称}

如图所示。

file

上图中可以看到获取到了我们自定义的数据。

这一步是为了确认 Aquila 能够正确接收到我们自定义监控指标的数据。

配置 Aquila 告警规则

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

file

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

file

再点击【新建规则】。

file

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

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。