云服务器内容精选

  • SDK列表 表1提供了LTS服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 其中Java和Go语言的SDK,请在GitHub仓库里/services/lts/目录下查看。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 Node.js huaweicloud-sdk-nodejs-v3 Node.js SDK使用指导 .NET huaweicloud-sdk-net-v3 .NET SDK使用指导 PHP huaweicloud-sdk-php-v3 PHP SDK使用指导 C++ huaweicloud-sdk-cpp-v3 C++ SDK使用指导
  • 短语搜索 短语搜索用于准确匹配目标短语,例如搜索语句abc def,不区分先后顺序,将匹配所有同时包含abc和def的日志。短语搜索和关键词搜索的区别请参考表2。 短语搜索:在关键词搜索语法的基础上实现,短语搜索能够区分关键词的顺序,用于精准匹配目标短语,搜索结果更加精确。短语搜索适用于英文短语、中文短语的搜索,不支持模糊搜索。 关键词搜索:关键词搜索是基于分词实现,通过分词符先将搜索内容拆分为多个关键词,然后匹配日志。关键词搜索不会区分多个关键词在日志中出现的顺序,因此只要日志中按照搜索的与或非逻辑能命中关键词,该日志就会被搜索到。 表2 搜索区别 搜索方式 短语搜索 关键词搜索 搜索区别 区分关键词的顺序,用于精准匹配目标短语,搜索结果更加精确。 不区分关键词的顺序,按照搜索逻辑命中关键词即可。 举例说明 假设您的日志流中存在2条原始日志,如下: 原始日志1:this service is lts 原始日志2:lts is service 短语搜索:#"is lts",会命中1条日志。 关键词搜索:is lts,会命中2条日志。 短语搜索:#"lts is",会命中1条日志。 关键词搜索:lts is,会命中2条日志。 表3 搜索方式 搜索方式 说明 全文搜索 #"abc def" content:#"abc def" 说明: content为日志原文对应的内置字段,#"abc def"等同于content:#"abc def",默认匹配日志原文的内容。 字段搜索 key:#"abc def" 说明: value参数不可为空。 字段搜索和not运算符配合使用时,还会匹配到不包含该字段的日志。 短语搜索不支持搭配模糊搜索。 短语搜索中的星号(*)和问号(?)会被视为普通字符,因此短语搜索不支持搭配模糊搜索,可以用来搜索日志中的星号(*)和问号(?)。 短语搜索不支持对分词符进行搜索。 例如搜索语句#"var/log",其中 / 为分词符,搜索语句等同于#"var log",会搜索包含目标短语var log的日志。同理,搜索语句#"var:log"、#"var;log"等搜索的也是包含目标短语var log的日志。 中文搜索推荐采用短语搜索。 由于中文默认采用的是一元分词,每个汉字单独分词,搜索时会匹配同时包含搜索语句中每一个汉字的日志,本身便具有模糊搜索的特性,当需要更加精确的结果时,推荐采用短语搜索。
  • 短语搜索 短语搜索用于准确匹配目标短语,例如搜索语句#"abc def",区分先后顺序,将匹配所有同时包含abc、def,且abc位于def前面的日志。短语搜索和关键词搜索的区别请参考表2。 短语搜索:在关键词搜索语法的基础上实现,短语搜索能够区分关键词的顺序,用于精准匹配目标短语,搜索结果更加精确。短语搜索适用于英文短语、中文短语的搜索,不支持模糊搜索。 关键词搜索:关键词搜索是基于分词实现,通过分词符先将搜索内容拆分为多个关键词,然后匹配日志。关键词搜索不会区分多个关键词在日志中出现的顺序,因此只要日志中按照搜索的与或非逻辑能命中关键词,该日志就会被搜索到。 表2 搜索区别 搜索方式 说明 示例 短语搜索 区分关键词的顺序,用于精准匹配目标短语,搜索结果更加精确。 假设您的日志流中存在两条原始日志,如下: 原始日志1:this service is lts 原始日志2:lts is service 则搜索:#"is lts",会命中1条日志;搜索:#"lts is",会命中1条日志。 关键词搜索 不区分关键词的顺序,按照搜索逻辑命中关键词即可。 假设您的日志流中存在两条原始日志,如下: 原始日志1:this service is lts 原始日志2:lts is service 则搜索:is lts,会命中2条日志;搜索:lts is,会命中2条日志。 使用限制如下: 短语搜索不支持搭配模糊搜索。 短语搜索中的星号(*)和问号(?)会被视为普通字符,因此短语搜索不支持搭配模糊搜索,可以用来搜索日志中的星号(*)和问号(?)。 短语搜索不支持对分词符进行搜索。 例如搜索语句#"var/log",其中 / 为分词符,搜索语句等同于#"var log",会搜索包含目标短语var log的日志。同理,搜索语句#"var:log"、#"var;log"等搜索的也是包含目标短语var log的日志。 中文搜索推荐采用短语搜索。 由于中文默认采用的是一元分词,每个汉字单独分词,搜索时会匹配同时包含搜索语句中每一个汉字的日志,本身便具有模糊搜索的特性,当需要更加精确的结果时,推荐采用短语搜索。
  • 批量设置多个接入配置 支持同时批量设置多个接入配置,操作简单,不用重复配置即可快速完成多个场景的接入配置 在“接入管理”页面,单击“批量接入”,进入配置详情页面,请参考表6。 表6 批量接入设置 类型 操作 说明 基本配置 接入类型 选择云容器引擎 CCE-应用日志。 接入配置数量 在输入框填写接入配置数量,单击“添加接入配置”。 在接入配置下方默认已有1个接入配置,最多支持再添加99个数量,因此支持同时添加100个接入配置。 接入配置 接入列表 左侧显示接入配置的信息,最多支持添加99个配置。 右侧显示配置接入的内容,详细请参考步骤4:采集配置进行设置。 一个接入配置设置完成后,单击“应用于其他接入规则”即可将该接入配置复制到其他接入配置。 单击“参数检查”,检查成功后,单击“提交”,批量接入设置完成。 例如添加了4个接入配置,批量创建成功后,在接入规则页签下方,就会显示4条接入配置数量。 (可选)支持对接入配置任务进行以下操作: 勾选多个已创建成功的接入配置,单击“批量编辑”进入配置详情页面,通过选择不同接入类型,修改对应的接入配置信息。 勾选多个已创建成功的接入配置,单击开启或关闭按钮。接入配置状态关闭后不会继续采集日志。 勾选多个已创建成功的接入配置,单击删除按钮即可批量删除接入配置。
  • 使用限制 支持容器引擎为Docker的CCE集群节点。详情请查看云容器引擎(CCE)。 支持使用Containerd作为容器引擎的CCE集群节点(ICAgent 5.12.130及以上版本)。 支持 CCE Turbo 集群(ICAgent 5.12.130及以上版本)。 容器内的日志目录如果已挂载到主机目录上,将无法通过配置容器文件路径方式采集到LTS,只能通过配置节点文件路径方式采集到LTS。 Docker存储驱动限制:容器文件日志采集目前仅支持overlay2存储驱动,不支持devicemapper作为存储驱动的节点。查看存储驱动类型,请使用如下命令: docker info | grep "Storage Driver" 如果选择日志流时,采集方式为采集到集中日志流时,则必须已创建CCE集群。
  • 步骤6:完成接入配置 在接入规则页签,则会生成一条接入配置信息。 单击接入配置名称可进入详情页面,查看该接入配置详细信息。 单击接入配置操作列的“编辑”重新修改接入配置信息。 单击接入配置操作列的“标签管理”即可添加标签。 单击接入配置操作列的“复制”复制一条新的接入配置信息。 单击接入配置操作列的“删除”即可删除接入配置信息。 单击接入配置操作列的“采集诊断”,可查看ICAgent异常监控、ICAgent整体状态和ICAgent采集监控。
  • 前提条件 CCE集群已安装ICAgent并且已创建相关节点自定义标识的主机组(如果不满足,配置CCE接入LTS时会自动检查修复)。 首次使用 AOM 2.0的用户,请参考开通AOM2.0授权使用AOM2.0,进入AOM2.0控制台后,请参考云服务授权授予 云日志 服务 (LTS)、云容器引擎 (CCE)等云服务数据的访问权限。 在“主机”页面,选择“CCE集群”,在搜索框选择目标集群,单击“升级ICAgent”,详细操作请参考升级ICAgent。 已关闭采集容器标准输出到AOM的开关。 开启“ICAgent诊断开关”用于查看ICAgent异常监控、ICAgent整体状态和ICAgent采集监控,请参考设置ICAgent日志采集开关。
  • sha1_encoding 对数据进行SHA-1编码。 函数格式 sha1_encoding(value, format=None) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 被编码的值。 format String 否 编码类型,默认为SHA1类型,可选SHA256、SHA384、SHA224、SHA512类型。 返回结果 返回编码后的字符串。 函数示例 测试数据 { "str": "GeeksforGeeks" } 加工规则 e_set("str_sha1",sha1_encoding(v("str"))) e_set("str_sha512",sha1_encoding(v("str"),format='SHA512')) e_set("str_sha224",sha1_encoding(v("str"),format='SHA224')) e_set("str_sha384",sha1_encoding(v("str"),format=))) e_set("str_sha256",sha1_encoding(v("str"),format='SHA256')) 加工结果 str : GeeksforGeeks str_sha1 : 4175a37afd561152fb60c305d4fa6026b7e79856 str_sha512 : 0d8fb9370a5bf7b892be4865cdf8b658a82209624e33ed71cae353b0df254a75db63d1baa35ad99f26f1b399c31f3c666a7fc67ecef3bdcdb7d60e8ada90b722 str_sha224 : 173994f309f727ca939bb185086cd7b36e66141c9e52ba0bdcfd145d str_sha384 : d1e67b8819b009ec7929933b6fc1928dd64b5df31bcde6381b9d3f90488d253240490460c0a5a1a873da8236c12ef9b3 str_sha256 : f6071725e7ddeb434fb6b32b8ec4a2b14dd7db0d785347b2fb48f9975126178f
  • crc32_encoding 计算数据的循环冗余校验码。 函数格式 crc32_encoding(data, input_format="raw", input_encoding="utf-8") 参数说明 参数名称 参数类型 是否必填 说明 data String 是 计算校验码的值。 input_format String 否 输入值的字符格式。默认为raw,可选值包括: raw:Bytes格式 hex:十六进制格式 base64:Base64编码格式 input_encoding String 否 仅当input_format取值为raw时需要配置。配置字符编码格式。默认为utf-8。 返回结果 返回传入数据的循环冗余校验码。 函数示例 示例1:计算字段test的循环冗余校验码。 测试数据 { "test": "aatest" } 加工规则 e_set("str_crc32", crc32_encoding(v("test"))) 加工结果 str_crc32:1434103726 test:aatest 示例2:将字段test1和test2连接后进行MD5编码,最后计算其循环冗余校验码。 测试数据 { "test1": "test1", "test2": "test2" } 加工规则 e_set( "str_crc32", crc32_encoding( md5_encoding(str_join("+", v("test1"), v("test2")), format="binary") ), ) 加工结果 str_crc32:369733261 test1:test1 test2:test2 示例3:计算字段test的循环冗余校验码,其值为Base64编码格式。 测试数据 { "test": "Taloz+e+PzP3NltrEXiCig==" } 加工规则 e_set("str_crc32", crc32_encoding(v("test"), input_format="base64")) 加工结果 str_crc32:1093789404 test:Taloz+e+PzP3NltrEXiCig==
  • zlib_decompress 函数格式 zlib_decompress(data, from_format="base64", encoding="utf-8") 参数说明 参数名称 参数类型 是否必填 说明 data String 是 输入需要解压的数据。 from_format String 否 解压数据的编码格式,目前只支持Base64编码。 encoding String 否 编码格式,默认utf-8。 返回结果 返回解压后的对象。 函数示例 测试数据 { "content": "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" } 加工规则 e_set("zlib_decompress", zlib_decompress(v("content"), from_format="base64")) 加工结果 content: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" zlib_decompress: "I always look forward to my holidays whether I travel or stay at home."
  • zlib_compress 将数据进行压缩并编码。 函数格式 zlib_compress(data, compresslevel=6, to_format="base64", encoding="utf-8") 参数说明 参数名称 参数类型 是否必填 说明 data String 是 输入需要压缩的数据。 compresslevel Int 否 用于控制压缩等级,可配置为0~9的整数。默认值为6。 1:压缩速度最快但压缩比例最小。 9:压缩速度最慢但压缩比例最大。 0:不压缩。 to_format String 否 对压缩后的数据进行编码的格式,目前只支持进行Base64编码。 encoding String 否 原始未压缩数据的编码格式,默认为utf-8。 返回结果 返回编码后的对象。 函数示例 测试数据 { "content":"I always look forward to my holidays whether I travel or stay at home." } 加工规则 e_set("zlib_compress", zlib_compress(v("content"), to_format="base64")) 加工结果 加密结果仅供参考。 zlib_compress: "eJwVytEJgDAMBcBV3gTu0TECjURMeZAGQ7ZXv+8GxEt6w8kbJ6MkJpJYDaNf87cyTdPAQIY86mBgpzQkv7T0eAGNshln" content: "I always look forward to my holidays whether I travel or stay at home."
  • gzip_decompress 将压缩数据解压缩。 函数格式 gzip_decompress(data, from_format="base64", encoding="utf-8") 参数说明 参数名称 参数类型 是否必填 说明 data 任意 是 输入需要解压的数据。 from_format String 否 解压数据的编码格式,目前支持Base64和hex格式解码。 encoding String 否 原始未压缩数据的编码格式,默认utf-8,其他编码格式请参见标准编码格式。 返回结果 返回解压后的对象。 函数示例 示例1:对日志字段进行Base64解码。 测试数据 { "content": "H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnN CS /tPR4AcgrnWVGAAAA" } 加工规则 e_set("gzip_decompress",gzip_decompress(v("content"),from_format="base64")) 加工结果 content: H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA gzip_decompress: I always look forward to my holidays whether I travel or stay at home. 示例2:对日志字段进行hex解码。 测试数据 { "content":"1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000" } 加工规则 e_set("gzip_decompress", gzip_decompress(v("content"), from_format="hex")) 加工结果 content:1f8b0800bff8856202ff0dc1dd0e43301800d047aa65156e3ff52f4a2ba17649c43255194d4a9f9e73527c64007e2e2426e81485c35628c1c42616535079bc6405e5d1e92ef009b59c906786a879efe1c50fb55d6c5de44cb717b2dae6d4f103f8feecbf4f88a2a441bae618c679575d9bc0e306907876806c000000 gzip_decompress:H4sIAA8JXl4C/xXK0QmAMAwFwFXeBO7RMQKNREx5kAZDtle/7wbES3rDyRsnoyQmklgNo1/ztzJN08BAhjzqYGCnNCS/tPR4AcgrnWVGAAAA
  • md5_encoding 对数据进行MD5编码。 函数格式 md5_encoding(value, format="hex") 参数说明 参数名称 参数类型 是否必填 说明 value String 是 被编码的值。 format String 否 默认值为hex,可选值:binary、hex。 返回结果 返回编码后的字符串。 函数示例 示例1 测试数据 { "str": "GeeksforGeeks" } 加工规则 e_set("str_md5_en",md5_encoding(v("str"))) 加工结果 str : GeeksforGeeks str_md5_en : f1e069787ece74531d112559945c6871 示例2 测试数据 { "str": "GeeksforGeeks" } 加工规则 e_set("str_md5_en",base64_encoding(md5_encoding(v("str"), format="binary"))) 加工结果 str : GeeksforGeeks str_md5_en : 8eBpeH7OdFMdESVZlFxocQ==
  • url_encoding 对数据进行URL编码。 函数格式 url_encoding(value, plus=false) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 被编码的值。 plus Boolean 否 是否将空格转换为加号,默认为false。 true:将空格转换为加号。 false:不转换空格为加号。 返回结果 返回编码后的字符串。 函数示例 示例1:对数据进行URL编码。 测试数据 { "content": "https://www.example.org/hello/asdah" } 加工规则 e_set("url",url_encoding(v("content"))) 加工结果 content : https://www.example.org/hello/asdah url: https%3A%2F%www.example.org%2FHello%2Fasdah 示例2:对数据进行URL编码。其中,未设置plus参数,不转换数据中的空格为加号。 测试数据 { "content": "1 2+3:4" } 加工规则 e_set("URL",url_encoding(v("content"))) 加工结果 content:1 2+3:4 URL:1%202%2B3%3A4 示例3:对数据进行URL编码。其中,设置plus参数为true,将数据中的空格转换为加号。 测试数据 { "content": "1 2+3:4" } 加工规则 e_set("URL", url_encoding(v("content"), plus=true)) 加工结果 content:1 2+3:4 URL:1+2%2B3%3A4
  • url_decoding 对数据进行URL解码。 函数格式 url_decoding(value, plus=false) 参数说明 参数名称 参数类型 是否必填 说明 value String 是 被解码的值。 plus Boolean 否 是否将加号转换为空格,默认为false。 true:将加号转换为空格。 false:不转换加号为空格。 返回结果 返回解码后的字符串。 函数示例 示例1:对数据进行URL解码。 测试数据 { "content": "https%3A%2F%www.example.org%2FHello%2Fasdah" } 加工规则 e_set("URL",url_decoding(v("content"))) 加工结果 content : https%3A%2F%www.example.org%2FHello%2Fasdah URL : https://www.example.org/hello/asdah 示例2:对数据进行URL解码。其中,未设置plus参数,不转换数据中的加号为空格。 测试数据 { "content": "/answer?event_date=2022-06-30+09%3A06%3A53%20123" } 加工规则 e_set("URL",url_decoding(v("content"))) 加工结果 content:/answer?event_date=2022-06-30+09%3A06%3A53%20123 URL:/answer?event_date=2022-06-30+09:06:53 123 示例3:对数据进行URL解码。其中,设置plus参数为true,将数据中的加号转换为空格。 测试数据 { "content": "/answer?event_date=2022-06-30+09%3A06%3A53%20123" } 加工规则 e_set("URL",url_decoding(v("content"),plus=true)) 加工结果 content:/answer?event_date=2022-06-30+09%3A06%3A53%20123 URL:/answer?event_date=2022-06-30 09:06:53 123