更新时间:2023-12-08 16:54:44

AnyRobot字段模型是用于定义机器数据结构的抽象模型,包含数据类型、数据类别、字段列表等要素,其中每个字段都具有名称、类型、格式、分词器等属性,这些属性的集合构成了字段的数据结构。AnyRobot字段模型通过定义字段的名称、类型和格式,确保了数据的一致性和完整性;通过使用分词器等技术对数据进行适当的分割和索引,提高了搜索的效率和准确性;通过定义数据结构规则,优化了存储结构、标准化数据内容。字段模型在AnyRobot中起着决定性的作用,提高数据存储和搜索性能的同时使数据管理和查询操作更加高效和可靠。

AnyRobot 字段模型管理模块支持字段模型的创建、删除、修改、查询及导入、导出等功能,具体操作说明如下:

创建字段模型

进入数据管理>数据生命周期管理>字段模型配置页面,如下所示:


点击【新建】,进入“新建字段模型”配置页面,如下所示:

1. 配置模型基本信息

配置参数说明详见下表:

配置参数 参数说明 限制条件
*字段模型名称 填写字段模型的名称,名称是字段模型的唯一标识。

• 字段模型名称不能重复,且不能为空;

• ≤40个字符

标签 根据实际需求设置字段模型的标签信息,用于业务标识,可通过键入回车键添加多个标签。

• 可添加多个标签,标签个数不能超过5个;

• 单个标签不能超过40字符;

• 标签不能包含 / : ? \\ " < > | : ? ‘ ’ “ ” ! 《 》 , # [ ] { } % & * $ ^ ! = . ' 特殊字符

备注 根据实际需求填写字段模型的其他属性信息。 • ≤255个字符

2. 配置字段模型信息

配置参数说明如下:

*数据类型:根据实际场景需求,配置数据类型参数,此配置项用于将具有共同业务场景或共同结构特征的数据归并为一个可识别的数据类型。

说明:1. 数据类型为必选项,不能为空,此参数全局唯一;数据类型必须为全小写,只能包含英文、数字、下划线并且必须以英文字符开头;数据类型不能超过40个字符;

2. 字段模型保存成功后,不支持修改此参数。

*数据类别:根据数据特征,选择数据的所属类别,可选项:log(日志)数据、trace(链路)数据、metric(指标)数据。

说明:1. 数据类别为必填项,不能为空。

         2. 字段模型保存成功后,不支持修改数据类别参数。

自定义字段:若需要自定义索引映射规则,您可点击【添加字段】,在弹出的“添加字段”窗口中配置索引字段名称及字段类型,如下所示:

说明:“自定义字段”为可选配置项,未定义的字段如果符合AnyRobot默认的动态模版映射规则将会使用此动态模版中的映射规则,若不符合则将使用ElasticSearch的自动映射规则。

配置参数说明如下:

*字段名:配置索引映射规则中的索引字段名称。系统包含两类默认的索引映射字段,即系统元字段业务保留字段。系统元字段为系统默认添加的与系统业务密切相关的字段数据,不支持删除、修改此类字段;业务保留字段为系统默认保留的与系统业务相关的字段数据,配置索引映射规则时,您可添加此类字段,但添加时不支持修改此类字段的字段类型。关于系统元字段及业务保留字段的详细说明,请参见下方:

说明:1.字段名为必填项,不能为空,且不能重复;字段名不能以_、__、@开头。

2. 系统元字段为默认添加的字段数据,默认的系统元字段如下所示,不支持删除、修改此类字段

系统元字段 字段类型 备注
@timestamp date 默认支持两种格式:strict_date_optional_time||epoch_millis
type keyword  
tags keyword  
category keyword  
__labels_str keyword  
__write_time date  
__index_base keyword  
__data_type keyword  

3. 业务保留字段为系统默认保留的字段数据,可在配置时将下方的业务保留字段添加为自定义字段,但添加时不支持修改字段类型

