当前位置: 首页 > article >正文

TDengine 运维——巡检工具(定期检查)

在这里插入图片描述

背景

TDengine 在运行一段时间后需要针对运行环境和 TDengine 本身的运行状态进行定期巡检,本文档旨在说明如何使用巡检工具对 TDengine 的运行环境进行自动化检查。

安装工具使用方法

工具支持通过 help 参数查看支持的语法

Usage: taosinspect [OPTIONS]Check Database deployment environmentOptions:-m, --model [local|ssh]     connection model, default: local-f, --config TEXT           Full path of test config file  [required]-r, --result TEXT           Full path of result directory  [required]-b, --backend BOOLEAN       Run process in backend. default: False-cn, --check-nginx BOOLEAN  Whether check nginx's config, default: False-v, --version               Show version--help                      Show this message and exit.

参数详细说明

  • model:安装工具运行模式,分为 local 和 ssh。安装环境的多节点间支持 SSH 通信,可选择 ssh 模式,在任意节点上运行安装工具,会依次对所有节点环境完成安装操作。反之,节点间不支持 SSH 通信时,可选择 local 模式,仅对工具运行所在机器完成安装操作,默认为 local 模式。
  • config:安装工具加载的配置文件,其具体配置方式详见 配置文件使用说明 章节。不配置 config 参数时配置文件默认值为/etc/taos/inspect.cfg。
  • result:巡检运行结束后结果文件和相关日志文件的存储目录,默认是用户在 taos.cfg 中配置的 logDir 对应目录。
  • backend:后台运行安装工具,选择 True 后安装工具在自动在后台运行,默认为 False。
  • check-nginx:是否检测负载均衡 nginx 的配置文件,默认值为 False。
  • version:打印安装工具版本信息。

配置文件使用说明

########################################################
#                                                      #
#                  Configuration                       #
#                                                      #
######################################################### 安装部署TDengine的环境信息,支持免密登录和SSH登录两种方式,当环境配置了免密登录后不用配置password信息。
# 除此外还支持从TDengine自动获取集群信息,该模式下不需配置集群节点的ip和FQDN,仅需要配置连接各节点的用户信息(免密时不用配置password信息)
# 配置方式1、2和3不可配置
[test_env]
# 配置方式1: 通过TDengine获取集群信息
username=root
password=123456
port=22# 配置方式2: 节点间通过SSH协议访问
# firstep=192.168.0.1||fqdn=tdengine1||username=root||password=123456||port=22
# secondep=192.168.0.2||fqdn=tdengine2||username=root||password=123456||port=22
# dnode3=192.168.0.3||fqdn=tdengine3||username=root||username=123456||port=22# 配置方式3: 节点间配置免密登录
# firstep=192.168.0.1||fqdn=tdengine1||username=root||port=22
# secondep=192.168.0.2||fqdn=tdengine2||username=root||port=22
# dnode3=192.168.0.3||fqdn=tdengine3||username=root||port=22# TDegine的Restful连接信息
[database]
username=root
password=taosdata
port=6030
rest_port=6041# Nginx服务所在服务器的连接信息
[nginx]
ip=192.168.0.100
username=root
password=123456
port=22# oem版本的版本名称,默认不使用
# [oem]
# version=prodb# /etc/sysctl.conf中系统参数,工具会按照下面配置修改系统参数值
[sys_vars:/etc/sysctl.conf]
fs.nr_open=2147483584
fs.file-max=2147483584
net.ipv4.ip_local_port_range=10000 65534# /etc/security/limits.conf中系统参数,工具会按照下面配置修改系统参数值
[sys_vars:/etc/security/limits.conf]
* soft nproc=65536
* soft nofile=1048576
* soft stack=65536
* hard nproc=65536
* hard nofile=1048576
* hard stack=65536
root soft nproc=65536
root soft nofile=1048576
root soft stack=65536
root hard nproc=65536
root hard nofile=1048576
root hard stack=65536# 预安装软件列表
[app_list]
app1=screen
app2=tmux
app3=gdb
app4=fio
app5=iperf,iperf3
app6=sysstat
app7=net-tools 
app8=jansson
app9=snappy
app10=ntp,chrony
app11=tree
app12=wget# 巡检覆盖的TDengine服务范围
[td_services]
ts1=taosd
ts2=taosadapter
ts3=taoskeeper
ts4=taosx
ts5=taos-explorer# 可忽略的TDengine错误日志
[skip_error_strs]
str1=failed to get monitor info
str2=Table does not exist
str3=failed to send
str4=Fail to get table info

