TDengine 监控案例
TDengine TSDB 是一款 开源、高性能、云原生 的时序数据库(Time Series Database, TSDB, 它专为物联网、车联网、工业互联网、金融、IT 运维等场景优化设计。同时它还带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一款极简的时序数据处理平台。
这篇文章介绍如何使用 Hertzbeat 监控系统对 TDengine 通用性能指标进行采集监控
HertzBeat 是什么
Apache HertzBeat™ 一个拥有强大自定义监控能力,无需Agent的实时监控工具。网站监测,PING连通性,端口可用性,数据库,操作系统,中间件,API监控,阈值告警,告警通知(邮件微信钉钉飞书)。
安装 HertzBeat
docker
环境仅需一条命令即可安装docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat apache/hertzbeat
安装成功浏览器访问
localhost:1157
即可开始,默认账号密码admin/hertzbeat
生产环境建议完整部署方式, 参考:https://hertzbeat.apache.org/docs/start/docker-compose-deploy
启用 TDengine 监控
TDengine TSDB 集成了多种监控指标收集机制,并通过 taosKeeper 进行汇总,taosKeeper 是 TDengine TSDB 3.0 版本监控指标的导出工具,通过简单的几项配置即可获取 TDengine TSDB 的运行状态,参考:https://docs.taosdata.com/reference/components/taoskeeper/
监控 TDengine(PromQL)
新增 TDengine-PromQL 监控
系统页面 -> 监控中心 -> 新增监控 -> 自定义监控 -> TDengine-PromQL任务
填写关键参数
目标Host:Prometheus 应用服务器地址(不带协议头,例如: https://, http:// )
端口:Prometheus api 端口,默认值:9090
端点路径:Prometheus查询PromQL的URL,默认值:
/api/v1/query
可以使用标签分类来管理任务,如添加
env=test
等业务相关标签。查看检测指标数据
在监控列表可以查看任务状态,进监控详情可以查看指标数据图表等。
监控 TDengine(Prometheus)
新增 AUTO 监控
系统页面 -> 监控中心 -> 新增监控 -> AUTO -> Prometheus任务
填写关键参数
目标Host taosKeeper 服务地址(不带协议头,例如: https://, http:// )
端口:taosKeeper服务端口(例如: 6043)
端点路径:
/metrics
可以使用标签分类来管理任务,如添加
env=test
等业务相关标签。查看检测指标数据
在监控列表可以查看任务状态,进监控详情可以查看指标数据图表等。
Grafana可视化集成 (可选)
Grafana 图表配置
需启用 Grafana 可嵌入功能,并开启匿名访问。
备注完整配置请参考文档:Grafana历史图表
在 HertzBeat 监控中嵌入 Grafana 仪表盘
配置启用 Grafana 后,重启 HertzBeat 服务,在新增的 AUTO 监控中启用并上传 Grafana 模板。
比如:Grafana 数据源选择
hertzbeat-victoria-metrics
,然后在仪表盘点击:「Share」→「Export」→「Save to file」下载模板并上传至 HertzBeat 监控中,可参考:taoskeeper-prometheus-dashboard查看 Grafana 图表
进入新增 AUTO 监控页面,点击 Grafana 图标按钮,即可查看 Grafana 图表。
告警与通知联动
HertzBeat 告警配置
系统页面 -> 告警 -> 阈值规则 -> 新增 -> 新增阈值
HertzBeat 提供了 实时计算 和 计划周期 两种类型的阈值规则设置,这里我们以 计划周期 阈值规则为例。
- 阈值名称:阈值规则名称
- 阈值规则:填写指标监测的规则(支持
PromQL
) - 执行周期:周期性执行阈值计算的时间间隔
- 告警级别:触发阈值的告警级别,从低到高依次为: 警告-warning,严重-critical,紧急-emergency
- 触发次数:设置触发阈值多少次之后才会发送告警
- 告警内容:填写监测告警的内容(支持填写变量)
设置阈值规则
比如监测 Dnode 节点的系统使用的 CPU 百分比,添加阈值规则:
taos_dnodes_info_cpu_system_value > 20
可以设置的阈值规则组合有很多,用户可以根据自身需要设置更丰富的告警规则。
最后可以在 告警中心 看到已触发的告警。
告警通知
系统页面 -> 消息通知 -> 通知媒介 -> 新增接收对象
系统页面 -> 消息通知 -> 通知策略 -> 新增通知策略 -> 选择接收对象并启用通知
OK!当阈值规则触发后我们就可以收到对应告警消息啦,如果没有配置通知,也可以在告警中心查看告警信息。
总结
监控 TDengine 应用的实践就到这里,当然对 HertzBeat 来说这个功能只是冰山一角,如果您觉得 HertzBeat 这个开源项目不错的话欢迎在 GitHub、Gitee 点 Star 哦,您的 Star 是我们持续优化的动力!欢迎点亮小星星✨
让监控更简单,期待与您共建生态! 💝