业务保留字段 字段类型
geoip.ip ip
geoip.location geo_point
geoip.latitude half_float
geoip.longitude half_float
source text
offset long
message text
link text
fileName text
labels keyword
metrics keyword
__labels_str keyword
*字段类型:配置索引字段的字段类型,字段类型参数决定了AnyRobot未来在存储、索引此字段的规则。请参见下方,了解系统当前支持配置的字段类型及不同字段类型的配置规则。

说明:1.字段类型为必选项,不能为空;

2. 关于系统当前支持配置的字段类型及配置规则,以及不同类型字段的冲突类型,具体如下:

字段类型 配置规则
字符串类型:text、keyword 当“*字段类型”为“text”时,需配置“text”字段所需的“*分词器”类型,可选项:ik_max_word(中文分词器)、english(英文分词器)。
数字类型:byte、long、integer、float、double、short -
二进制类型:binary -
布尔类型:boolean -
日期类型:date 当“*字段类型”为“date”时,需配置“date”字段对应的“*日期格式”,支持多选。关于可配置的日期格式及格式说明,请参见日期格式说明

日期格式说明:

日期格式 说明
epoch_millis

自纪元以来的毫秒数格式化程序。以毫秒为单位的时间戳,用于记录自1970年1月1日00:00:00以来的毫秒数,适用于计算机编程和数据处理。

注意:不能作为动态时间解析。

strict_date_optional_time 自纪元以来的毫秒数格式化程序。通常用于日期时间数据的表示,此种日期格式允许包括日期和可选的时间信息,提供了一定的灵活性。支持的格式:"yyyy-MM-dd"、"yyyy-MM-ddTHH:mm:ss"、"yyyy-MM-ddTHH:mm:ss.SSS"、"yyyy-MM-ddTHH:mm:ss.SSSZ"。
"yyyy-MM-dd HH:mm:ss" 标准的日期时间格式,表示年份(yyyy)、月份(MM)、日期(dd)、小时(HH)、分钟(mm)和秒(ss)的组合,按照24小时制表示日期和时间,通常用于记录时间戳或事件的确切日期和时间。
"basic_date" 基本日期格式,仅包括年、月、日。用于表示四位数年份(yyyy),二位数月份(MM)和两位数日期(dd),具体格式为“yyyyMMdd”。
"basic_date_time" 组合了基本日期和时间的基本日期时间格式,通过一个分开的 Ť ,具体格式为“yyyyMMddTHHmmss.SSSZ”。
"basic_time" 一个两位数小时,两位数分钟,两位数秒,三位数毫秒以及时间偏移量的格式化程序,具体格式为“HHmmss.SSSZ”。
"basic_time_no_millis" 一个两位数小时,两位数分钟,两位数秒以及时间偏移量的格式化程序,具体格式为“HHmmss.SSSZ”。
"basic_t_time" 一个两位数小时,两位数分钟,两位数秒,三位数毫秒以及以T为前缀的时区的格式化程序,具体格式为“THHmmss.SSSZ”。
"basic_t_time_no_millis" 一个两位数小时,两位数分钟,两位数的秒以及以T为前缀的时区的格式化程序,具体格式为“THHmmssZ”。
"date" 一个四位数年份,两位数月份,两位数天数的日期,具体格式为“yyyy-MM-dd”。
"date_hour" 一个包含完整日期和两位数小时的格式化程序,具体格式为“yyyy-MM-ddTHH”。
"strict_date_hour_minute" 一个包含完整日期,两位数天数,两位数分钟的格式化程序,具体格式为“yyyy-MM-ddTHH:mm”。
"strict_hour" 一个两位数小时数的格式化程序,具体格式为“HH”。
"strict_hour_minute" 一个两位数小时数和两位数分钟数的格式化程序,具体格式为“HH:mm”。
"strict_hour_minute_second" 一个两位数小时数,两位数分钟数和两位数秒数的格式化程序,具体格式为“HH:mm:ss”。
"strict_hour_minute_second_millis" 一个两位数小时数,两位数分钟数,两位数秒数,三位数毫秒的格式化程序,具体格式为“HH:mm:ss.SSS”。
"strict_time" 用于表示一天中两位数小时,两位数分钟,二位数分钟,三位数毫秒和时区偏移量的格式化程序,具体格式为“HH:mm:ss.SSSZZ”。
"strict_time_no_millis" 一个两位数小时数,两位数分钟数,两位数秒数以及时间偏移量的格式化程序,具体格式为“HH:mm:ssZZ”。
"strict_t_time" 一个两位数小时数,两位数分钟数,两位数秒数,三位数毫秒数以及以T为前缀的时间偏移的格式化程序,具体格式为“THH:mm:ss.SSSZZ”。
"strict_t_time_no_millis" 一个两位数小时数,两位数分钟数,两位数秒数以及以T为前缀的时间偏移量格式化程序,具体格式为“THH:mm:ssZZ”。
"strict_year" 一个四位数年份的格式化程序,具体格式为“yyyy”。
"strict_year_month" 一个四位数年份和两位数月份的格式化程序,具体格式为“yyyy-MM”。
"strict_year_month_day" 一个四位数年份和两位数月份,两位数天数的格式化程序,具体格式为“yyyy-MM-dd”。