巡检范围

磁盘巡检范围

No巡检项目详细说明告警规则
1磁盘基本信息磁盘类型和磁盘空间
2磁盘挂载信息通过 lsblk 查询的磁盘挂载信息
3数据库数据目录使用情况数据目录的挂载路径,文件系统,存储类型,已用空间,可用空间和空间使用率磁盘已用空间低于 15%
4数据库数据目录 Inode 情况数据目录对应的 idnode 已用空间,可用空间和空间使用率

系统巡检范围

No巡检项目详细说明告警规则
1系统基本信息系统名称、系统启动时间、防火墙和 SELinux 服务状态防火墙或 SElinux 服务未关闭
2域名解析配置FQDN 和 IP 信息是否配置到/etc/hosts 文件缺少任一 FQDN 的域名解析
3预安装软件指定的原装软件是否已安装,若安装记录其版本
4系统参数配置检查系统参数值是否与配置文件中指定系统参数的配置一致
5系统内存错误收集系统内核错误日志信息存在内核错误日志
6SWAPNESS 配置SWAPNESS 配置状态及其配置值大小SWAPNESS 配置值大于 10
7Coredump 配置coredump 路径是否配置1. coredump 未配置;2. coredump 挂载目录为系统根目录;3. coredump 文件个数大于 0

数据库巡检范围

No巡检项目详细说明告警规则
1数据库版本taosd、taos、taosKeeper、taosAdapter、taosX 和 taos-explorer 的版本信息服务端和客户端的版本不一致
2taosd 进行打开文件数taosd 进行打开文件数大小文件数量跟预设值不一致
3数据库服务状态服务当前运行状态任一服务运行状态异常
4数据库服务详情服务自启动配置、启动时间、持续运行时间、内存占用空间和 CPU 使用率CPU 使用率超过 80% 持续时间超过 30 分钟
5数据库参数配置数据库所有参数信息
6数据库错误日志统计 taosd、taos 和 taosAdapter 的错误日志数量有任意错误日志
7数据库 dnode 信息每个 Dnode 分配的 vnodes 数量,dnode 状态,dnode 启动时间和最近一次重启时间dnode 存活数量小于集群 dnode 的总和
8数据库 mnode 信息每个 mnode 的角色,mnode 状态,mnode 启动时间和最近一次重启时间mnode 存活数量小于集群 dnode 的总和
9数据库 vnode 信息每个 vnode 所在 dnodeId、vgroupId、db 名称、当前状态、启动时间和 restored 状态任一 vnode 的 restored 状态部位 True
10数据库用户信息数据库用户的相关配置和权限1. Root 用户的默认密码未修改;2. 未配置监控专用的数据库用户;3. 普通数据库用户未定义
11数据库权限信息数据库 Instance 的权限信息1. 测点使用数超过授权数的 80%;2. 数据库授权到期时间距现在少于 90 天
12数据库慢查询最近 30 天慢查询数量最近 30 天有慢查询记录
13taosx 数据目录taosx 数据目录taosX 数据目录是默认系统根目录

库表巡检范围

No巡检项目详细说明告警规则
1库表占用空间数据库本地占用磁盘空间
2库表概要统计数据库数量、超级表数量、子表数量、普通表数量、流数量、topic 数量和订阅数量。数据库本地占用磁盘空间
3测点统计每个数据库已用测点数测点使用数超过授权数的 80%
4vgroup 分布信息每个数据库的 vgroup 数量,每个 dnode 的 vgroup 数量
5vgroup 详细信息每个数据库对应 vgroup 的 Leader 和 Follower 分布情况以及 vgroups 详情
6vnode 详细信息每个数据库对应 vnode 的角色、FQDN、数据目录、占用磁盘空间、role_time、start_time 和 restored 状态1. 目录下 SMA 或 WAL 文件占用磁盘空间超过 DATA 文件大小;2. vnode 数量大于 CPU 核数 * 2
7数据库副本数每个数据库的副本数量集群副本数小于 3
8数据库 Schema 定义每个数据库的 Schema 定义
9超级表 Schema 定义每个超级表的 Schema 定义
10超级表详细信息每个超级表以及对应子表数量数据库中没有任何超级表
11流计算信息流 Schema 定义、流计算详情和任务详情
12订阅主题信息主题 schema 定义、主题详情
13订阅消费者信息消费者详情
14订阅信息订阅详情

