向量重映射语言(VRL)
VRL是一种用于处理可观察性数据(日志、指标、追踪)的脚本语言。尽管VRL最初是为在Vector中使用而创建的,但它被设计成通用的,可在多种场景中重复使用。
功能
VRL被分为多个组件,可根据需要启用。
功能 | 默认 | 描述 |
---|---|---|
compiler | 是 | 包含VRL的核心功能。编译和运行VRL程序。 |
parser | 是 | 从VRL源代码创建抽象语法树(AST)。 |
value | 是 | 包含VRL中使用的主要数据类型。 |
diagnostic | 是 | 与错误相关的逻辑和显示错误信息。 |
path | 是 | 包含与VRL路径相关的解析器、数据类型和函数。 |
stdlib | 是 | 标准库中的所有VRL函数。 |
core | 是 | 各种数据结构和实用方法(这些可能在将来被重命名/移动)。 |
datadog_filter | 是 | 实现Datadog日志搜索查询过滤语法。 |
datadog_grok | 是 | 实现Datadog grok解析器。(在stdlib中与parse_grok 和parse_groks 一起使用) |
datadog_search | 是 | 实现Datadog日志搜索语法。 |
cli | 否 | 包含为VRL创建命令行界面的功能。 |
test_framework | 否 | 包含用于测试VRL函数的测试框架。对测试自定义函数很有用。 |
lua | 否 | 使Value 类型与mlua crate兼容。 |
arbitrary | 否 | 为Value 类型实现Arbitrary (来自quickcheck crate) |
WebAssembly
所有核心功能和大多数标准库函数都可以使用wasm32-unknown-unknown
目标进行编译。有一些stdlib函数不受支持。这些函数仍然可以编译,但在运行时会中止。
不受支持的函数:
parse_grok
parse_groks
log
get_hostname
reverse_dns