如何使用 taosKeeper 做好监控工作,时序数据库 TDengine 3.0 监控工具详解

news/2024/7/4 7:44:27 标签: 时序数据库, tdengine, java

小 T 导读:taosKeeper 是 TDengine 3.0 的运行状态指标监控工具,通过简单的几项配置即可获取 TDengine 的运行状态信息。其使用 TDengine RESTful 接口,所以不需要安装 TDengine 客户端即可使用。本文将详细解读 taosKeeper 的详细语法规则,方便有需要的用户开展应用。

时序数据库 TDengine( Time Series Database) 通过 taosKeeper 将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度等信息定时写入指定数据库,也支持对重要的系统操作(比如登录、创建、删除数据库等)以及各种错误报警信息进行记录。系统管理员可以从命令行直接查看该数据库,也可以在 Web 端通过图形化界面查看这些监测信息。这些监测信息的采集缺省是打开的,也可以通过修改配置文件里的选项 monitor 来关闭。

taosKeeper 安装方式:单独编译 taosKeeper 并安装,详情请参考 taosKeeper 仓库(GitHub - taosdata/taoskeeper)。

配置和运行方式

taosKeeper 需要在操作系统终端中执行,该工具支持三种配置方式:命令行参数、环境变量和配置文件。优先级为:命令行参数、环境变量、配置文件参数。

需要注意的是,在运行 taosKeeper 之前要确保 TDengine 集群与 taosAdapter 已经正确运行,并且 TDengine 已经开启监控服务。监控配置可参考相关文档,具体的配置项包括 monitor、monitorFqdn、monitorPort、monitorInterval 和 telemetryReporting。

命令行参数启动

可以直接执行 taosKeeper,也可以在执行命令时提供命令行参数。

$ taosKeeper

环境变量启动

通过设置环境变量达到控制启动参数的目的,通常在容器中运行时使用。

$ export TAOS_KEEPER_TDENGINE_HOST=192.168.64.3
$ taoskeeper

具体参数列表请参照 taoskeeper -h 输入结果。

配置文件启动

执行以下命令即可快速体验 taosKeeper。当不指定 taosKeeper 配置文件时,优先使用 /etc/taos/keeper.toml配置,否则将使用默认配置。

$ taoskeeper -c <keeper config file>

具体配置文件示例请参考:taosKeeper | TDengine 文档 | 涛思数据

获取监控指标

taosKeeper 作为 TDengine 监控指标的导出工具,可以将 TDengine 产生的监控数据记录在指定数据库中,并提供导出接口。

查看监控结果集

$ taos
# 如上示例,使用 log 库作为监控日志存储位置
> use log;
> select * from cluster_info limit 1;

结果示例:

ts | first_ep | first_ep_dnode_id | version | master_uptime | monitor_interval | dbs_total | tbs_total | stbs_total | dnodes_total | dnodes_alive | mnodes_total | mnodes_alive | vgroups_total | vgroups_alive | vnodes_total | vnodes_alive | connections_total | protocol | cluster_id |
===============================================================================================================================================================================================================================================================================================================================================================================
2022-08-16 17:37:01.629 | hlb:6030 | 1 | 3.0.0.0 | 0.27250 | 15 | 2 | 27 | 38 | 1 | 1 | 1 | 1 | 4 | 4 | 4 | 4 | 14 | 1 | 5981392874047724755 |
Query OK, 1 rows in database (0.036162s)

导出监控指标

$ curl http://127.0.0.1:6043/metrics

部分结果集:

# HELP taos_cluster_info_connections_total
# TYPE taos_cluster_info_connections_total counter
taos_cluster_info_connections_total{cluster_id="5981392874047724755"} 16
# HELP taos_cluster_info_dbs_total
# TYPE taos_cluster_info_dbs_total counter
taos_cluster_info_dbs_total{cluster_id="5981392874047724755"} 2
# HELP taos_cluster_info_dnodes_alive
# TYPE taos_cluster_info_dnodes_alive counter
taos_cluster_info_dnodes_alive{cluster_id="5981392874047724755"} 1
# HELP taos_cluster_info_dnodes_total
# TYPE taos_cluster_info_dnodes_total counter
taos_cluster_info_dnodes_total{cluster_id="5981392874047724755"} 1
# HELP taos_cluster_info_first_ep
# TYPE taos_cluster_info_first_ep gauge
taos_cluster_info_first_ep{cluster_id="5981392874047724755",value="hlb:6030"} 1

TDinsight

除了 taosKeeper,TDengine 还提供了 TDinsight——使用监控数据库 + Grafana 对 TDengine 进行监控的解决方案,下文将浅谈一下 TDinsight 的前期部署和准备。在部署时,我们首先需要下载自动化脚本 TDinsight.sh