Nginx 配置巡检(可选)

No巡检项目详细说明告警规则
1Nginx 配置各节点的 hostanme 和 ip 是否正确配置到 Nginx 配置文件配置文件中 FQDN 配置信息缺失或错误

结果文件

巡检工具运行后会在工具运行用户在 taos.cfg 中配置的 logDir 目录下生成三类文件,包含了巡检报告 inspect_report.md,巡检结构化数据 inspect.json,数据库和超级表初始化文件 stabel_schemas.md、各节点 taos、taosd 和 taosKeeper 对应的错误日志文件和各服务对应的配置文件。最后会将出错误日志文件以外的其他所有文件压缩为 results.zip

应用示例

在工具所在节点执行巡检任务

./taosinspect -m local

在集群所有节点执行巡检任务

./taosinspect -m ssh

指定配置文件并在集群所有节点执行巡检任务

./taosinspect -m ssh -f /path_to_file/install.cfg

在集群所有节点执行巡检任务,包括检查 nginx 服务配置文件

./taosinspect -m ssh -f /path_to_file/install.cfg -cn true

访问官网

更多内容欢迎访问 TDengine 官网

相关文章:

TDengine 运维——巡检工具(定期检查)

背景 TDengine 在运行一段时间后需要针对运行环境和 TDengine 本身的运行状态进行定期巡检,本文档旨在说明如何使用巡检工具对 TDengine 的运行环境进行自动化检查。 安装工具使用方法 工具支持通过 help 参数查看支持的语法 Usage: taosinspect [OPTIONS]Check…...

8.7 基于EAP-AKA的订阅转移

8.7 基于EAP-AKA的订阅转移 以下场景描述如下情况: • 主ODSA设备应用程序被允许用于该类型主设备,且已获得服务提供商(SP)授权。 • 终端用户在存有活跃订阅的旧主设备上发起订阅转移请求,且可访问eSIM数据。 • 由于…...

qwen 2.5 并行计算机制:依靠 PyTorch 和 Transformers 库的分布式能力

qwen 2.5 并行计算机制:依靠 PyTorch 和 Transformers 库的分布式能力 完整可运行代码: import torch import torch.nn.functional as F from transformers...

调整数据集的方法

我们对worldquant中的数据, 对数据频率怎么算 在 WorldQuant 平台中,数据更新频率是影响量化策略有效性、回测准确性和实盘交易表现的核心因素之一。它决定了数据的时效性和连续性,直接关系到策略能否捕捉市场动态、应对突发事件或适应不同…...

TCP 四次挥手

引言:优雅的告别 在网络通信中,建立连接需要三次握手,而终止连接则需要四次挥手。这种设计体现了 TCP 协议的可靠性和完整性原则。本文将用通俗易懂的方式,深入解析四次挥手的原理、状态转换和实际应用,帮助您掌握这一…...

MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法|文献速递-深度学习医疗AI最新文献

Title 题目 MSTNet: Multi-scale spatial-aware transformer with multi-instance learning for diabetic retinopathy classification MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法 01 文献速递介绍 糖尿病视网膜病变&#…...

docker运行程序Killed异常排查

问题描述 我最近开发了一个C 多线程程序,测试没有问题,封装docker测试也没有问题,然后提交给客户了,然后在他那边测试有问题,不定时、不定位置异常中断,以前一直认为只要封装了docker就万事大吉&#xff0…...

【数学 逆序对 构造】P12386 [蓝桥杯 2023 省 Python B] 混乱的数组|普及+

本文涉及知识点 数学 构造 P12386 [蓝桥杯 2023 省 Python B] 混乱的数组 题目描述 给定一个正整数 x x x&#xff0c;请找出一个尽可能短的仅含正整数的数组 A A A 使得 A A A 中恰好有 x x x 对 i , j i, j i,j 满足 i < j i < j i<j 且 A i > A j A_…...

Excel 批量下载PDF、批量下载考勤图片——仙盟创梦IDE

