一个数据源(日志库或时序库)中会存在很多字段,用于智能巡检。本文介绍如何合理选择字段用于配置数据特性。

您在配置数据特征时,可选择数据类型为指标化数据或非指标化数据,两者的数据特征配置不同。
  • 针对指标化数据,模型采用消费组方式提取指标,对指标进行智能巡检。
  • 针对非指标化数据,模型通过您自定义的查询和分析语句提取指标,对指标进行智能巡检。

日志样例

一般用于智能巡检的日志为如下两种形式:

  • 日志A
    __time__: 1631794322
    service_name: front-end
    host_name: front-end-davadf-0
    process_pid: 9
    cpu_util: 0.8
    mem_util: 34
    avg_load: 10.534
    disk_util: 0.112
  • 日志B
    __time__: 1631794322
    service_name: front-end
    host_name: front-end-davadf-0
    process_pid: 9
    metric_name: cpu_util
    value: 0.8

配置示例一

采用消费组方式提取指标,对指标进行智能巡检。配置示例如下:

  • 日志A
    • 配置时间项为__time__。
    • 配置实体项为service_name、host_name、process_pid。
      说明 当前实体可能有多个process_pid,导致实体项(service_name、host_name)在每个时间点,不能指定唯一的实体。如果只配置实体项为service_name、host_name,会导致模型不能识别数据特征。
    • 配置特征项为cpu_util、mem_util、disk_util。
  • 日志B
    • 配置时间项为__time__。
    • 配置实体项为service_name、host_name、process_pid、metric_name。
      说明 当前实体可能有多个process_pid和metric_name,导致实体项(service_name、host_name)在每个时间点,不能指定唯一的实体。如果只配置实体项为service_name、host_name,会导致模型不能识别数据特征。
    • 配置特征项为value。

配置示例二

通过您自定义的查询和分析语句提取指标,对指标进行智能巡检。配置示例如下:
说明 通过SQL聚合后,实体项可以指定唯一的实体。
  • 日志A
    • 配置查询和分析语句为* | select __time__-__time__%60 as __time__, avg(cpu_util) as cpu_util, avg(mem_util) as mem_util, service_name, host_name from log group by __time__, service_name, host_name limit 1000
    • 配置时间项为__time__。
    • 配置实体项为service_name、host_name。
    • 配置特征项为cpu_util、mem_util、disk_util。
  • 日志B
    • 配置查询和分析语句为* | select __time__-__time__%60 as __time__, avg(if(metric_name = 'cpu_util', value, 0)) as value, service_name, host_name from log group by __time__, service_name, host_name limit 1000
    • 配置时间项为__time__。
    • 配置实体项为service_name、host_name。
    • 配置特征项为value。