openGauss学习笔记-298 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-Forecast:趋势预测

298.1 概述

趋势预测功能模块主要实现基于历史时序数据预测未来时序变化趋势。该模块框架解耦,可以实现不同预测算法的灵活替换,并且该模块功能可以实现不同特征时序的算法自动选择,支持线性特征时序预测LR回归算法和非线性特征预测ARIMA算法。目前该模块可以覆盖线性时序、非线性时序和周期时序的准确预测。

298.2 环境部署

指标采集系统运行正常。

298.3 使用指导

假设用户已经初始化配置文件目录confpath,则可以通过下述命令实现本特性的功能:

  • 仅启动趋势预测功能,启动命令如下(更多用法参考对service子命令的说明)::

    gs_dbmind service start -c confpath --only-run forecast
    
  • 用户交互式趋势预测,查看某一instance的指标metric从timestamps0到timestamps1时间段内的预测结果,命令如下:

    gs_dbmind component forecast show -c confpath --metric-name metric --host instance --start-time timestamps0 --end-time timestamps1
    
  • 用户手动清理历史预测结果,命令如下:

    gs_dbmind component forecast clean -c confpath --retention-days DAYS
    
  • 用户自定义阈值下限low和上限up同时进行趋势预测,查看某一instance的指标metric从timestamps0到timestamps1时间段内的预测结果并查看预测值是否超出阈值,命令如下:

    gs_dbmind component forecast early-warning -c confpath --metric-name metric --host instance --start-time timestamps0 --end-time timestamps1 --upper up --lower low
    
  • 停止已启动的服务,命令如下:

    gs_dbmind service stop -c confpath
    

298.4 获取帮助

模块命令行说明:

gs_dbmind component forecast --help
usage: forecast.py [-h] -c DIRECTORY [--metric-name METRIC_NAME] [--host HOST]
                   [--labels LABELS] [--start-time TIMESTAMP_IN_MICROSECONDS]
                   [--end-time TIMESTAMP_IN_MICROSECONDS]
                   [--retention-days DAYS] [--upper UPPER] [--lower LOWER]
                   [--warning-hours WARNING-HOURS]
                   [--csv-dump-path CSV_DUMP_PATH]
                   {show,clean,early-warning}

Workload Forecasting: Forecast monitoring metrics

positional arguments:
  {show,clean,early-warning}
                        Choose a functionality to perform

optional arguments:
  -h, --help            show this help message and exit
  -c DIRECTORY, --conf DIRECTORY
                        Set the directory of configuration files
  --metric-name METRIC_NAME
                        Set a metric name you want to retrieve
  --host HOST           Set a host you want to retrieve. IP only or IP with
                        port.
  --labels LABELS       A list of label (format is label=name) separated by
                        comma(,). Using in warning.
  --start-time TIMESTAMP_IN_MICROSECONDS
                        Set a start time for retrieving, supporting UNIX-
                        timestamp with microsecond or datetime format
  --end-time TIMESTAMP_IN_MICROSECONDS
                        Set an end time for retrieving, supporting UNIX-
                        timestamp with microsecond or datetime format
  --retention-days DAYS
                        Clear historical diagnosis results and set the maximum
                        number of days to retain data
  --upper UPPER         The upper value of early-warning. Using in warning.
  --lower LOWER         The lower value of early-warning. Using in warning.
  --warning-hours WARNING-HOURS
                        warning length, unit is hour.
  --csv-dump-path CSV_DUMP_PATH
                        Dump the result CSV file to the path if it is
                        specified. Use in warning.

298.5 命令参考

表 1 gs_dbmind component forecast 命令行说明

参数 参数说明 取值范围
-h, --help 帮助命令 -
action 动作参数 show:结果展示clean:清理结果early-warning:进行报警
-c,--conf 配置目录 -
--metric-name 指定显示指标名,用于过滤 -
--host 指定服务IP和端口号,用于过滤 -
--labels 报警信息使用的标签,格式为键值对,以逗号分隔 -
--start-time 显示开始时间的时间戳,单位毫秒;或日期时间格式为 %Y-%m-%d %H:%M:%S. 正整数或日期时间格式
--end-time 显示开始时间的时间戳,单位毫秒;或日期时间格式为 %Y-%m-%d %H:%M:%S. 正整数或日期时间格式
--retention-days 保留结果天数 非负实数
--upper 报警阈值上限 实数
--lower 报警阈值下限 实数
--warning-hours 预测值报警的时间范围,单位为小时 正整数
--csv-dump-path 结果导出的csv文件路径 -

298.6 常见问题处理

  • 综合实际业务与模型预测效果考虑,趋势预测时长建议不要太短,建议大于3600秒(如果指标采集周期为15秒,则数据量为240个),否则预测效果会变差,并且数据量极小时,服务会异常,因此默认配置为3600秒
  • 配置文件中的参数重新设置后,需要重新启动服务进程才能生效。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

img