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 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/82252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DHCP应用

一、DHCP介绍 在LAN(局域网)中我们常会遇到以下的情况: 1.不知道如何配置IP地址及相关信息的员工,无法上网;2.IP地址配置冲突,无法上网;3.来访用户因不熟悉公司网络情况无法上网; 以上这些情况都是日常最…

LabVIEW多按键自动化检测系统

LabVIEW开发一套高精度按键力与行程自动化检测系统,针对传统检测设备自动化程度低、定位误差大等痛点,实现多按键产品的全流程自动化测试。系统集成 6 轴工业机器人、高精度传感器及实时数据处理模块,满足汽车电子、消费电子等领域对按键手感…

嵌入式硬件篇---蜂鸣器

蜂鸣器是一种常用的电子发声元件,主要分为有源蜂鸣器和无源蜂鸣器两类。它们在结构、工作原理、驱动方式、应用场景等方面存在显著差异。以下是详细介绍: 一、核心定义与结构差异 1. 有源蜂鸣器 定义: “有源” 指内部自带振荡电路&#x…

600+纯CSS加载动画一键获取指南

CSS-Loaders.com 完整使用指南:600纯CSS加载动画库 🎯 什么是 CSS-Loaders.com? CSS-Loaders.com 是一个专门提供纯CSS加载动画的资源网站,拥有超过600个精美的单元素加载器。这个网站的最大特色是所有动画都只需要一个HTML元素…

国内高频混压PCB厂家有哪些?

一、技术领先型厂商(聚焦材料与工艺突破) 猎板PCB 技术亮点:真空层压工艺实现FR-4与罗杰斯高频材料(RO4350B/RO3003)混压,阻抗公差3%,支持64单元/板的5G天线模块,插损降低15%。 应用…

volatile,synchronized,原子操作实现原理,缓存一致性协议

文章目录 缓存一致性协议(MESI)volatile1. volatile 的作用2.volatile的底层实现3,volatile 实现单例模式的双重锁(面手写) synchronized1,基本用法2,可重入性3,Java对象头4,实现原理(1)代码块同步的实现&a…

webfuture:如何屏蔽后台发文界面的保存为新文章按钮?

问题描述: 如何屏蔽后台发文界面的保存为新文章按钮? 问题解决:修改这个文件 /Admin/Content/Base/css/base.css 定义这个的id saveAsNewItemSubmit #saveAsNewItemSubmit{display: none;}

SpringBoot集成第三方jar的完整指南

原文地址:https://blog.csdn.net/weixin_43826336/article/details/141640152?ops_request_misc%257B%2522request%255Fid%2522%253A%25227d4118ef2d572ba4428caf83f1d2bb28%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id7d4118…

题目 3293: 蓝桥杯2024年第十五届决赛真题-数位翻转

题目 3293: 蓝桥杯2024年第十五届决赛真题-数位翻转 时间限制: 2s 内存限制: 192MB 提交: 1046 解决: 318 题目描述 小明创造了一个函数 f(x) 用来翻转 x 的二进制的数位(无前导 0)。比如f(11) 13,因为 11 (1011)2,将其左右翻转…

word为跨页表格新加表头和表名

问题: 当表格过长需要跨页时(如下图所示),某些格式要求需要转页接排加续表。 方法一: 1、选中表格,在“表布局”区域点开“自动调整”,选择“固定列宽”(防止后续拆分表格后表格变…

Ubuntu上进行VS Code的配置

1. 安装VS code sudo snap install code --classic 2. 安装GCC sudo apt install build-essential 3. 安装VS Code中文包 打开 VS Code 点击左侧活动栏中的扩展图标(或按Ctrl+Shift+X) 在搜索框中输入:Chinese (Simplified) 选择由 Microsoft 提供的 中文(简体)语言包…

vr中风--数据处理模型搭建与训练2

位置http://localhost:8888/notebooks/Untitled1-Copy1.ipynb # -*- coding: utf-8 -*- """ MUSED-I康复评估系统(增强版) 包含:多通道sEMG数据增强、混合模型架构、标准化处理 """ import numpy as np impor…

【LLM vs Agent】从语言模型到智能体,人工智能迈出的关键一步

目录 一、什么是 LLM?语言的天才,思维的起点 ✅ 特点小结: 二、什么是 Agent?智能的执行者,自主的决策者 ✅ 特点小结: 三、LLM 与 Agent 的关系:是工具,更是大脑 四、案例实战…

安装DockerDocker-Compose

Docker 1、换掉关键文件 vim /etc/yum.repos.d/CentOS-Base.repo ▽ [base] nameCentOS-$releasever - Base - Mirrors Aliyun baseurlhttp://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck1 enabled1 gpgkeyhttp://mirrors.aliyun.com/centos/RPM-GPG-KEY-C…

Perl One-liner 数据处理——基础语法篇【匠心】

Perl(Practical Extraction and Report Language)是一种功能强大且灵活的脚本语言,因其强大的文本处理能力和简洁的语法而广受开发者和系统管理员的喜爱。特别是在命令行环境下,Perl 的 one-liner(单行脚本&#xff09…

Go语言defer关键字:延迟执行的精妙设计

深度解析Go语言defer关键字:延迟执行的精妙设计 引言 在Go语言中,defer语句是一种独特而强大的控制流机制,它通过​​延迟执行​​的方式解决资源管理、错误处理和异常恢复等关键问题。理解defer的工作原理是掌握Go并发编程和错误处理的关键…

C#项目07-二维数组的随机创建

实现需求 创建二维数组,数组的列和宽为随机,数组内的数也是随机 知识点 1、Random类 Public Random rd new Random(); int Num_Int rd.Next(1, 100);2、数组上下限。 //定义数组 int[] G_Array new int[1,2,3,4];//一维数组 int[,] G_Array_T …

.NET WinForm图像识别二维码/条形码并读取其中内容

需求:图像识别出一张图片中的二维码或者条形码,并读取其中内容。 一、安装库(特别注意,网上很多都没说清楚) 如果是基于.net framework,则安装ZXing.Net(建议0.14.0版本左右,具体看实际,版本太高,部分接口…

Guava限频器RateLimiter的使用示例

文章目录 1. 背景说明2. API与方法3. 示例代码3.1 基础工具方法3.2 测试任务类3.3 测试和统计方法3.4 测试两种模式的限频器3.5 测试缓冲时间与等待耗时 4. 完整的测试代码5. 简单小结 1. 背景说明 高并发应用场景有3大利器: 缓存、限流、熔断。 也有说4利器的: 缓存、限流、…

(面试)获取View宽高的几种方式

Android 中获取 View 宽高的几种方式,以及它们的适用场景和注意事项: 1. View.getWidth() 和 View.getHeight() 原理: 直接从 View 对象中获取已经计算好的宽度和高度。 优点: 简单直接。 缺点: 在 onCreate()、onStart() 等生命周期方法中&#xff0…