注意:若数据已完成数据解析,应避免解析出的类型与此处配置的类型冲突(请参见字段冲突类型说明),进而导致写入失败。

字段模型创建完成后,可以被索引库引用,为创建索引库提供必要的基础配置参数,帮助快速搭建索引库。

► 其他管理操作

 批量导入创建字段模型

进入字段模型配置页面,点击列表上方的【导入】按钮,在弹出的窗口中选中包含字段模型配置信息的文件,点击【打开】后即可批量导入并创建字段模型。

注意:

1. 仅支持导入json格式的文件;

2. 支持导入多个字段模型:若AnyRobot中存有重名的字段模型对象,系统将提示“是否覆盖已存在字段模型”,点击【确认】后可覆盖已存在字段模型,批量导入创建字段模型操作成功;若AnyRobot中存有的重名字段模型对象处于不可“编辑”状态,系统将无法覆盖已存在字段模型,导入操作停止,批量导入创建字段模型操作失败。

3. 批量导入失败后,您可在审计日志中查看对应的“失败”记录。

在字段模型列表中勾选所需字段模型后,点击列表上方的【导出】按钮,可将已创建的字段模型以“.json”格式导出,如下所示:

提示:支持导出多个字段模型。

  查看字段模型详情

进入字段模型列表页面,点击指定字段模型操作列的“查看”按钮后,可在右侧字段模型详情抽屉中查看配置详情,包括字段模型的配置信息以及状态信息。其中,模型配置信息中可以具体查看模型中的默认的系统元字段、已配置的自定义字段。

说明:

1. 字段模型包括6种状态:正常、创建中、创建失败、更新中、更新失败、删除中;

2. 字段模型详情抽屉中展示的“系统元字段”包括AnyRobot默认的系统内置字段及业务保留字段,不可配置。

  修改字段模型

选中列表中需修改的指定模型后,点击列表操作列的“编辑”按钮后,系统可分别执行对应操作。当修改的字段类型与原字段类型冲突时或者添加的字段类型与索引库已有字段类型(其他字段)冲突时,修改操作可以成功保存,但历史索引将处于不可读状态,冲突的字段类型如下所示:
原始类型 冲突类型
数字类型:byte、long、integer、float、double、short
字符串类型:text、keyword;
日期类型:date;
布尔类型:boolean
字符串类型:text、keyword;
二进制类型:binary
数字类型:byte、long、integer、float、double、short;
日期类型:date;
布尔类型:boolean
布尔类型:boolean
字符串类型:text、keyword;
数字类型:byte、long、integer、float、double、short;
日期类型:date
日期类型:date
数字类型:byte、long、integer、float、double、short;
布尔类型:boolean;
字符串类型:text、keyword

注意:不支持修改处于“创建失败”、“更新失败”以及“创建中”、“更新中”、“删除中”状态下的字段模型,此类状态下的字段模型对应的“编辑”按钮将处于禁用状态

  删除字段模型

注意:不支持删除已被引用的字段模型;

说明:字段模型被删除后,您可在审计日志中查看相应的“删除”日志。