GrokReader
描述:
提供一种算法来读取非结构化的文本数据,比如日志文件,然后结构化的处理数据。该服务使用Grok模式来处理。该服务读取数据流并拆分成每个消息为记录。如果有输入行的内容不匹配期望的消息格式,则依赖于参数该内容将被作为前一条异常消息堆栈的一部分或者忽略。 A stack trace that is found at the end of a log message is considered to be part of the previous message but is added to the 'stackTrace' field of the Record. If a record has no stack trace, it will have a NULL value for the stackTrace field (assuming that the schema does in fact include a stackTrace field of type String). Assuming that the schema includes a '_raw' field of type String, the raw message will be included in the Record.
标签:
grok, logs, logfiles, parse, unstructured, text, record, reader, regex, pattern, logstash, 记录, 解析
参数:
如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.
名字 | 默认值 | 允许值列表 | 描述 |
---|---|---|---|
Schema访问策略 | 使用字符串字段的Grok表达式 | - 使用字符串字段的Grok表达式 - 使用 'Schema名字' 属性 - 使用 'Schema内容' 属性 - HWX Schema引用属性 - HWX Schema编码内容引用 - Confluent Schema编码内容引用 | 指定如何从数据中获得Schema信息 |
Schema注册服务 | 控制器服务API: SchemaRegistry 实现: AvroSchemaRegistry ConfluentSchemaRegistry HortonworksSchemaRegistry | 指定Schema注册服务 | |
Schema名字 | ${schema.name} | 指定从Schema注册服务中获取相应Schema的名字 支持表达式语言 (支持流属性和变量) | |
Schema版本 | 指定从Schema注册服务中获取相应Schema的版本,如果未指定,则表示最新版本的Schema 支持表达式语言 (支持流属性和变量) | ||
Schema分支 | 当从Schema注册服务中获取相应Schema时,需指定的Schema分支名字。如果指定的<Schema注册服务>不支持分支管理,则该参数将被忽略。 支持表达式语言 (支持流属性和变量) | ||
Schema内容 | ${avro.schema} | Avro格式的Schema内容 支持表达式语言 (支持流属性和变量) | |
Grok模式文件 | 用于解析日志的包含Grok模式的文件路径,如果不指定,将使用一默认的模式,如果指定,则将覆盖默认的模式配置,可通过查看高级设置中了解跟多预定义的模式。 支持表达式语言 (仅支持变量) | ||
Grok表达式 | 指定日志行的Grok格式。则记录读取器可以理解如何解析一个日志行。如果不匹配,则假定该行是前一消息的一部分。 | ||
不匹配处理 | 添加到之前的消息中 | - 添加到之前的消息中 - 跳过 | 如果数据行的内容不匹配Grok表达式,并且也不是消息栈的一部分,该参数决定如何处理该行数据 |
状态管理:
该组件不保存状态。
限制:
该组件没有限制
系统资源考量:
未提供。