云服务器内容精选

  • e_drop_fields 调用e_drop_fields函数删除符合条件的日志字段。 函数格式 e_drop_fields(key1, key2, ....,regex=false) 参数说明 参数 参数类型 是否必填 说明 key String 是 日志字段名,可以为正则表达式。当字段名完全满足条件时删除该字段,保留不满足条件的字段。关于正则表达式的更多信息,请参见正则表达式。至少需要配置一个日志字段。 regex Boolean 否 如果设置为false,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为true。 返回结果 返回删除后的日志。 函数示例 如果content字段的值为123,则删除content字段和age字段。 测试数据 { "age": 18, "content": 123, "name": "twiss"} 加工规则 e_if(e_search("content==123"), e_drop_fields("content", "age",regex=true)) 加工结果 name: twiss 更多参考 支持其他它函数组合使用。
  • e_pack_fields 用e_pack_fields函数将日志字段进行打包,并输出到新的字段中。 函数格式 e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=true) 参数说明 参数 类型 是否必填 说明 output_field String 是 指定打包后输出的字段名称。其值为JSON格式。 include String 否 白名单配置,符合正则表达式的字段会被打包。默认为".*" ,表示全部匹配。 exclude String 否 黑名单配置,符合正则表达式的字段不会被打包。默认为None,表示不进行匹配判断。 drop_packed Boolean 否 打包数据后是否删除被打包的原数据,默认为true。 true(默认值):输出结果中删除被打包的原数据。 false:输出结果中不删除被打包的原数据。 返回结果 返回被打包后的日志数据。 函数示例 示例1:将日志所有字段打包到test字段,默认删除被打包的原始字段。 测试数据 { "test1":123, "test2":456, "test3":789} 加工规则 e_pack_fields("test") 加工结果 test:{"test1": "123", "test2": "456", "test3": "789"} 示例2:将日志所有字段打包到test字段,不删除被打包的原始字段。 测试数据 { "test1":123, "test2":456, "test3":789} 加工规则 e_pack_fields("test",drop_packed=false) 加工结果 test:{"test1": "123", "test2": "456", "test3": "789"}test1:123 test2:456 test3:789 示例3:打包test和abcd字段到content字段,不删除被打包的原始字段。 测试数据 { "abcd@#%":123, "test":456, "abcd":789} 加工规则 e_pack_fields("content", include="\w+", drop_packed=false) 加工结果 abcd:789 abcd@#%:123content:{"test": "456", "abcd": "789"}test:456 示例4:不打包test和abcd字段,其余字段打包到content字段,删除被打包的原始字段。 测试数据 { "abcd@#%":123, "test":456, "abcd":789} 加工规则 e_pack_fields("content", exclude="\w+", drop_packed=true) 加工结果 abcd:789 content:{"abcd@#%": "123"}test:456
  • e_rename 调用e_rename函数重命名符合条件的日志字段名称。 函数格式 e_rename("key1", "new key1", "key2", "new key2", ..., regex=false) 函数中key和new key必须成对出现。 参数说明 参数 参数类型 是否必填 说明 key String 是 日志字段名,可以为正则表达式。当字段名完全满足条件时,重命名该字段。至少需要配置一个字段。 new key String 是 重命名后的字段名。 regex Boolean 否 如果设置为false,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为true。 返回结果 返回重命名后的字段。 函数示例 示例1:将字段host重命名为client_hos。 测试数据 { "host": 1006} 加工规则 e_rename("host","client_host") 加工结果 client_host: 1006 示例2:不存在字段时,不进行重命名。 测试数据 { "host": 1006} 加工规则 e_rename("url","rename_url") 加工结果 host: 1006 更多参考 支持和其他函数组合使用。
  • e_keep_fields 调用e_keep_fields函数保留符合条件的日志字段。 云日志 服务中包含内置的元字段,例如__time__、__topic__等。如果在调用e_keep_fields函数时没有保留__time__字段,则日志时间将被重置为系统当前时间。如果您不希望重置元字段的值,需要将元字段放入列表中,常见格式为F_TIME, F_META, F_TAGS, "f1", "f2"。 函数格式 e_keep_fields(key1, key2, ....,regex=false) 参数说明 参数 参数类型 是否必填 说明 key String 是 日志字段名,可以为正则表达式。当字段名完全满足条件时保留该字段,删除不满足条件的字段。至少需要配置一个字段。 regex Boolean 否 如果设置为false,表示不使用正则表达式进行匹配。当不配置该参数时,系统默认取值为true。 返回结果 返回保留的日志。 函数示例 如果content字段的值是123,则保留content和age字段。 测试数据 { "age": 18, "content": 123, "name": "twiss"} 加工规则 e_if(e_search("content==123"), e_keep_fields("content", "age")) 加工结果 age: 18content: 123
  • 函数列表 函数 说明 V 获得日志特定字段的值。当同时传入多个字段名时,返回日志中第一个存在的字段的值。支持和其他函数组合使用。 e_set 添加新字段或为现有字段设置新的字段值。支持和其他函数组合使用。 e_drop_fields 删除符合条件的日志字段。支持和其他函数组合使用。 e_keep_fields 保留符合条件的日志字段。 e_pack_fields 打包日志字段,并输出到新的字段中。 e_rename 重命名符合条件的日志字段名称。支持和其他函数组合使用。
  • V 调用v函数获得日志特定字段的值。当同时传入多个字段名时,返回日志中第一个存在的字段的值。 函数格式 v(key, ..., default=None) 参数说明 参数 参数类型 是否必填 说明 key String 是 指定字段名。 default 任意 否 指定的字段名不存在时,返回default的值。默认值为None。 返回结果 返回日志中第一个存在的字段值。不存在时返回default参数的值。 函数示例 将content字段的值赋给test_content字段。 测试数据 { "content": "hello"} 加工规则 e_set("test_content", v("content")) 加工结果 content: hello test_content: hello 更多参考 支持和其他函数组合使用。
  • e_set 调用e_set函数添加新字段或为现有字段设置新的字段值。 函数格式 e_set(key1, value1, key2, value2, mode="overwrite") 函数中key1和value1必须成对出现。 通过e_set函数设置时间字段F_TIME或__time__时,必须设置为数字、字符串。 e_set(F_TIME, "abc") # 错误e_set(F_TIME, "12345678") # 正确 参数说明 参数 参数类型 是否必填 说明 key String 是 目标字段名,也可以通过字符串表达式获得该字段名。 value 任意 是 新的字段值。非字符串都转化成字符串放入日志中,其中元组、列表、字典会转换成JSON对象的字符串。 说明 如果传递的值是None,则不会进行更新操作。 mode String 否 字段的覆盖模式。默认为overwrite。 返回结果 返回更新后的日志。 函数示例 示例1:为字段设置固定值。 添加一个新字段city,字段值为上海。 e_set("city", "上海") 示例2:复制字段值。 调用单个表达式函数,将现有字段ret的值,赋给新字段result。 原始数据 {"ret": "value"} 加工规则 e_set("result", v("ret")) 加工结果 ret:value result:value 示例3:动态设置值。 调用组合表达式函数,获取第一个存在的字段值,返回其小写格式并赋值给字段result。 e_set("result", str_lower(v("ret", "return"))) 示例4:多次设置字段值。 原始数据 { "ret" : "fail" } 加工规则 e_set("event_type", "login event", "event_info", "login host") 加工结果 ret: failevent_type: login eventevent_info: login host 更多参考 支持和其他函数组合使用。