在办公场景中&#xff0c;借助应用软件实现 Excel 批量处理考勤图片、电子文档与 PDF&#xff0c;具有诸多显著优势。 从考勤图片处理来看&#xff0c;通过 Excel 批量操作&#xff0c;能快速提取图片中的考勤信息&#xff0c;如员工打卡时间、面部识别数据等&#xff0c;节省…...

PCIe-Error Detection(一)

下表为PCIe协议中给出的错误&#xff1a; 一、可纠正错误&#xff08;Correctable Errors&#xff0c;8种&#xff09;​​ ​​检错机制​​ ​​错误名称​​​​检测层级​​​​触发条件​​​​Receiver Error​​Physical接收端均衡器&#xff08;EQ&#xff09;监测到…...

向量空间的练习题目

1.考虑 中的向量x1 和x2 求每一向量的长度 令x3x1x2,求x3的长度&#xff0c;它的长度与x1和x2的和有什么关系&#xff1f; 2.重复练习1&#xff0c;取向量 3.令C为复数集合&#xff0c;定义C上的加法为 (abi)(cdi)(ac)(bd)i 并定义标量乘法为对所有实数a (abi) a bi 证明&…...

Leetcode 2123. 使矩阵中的 1 互不相邻的最小操作数

1.题目基本信息 1.1.题目描述 给你一个 下标从 0 开始 的矩阵 grid。每次操作&#xff0c;你可以把 grid 中的 一个 1 变成 0 。 如果一个矩阵中&#xff0c;没有 1 与其它的 1 四连通&#xff08;也就是说所有 1 在上下左右四个方向上不能与其他 1 相邻&#xff09;&#x…...

MySQL高可用集群

https://dev.mysql.com/doc/mysql-shell/8.4/en/mysql-innodb-cluster.html 1 什么是MySQL高可用集群 MySQL高可用集群&#xff1a;MySQL InnoDB ClusterInnoDB Cluster是MySQL官方实现高可用读写分离的架构方案&#xff0c;包含以下组件 MySQL Group Replication&#xff1a;简…...

day14 leetcode-hot100-27(链表6)

21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; 1. 暴力法 思路 创建一个空节点&#xff0c;用来组装这两个链表&#xff0c;谁小谁就是下一个节点。 知识 创建空节点&#xff1a;ListNode n1 new ListNode(-1); 具体代码 /*** Definition for singly-l…...

YOLOv5 :训练自己的数据集

- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/rnFa-IeY93EpjVu0yzzjkw) 中的学习记录博客** - **&#x1f356; 原作者&#xff1a;[K同学啊](https://mtyjkh.blog.csdn.net/)** 我们接着上一篇文章配置完YOLOv5需要的环境后&#…...

flutter项目迁移空安全

重中之重 备份好项目文件&#xff0c;甚至连已经加载好的flutter库也可以备份。环境包升级 2.1 不要直接换成flutter:3.0以上的版本&#xff0c;这样做既有基本的库兼容问题&#xff0c;又有空安全下的语法问题(整个项目中需要增加 late、?、!的语法错误&#xff0c;一片报错的…...

vue element日期范围选择器只能选择指定天数内的

<el-date-pickerv-model"dateRange"type"daterange"range-separator"至"start-placeholder"开始日期"end-placeholder"结束日期"format"yyyy-MM-dd"value-format"yyyy-MM-dd"clearable:picker-optio…...

从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)

五、RabbitMQ 工作原理全揭秘 在深入了解了 RabbitMQ 的核心组件之后&#xff0c;接下来让我们深入探究 RabbitMQ 的工作原理&#xff0c;揭开其在消息生产、投递、消费以及可靠性保障等方面的神秘面纱。 5.1 消息生产与投递流程 建立连接与信道&#xff1a;生产者首先通过 …...

MySql(十二)

目录 MySql约束 1.添加主键约束 语法格式 1&#xff09;创建一个带主键的表 查看表结构 2&#xff09;创建表的时候指定主键名称 查看表结构 3&#xff09;创建一个表然后&#xff0c;然后再使用alter为列添加主键 查看表结构 4&#xff09;为表添加数据 1---正常数据 2---主键…...

51c视觉~3D~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/13954440 #SceneTracker 在4D时空中追踪万物&#xff01;国防科大提出首个长时场景流估计方法 本篇分享 TPAMI 2025 论文​​SceneTracker: Long-term Scene Flow Estimation Network​​&#xff0c;国防科大提出首…...

