一个数据源(日志库或时序库)中会存在很多字段,用于智能巡检。本文介绍如何合理选择字段用于配置数据特性。
您在配置数据特征时,可选择数据类型为指标化数据或非指标化数据,两者的数据特征配置不同。
针对指标化数据,模型采用消费组方式提取指标,对指标进行智能巡检。
针对非指标化数据,模型通过您自定义的查询和分析语句提取指标,对指标进行智能巡检。
日志样例
一般用于智能巡检的日志为如下两种形式:
日志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、avg_load、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。