Vector-Lua:如何将 table 转换为 json?

ERROR transform{component_kind="transform" component_id=cut_field component_type=lua component_name=cut_field}: vector::internal_events::lua: Error in lua script; discarding event. error=RuntimeErrorHooksProcess { source: RuntimeError("[string "src/transforms/lua/v2/mod.rs:158:17"]:23: 尝试对一个空值进行索引 (全局变量 'json')\n堆栈回溯:\n\t[string "src/transforms/lua/v2/mod.rs:158:17"]:23: 在方法 'hook_process' 内\n") } internal_log_rate_secs=30

这是我的配置:

`[transforms.cut_field]
type = "lua"
inputs = ["log_source"]
version = "2"
search_dirs = [ "/usr/lib64/lua" ]
source = """

function hook_process(event, emit)
    if next(event) == nil then
        print("event empty")
    end

    if event == nil then
        print("event is nil")
    end
    local str = json.encode(event)
    print(str)
    emit(event)
end
"""
hooks.process = "hook_process"`

我的 Vector 版本是:vector 0.17.0 (x86_64-unknown-linux-gnu 3d34cde 2021-10-08)

原文链接 https://stackoverflow.com/questions/70211650

点赞