wget https://github.com/taosdata/grafanaplugin/raw/master/dashboards/TDinsight.sh
chmod +x TDinsight.sh

准备:

  1. TDengine Server 信息:
    • TDengine RESTful 服务:使用参数 -a指定。如果是运行在同一主机,通常是 http://localhost:6041
    • TDengine 用户名和密码,使用 -u-p 指定。
  2. Grafana 告警通知
    • 使用已经存在的 Grafana Notification Channel uid,参数 -E。该参数可以使用 curl -u admin:admin localhost:3000/api/alert-notifications |jq 来获取。JSON 解析工具 jq 可能需要单独安装。
sudo ./TDinsight.sh -a http://localhost:6041 -u root -p taosdata -E <notifier uid>

运行程序并重启 Grafana 服务,打开面板:http://localhost:3000/d/tdinsight可以查看 TDengine 服务运行状态。

监控数据库为用户提供了更多的监控项,与 taosKeeper 共同筑牢 TDengine 数据监控的城墙。在下一篇文章中,我们将会详解解说如何使用 TDinsight 方案对 TDengine 进行监控,敬请期待。


http://www.niftyadmin.cn/n/216890.html

相关文章

JavaSE 05 面向对象

文章目录 ⛅目录📚 初识面向对象🍉 面向过程 & 面向对象🍊 什么是面向对象🌊回顾方法的定义🍹方法的定义🍸 方法的调用🍈 静态方法🍍 非静态方法🥭 形参和实参🥝 值传递和引用传递🥑 this 关键字🎨 类与对象的创建🍥 类与对象的关系🌼 tip🌵…

【从零开始学Skynet】工具篇(二):虚拟机文件的复制粘贴

大家在Linux系统下开发的时候肯定会遇到虚拟机与主机间无法复制粘贴的问题&#xff0c;现在我们就来解决这样的问题&#xff0c;方便我们的开发。 1、打开设置 我们可以系统界面的菜单栏点击“控制”&#xff0c;然后打开“设置”&#xff1b; 也可以在VirtualBox界面打开“设…

银行数仓分层架构

一、为什么要对数仓分层 实现好分层架构&#xff0c;有以下好处&#xff1a; **1&#xff09;清晰数据结构&#xff1a;**每一个数据分层都有对应的作用域&#xff0c;在使用数据的时候能更方便的定位和理解。 **2&#xff09;数据血缘追踪&#xff1a;**提供给业务人员或下游…

springboot学习2

一、spring boot自动装配原理 pom.xml spring-boot-dependencies 核心依赖在父工程中 在写或者引入一些spring boot依赖的时候&#xff0c;不需要指定版本&#xff0c;因为有这些版本仓库启动器 <dependency><groupId>org.springframework.boot</groupId>&…

【Linux】git命令(基础,新手)

文章目录1.查看当前git版本信息2.安装git3.将远端仓库克隆到本地4.三板斧第一招&#xff1a;git add5.三板斧第二招&#xff1a;git commit6.三板斧第三招&#xff1a;git push7.对仓库文件进行更改8.查看使用提交日志9.查看本地与远端的同步状态10.从远端仓库拉取最新版本文件…

光萤CEO陈海洲:平台模式将成为户用分布式光伏市场的主流 | 爱分析调研

近两年来&#xff0c;随着国家“双碳”目标的确立&#xff0c;清洁能源迎来重要发展机遇&#xff0c;其中户用分布式光伏因其对土地资源占用少、离用电侧距离近以及与国家乡村振兴战略共振的效果而受到显著的政策倾斜性支持。2020-2022年户用分布式光伏新增装机量持续攀升&…

LinuxGUI自动化测试框架搭建(十一)-第一个Linux桌面应用程序GUI自动化测试实例

(十一)-第一个Linux桌面应用程序GUI自动化测试实例 1 创建工程1.1 工程存放目录1.2 新建工程2 第一个实例2.1 实例需求2.2 需求实现2.2.1 新建一个examples包2.2.2 新建脚本test_gedit.py2.2.3 引入包2.2.4 使用unittest框架组织用例2.2.5 setUpClass方法打开应用2.2.6 tearD…

CUDA编程基础与Triton模型部署实践

作者&#xff1a;王辉 阿里智能互联工程技术团队 近年来人工智能发展迅速&#xff0c;模型参数量随着模型功能的增长而快速增加&#xff0c;对模型推理的计算性能提出了更高的要求&#xff0c;GPU作为一种可以执行高度并行任务的处理器&#xff0c;非常适用于神经网络的推理计算…