跳到主要内容

Anode 管理

本节介绍安装版 TDgpt Anode 的服务启停、模型启停、日志位置、目录结构和基本注册管理方法。

启停 Anode 服务

Linux 系统中安装 Anode 以后会自动创建 taosanoded 服务,用户可使用 systemd 来管理 Anode 服务,使用如下命令启动、停止、检查 Anode 运行状态。

systemctl start  taosanoded
systemctl stop taosanoded
systemctl status taosanoded

启停时间序列基础模型服务

提供时序基础模型服务需要占用较大的内存资源。避免启动过程中资源不足导致失败,暂不提供自动启动时间序列基础模型的功能。如果您需要体验时序基础模型服务,需要手动执行如下命令。

# 启动涛思时序数据基础模型
start-model tdtsfm
# 启动 Time-MoE 基础模型
start-model timemoe
# 停止涛思时序数据基础模型
stop-model tdtsfm
# 停止 Time-MoE 基础模型
stop-model timemoe

上述命令只在安装版本中可用,使用 Docker 镜像和云服务,该命令不可用。更多信息请参考时序模型服务启动和停止脚本

当前安装版 start-model / stop-model 脚本会直接使用安装目录下主虚拟环境的 Python: Linux 为 <install_dir>/venv/bin/python3<install_dir>/venv/bin/python。如果主虚拟环境缺失,脚本会直接报错,不再回退到系统 PATH 中的 Python。

目录及配置文件说明

安装完成后,Anode 主体目录结构如下:

目录/文件说明
/usr/local/taos/taosanode/bin可执行文件(脚本)目录
/usr/local/taos/taosanode/resource资源文件目录,链接到文件夹 /var/lib/taos/taosanode/resource/
/usr/local/taos/taosanode/lib库文件目录
/usr/local/taos/taosanode/model/模型文件目录,链接到文件夹 /var/lib/taos/taosanode/model
/var/log/taos/taosanode/日志文件目录
/etc/taos/taosanode.config.py配置文件

配置说明

配置文件 taosanode.config.py 默认位于 /etc/taos/ 目录下。Anode 的服务使用 Gunicorn 驱动运行,在配置文件中同时具有 Anode 和 Gunicorn 的配置信息。

3.4.1 版本配置文件

具体内容及配置项说明如下:

# gunicorn_config.py
import multiprocessing

# list address and port
bind = '0.0.0.0:6035'

# Number of worker processes (typically recommended 2 * CPU cores + 1)
workers = 2

# Specify worker type, using default sync worker here
# For IO-intensive applications, consider eventlet or gevent
worker_class = 'sync'

# Number of threads per process (recommended for model deployment)
threads = max(multiprocessing.cpu_count() / 4 + 1, 2)

# Maximum number of requests, worker will restart after reaching limit, helps release memory
max_requests = 1000

# Random jitter added to max_requests to avoid all workers restarting simultaneously
max_requests_jitter = 50

# Timeout settings
timeout = 1200

# keep-alive time
keepalive = 1200

# Log Setting
accesslog = '/var/log/taos/taosanode/access.log'
errorlog = '/var/log/taos/taosanode/error.log'

# log level: debug, info, warning, error, critical
loglevel = 'info'

# Set process name
proc_name = 'tdgpt_taosanode_app'

# Preload application before forking worker processes. This can improve startup time and save memory
preload_app = True

# [taosanode]
# default app log file
app_log = '/var/log/taos/taosanode/taosanode.app.log'

# model storage directory
model_dir = '/usr/local/taos/taosanode/model/'

# default log level
log_level = 'INFO'

# draw the query results
draw_result = False

# moe default service host
tdtsfm_1 = 'http://127.0.0.1:6061/tdtsfm'
timemoe_fc = 'http://127.0.0.1:6062/ds_predict'

提示

上面的配置文件 taosanode.config.py 只包含了基础配置参数,其他的设置及其说明请参考 Gunicorn 官方文档

Anode 运行配置主要是以下:

  • app_log: Anode 服务运行产生的日志,用户可以调整其到需要的位置
  • model_dir: 采用算法针对已经存在的数据集的运行完成生成的模型存储位置
  • log_level: app-log 文件的日志级别。可选的配置选项:DEBUG,INFO,CRITICAL,ERROR,WARN

Anode 基本操作

用户可通过 TDengine TSDB 的命令行工具 taos 进行 Anode 的管理。执行下述命令都需要确保命令行工具 taos 工作正常。

创建 Anode

CREATE ANODE {node_url}

node_url 是提供服务的 Anode 的 IP 和 PORT 组成的字符串,例如:create anode '127.0.0.1:6035'。Anode 启动后需要注册到 TDengine TSDB 集群中才能提供服务。不建议将 Anode 同时注册到两个集群中。

查看 Anode

列出集群中所有的数据分析节点,包括其 FQDN, PORT, STATUS 等属性。

SHOW ANODES;

taos> show anodes;
id | url | status | create_time | update_time |
==================================================================================================================
1 | 192.168.0.1:6035 | ready | 2024-11-28 18:44:27.089 | 2024-11-28 18:44:27.089 |
Query OK, 1 row(s) in set (0.037205s)

查看可用分析模型

SHOW ANODES FULL;

taos> show anodes full;
id | type | algo |
============================================================================
1 | anomaly-detection | grubbs |
1 | anomaly-detection | lof |
1 | anomaly-detection | shesd |
1 | anomaly-detection | ksigma |
1 | anomaly-detection | iqr |
1 | anomaly-detection | sample_ad_model |
1 | forecast | arima |
1 | forecast | holtwinters |
1 | forecast | tdtsfm_1 |
1 | forecast | timemoe-fc |
Query OK, 10 row(s) in set (0.028750s)

列表中的算法分为两个部分,分别是异常检测算法集合,包含六个算法模型,四个预测算法集。算法模型如下:

类型模型名称说明
异常检测grubbs基于数学统计学检测模型
异常检测lof基于密度的检测模型
异常检测shesd季节性 ESD 算法模型
异常检测ksigma数学统计学检测模型
异常检测iqr数学统计学检测模型
异常检测sample_ad_model基于自编码器的异常检测示例模型
预测分析arima移动平均自回归预测算法
预测分析holtwinters多次指数平滑预测算法
预测分析tdtsfm_1涛思时序数据基础模型 v1.0 版本
预测分析timemoe-fcTime-MoE 时序基础模型的预测能力

相关算法的具体介绍和使用说明见后续章节。

刷新分析算法列表缓存

UPDATE ANODE {anode_id}
UPDATE ALL ANODES

删除 Anode

DROP ANODE {anode_id}

删除 Anode 只是将 Anode 从 TDengine TSDB 集群中移除。Linux 环境下,管理 Anode 的启停仍然需要使用 systemctl 来操作,卸载 Anode 需要使用 rmtaosanode 命令。Windows 环境下,删除 Anode 不会停止本机 Taosanode 服务,也不会卸载本机安装;服务启停请使用安装目录下脚本或 Windows 服务命令,卸载请使用安装包卸载程序。