windows11安装编译QtMvvm

windows11安装编译QtMvvm 1 从github下载代码2 官方的Download/Installtion3 自行构建编译QtMvvm遇到的问题3.1 `qmake`问题执行命令报错原因分析qmake报错:找不到编译器 cl解决方案3.2 `make qmake_all`问题执行命令报错原因分析make命令未识别解决方案3.3 缺少`perl`问题执行…...

【2025年电工杯数学建模竞赛A题】光伏电站发电功率日前预测问题+完整思路+paper+源码

本人7年数学建模竞赛经验&#xff0c;历史获奖率百分之百。团队成员都是拿过全国一等奖的硕博&#xff0c;有需要数模竞赛帮助的可以私信我 本题主要涉及数据预测&#xff0c;数据分析&#xff0c;机器学习&#xff0c;时间序列等知识 1.问题背景与问题描述 2.解题思路分析 …...

OpenCv高阶(十九)——dlib关键点定位

文章目录 一、什么是人脸关键点定位&#xff1f;二、关键点模型的下载及关键信息的理解三、dlib关键点定位的简单实现&#xff08;1&#xff09;导入必要的库&#xff08;2&#xff09;从指定路径读取图像文件&#xff08;3&#xff09;创建dlib的正面人脸检测器对象&#xff0…...

BUUCTF之[ACTF2020 新生赛]BackupFile

打开环境就一句话 找出源文件! 结合题目名字&#xff1a;BackupFile 先用dirsearct扫描网站文件 发现一个index.php.bak ,拼接url下载 打开发现php代码 <?php include_once "flag.php";if(isset($_GET[key])) {$key $_GET[key];if(!is_numeric($key)) {exit…...

头歌之动手学人工智能-Pytorch 之autograd

目录 第1关&#xff1a;Variable 任务描述 编程要求 测试说明 没有伟大的愿望&#xff0c;就没有伟大的天才。——巴尔扎克开始你的任务吧&#xff0c;祝你成功&#xff01; 第2关&#xff1a;Variable 属性 任务描述 编程要求 测试说明 真正的科学家应当是个幻想家&a…...

OIer常用的软件

前言 现在许多软件的官网多不好找&#xff0c;所以我今天就将常用的一些软件官网地址翻了出来&#xff0c;并简单介绍了他的用法。 正文 1.DEV-C DEV-C 用途&#xff1a;c编译软件&#xff0c;是OIer的生涯之路的必备软件 2.Katex KATex 用途&#xff1a;展现公式的软件&…...

Centos7.x内网环境Jenkins前端打包环境配置

Centos7.x内网环境Jenkins前端打包环境配置 参考地址&#xff1a; https://www.cnblogs.com/guangdelw/p/18763336 https://2048.csdn.net/682c1be8606a8318e857d687.html 前言&#xff1a;环境描述和目标 最近公司新接了一个项目&#xff0c;要求是&#xff1a;需要再桌面…...

Kafka集成Flume/Spark/Flink(大数据)/SpringBoot

Kafka集成Flume Flume生产者 ③、安装Flume&#xff0c;上传apache-flume的压缩包.tar.gz到Linux系统的software&#xff0c;并解压到/opt/module目录下&#xff0c;并修改其名称为flume Flume消费者 Kafka集成Spark 生产者 object SparkKafkaProducer{def main(args:Array[S…...

Scratch节日 | 拯救屈原 | 端午节

端午节快乐&#xff01; 这款特别为端午节打造的Scratch游戏 《拯救屈原》&#xff0c;将带你走进古代中国&#xff0c;感受历史与文化的魅力&#xff01; &#x1f3ee; 游戏介绍 扮演勇敢的探险者&#xff0c;穿越时空回到古代&#xff0c;解锁谜题&#xff0c;完成任务&…...

rabbitmq Direct交换机简介

在实际开发中&#xff0c;需求可能变得复杂&#xff0c;如消息的收发和处理。以支付系统为例&#xff0c;成功支付后需要改变订单状态并通知用户&#xff0c;而失败则不需要。为处理这种情况&#xff0c;提出了使用Direct交换机&#xff0c;它可以根据规则将消息路由到指定队列…...