云服务器内容精选

  • 日志搜索的常用操作 日志搜索的常用操作有分享日志、刷新等操作,具体参考如下图所示: 表1 常用操作 操作 说明 交互式搜索 单击搜索框前面的按钮,在交互式搜索页面,根据业务需要选择索引配置的字段,设置过滤方式,也可以通过添加关联关系或添加组进行交互式搜索,设置完成后,支持预览搜索语法。 创建快速查询 单击按钮,创建快速查询。 查看仪表盘 单击按钮,在弹出来的仪表盘页面,可查看已创建的仪表盘。 添加告警 单击按钮,在弹出的页面,支持新建告警规则。 分享日志 单击复制当前日志搜索页面的链接,用于分享搜索日志。 刷新日志 单击对日志进行刷新,有两种方式刷新方式:手动刷新和自动刷新。 手动刷新:单击“手动刷新”可直接对日志进行刷新。 自动刷新:选择自动刷新的间隔时间,将对日志进行自动刷新。间隔时间范围为15秒、30秒、1分钟和5分钟。 复制 单击复制日志内容。 查看上下文 单击查看日志上下文。 说明: 支持选择简洁模式查看日志上下文。支持下载上下文内容。 简化字段详情 单击查看简化字段详情。 换行/取消换行 单击按钮,搜索的日志内容将换行显示。若不需要换行,单击按钮,取消换行。 说明: 默认开启换行按钮。 下载日志 单击按钮,在弹出的下载日志页面中单击“本地下载”和“前往创建转储”。 本地下载:将日志文件直接下载到本地,单次下载支持最大5,000条日志。 在下拉框中选择“.csv”或“.txt”,单击“开始下载日志”,可将日志导出至本地。 说明: 选择以CSV格式导出日志后,本地以表格形式保存日志的具体标签信息。 选择导出TXT格式日志后,本地会以.txt格式保存日志的日志内容。 前往创建转储:通过OBS转储任务下载日志文件,单次下载支持最大100万条日志。 单击“前往创建转储”,跳转至配置转储页面,详细请参考日志转储。 全部折叠/全部展开 单击设置日志内容展示的行数。若不需要展示日志内容,再单击一次按钮即可关闭展示的日志内容。 说明: 默认不折叠。折叠后,默认显示2行,最多支持展示6行。 JSON设置 鼠标悬浮在按钮上,单击“JSON设置”,在弹出的JSON设置页面中,设置格式化显示。 说明: 默认开启格式化,JSON默认展开层级为2层。若日志包含多个反斜杠,当日志展示为json格式时,会丢失一个反斜杠,因为json解析会将第一个反斜杠作为转义符处理。 开启格式化按钮:设置JSON默认展开层级,最大设置为10层。 关闭格式化按钮:对于JSON格式的日志,将不会格式化层级显示。 日志折叠设置 鼠标悬浮在按钮上,单击“日志折叠设置”,在弹出的日志折叠设置页面中,设置长日志字符个数。 日志超过设置的长日志字符个数时,超出字符将被隐藏,单击“展开”按钮可查看全部内容。 说明: 默认开启自动折叠长日志,字符个数默认为400个。 日志时间展示 鼠标悬浮在按钮上,单击“日志时间展示”,在弹出的日志折叠设置页面中,设置是否展示毫秒、是否展示时区。 说明: 默认开启展示毫秒。 虚拟滚动设置 鼠标悬浮在按钮上,单击“虚拟滚动设置”,在弹出的虚拟滚动设置页面中,设置是否开启虚拟滚动、填写缓冲区大小。 说明: 虚拟滚动可以避免或减少滚动时卡顿的情况,提升操作体验,防止页面卡死。 滚动时数据会重新渲染,一定程度上影响数据流畅性。 缓冲区决定同时加载的数据量大小,缓冲区越大,同时加载的数据越多,但滚动性能会越差。 不可见字段列表 该列表展示版面设置中配置的不可见性字段。 当日志流未配置版面设置时,将不显示按钮。 当日志内容为“CONFIG_FILE”且未配置版面设置时,不可见字段默认有appName、clusterId、clusterName、containerName、hostIPv6、NameSpace、podName和serviceID。
  • 日志接入 AppStage运维中心提供统一的AIOps平台能力,将业务日志数据从业务服务器接入到AIOps平台。AIOps日志服务平台提供了数据接入配置界面化管理和采集器Agent自动化部署的能力。 目前支持以下方式接入日志: 虚拟机日志接入:通过日志配置下发任务部署filebeat,并根据日志采集配置设置,通过filebeat采集虚拟机上的业务日志。 容器日志接入:安装daemonset插件,通过daemonset实现容器日志接入。 父主题: 日志
  • 日志接入 AppStage运维中心提供统一的AIOps平台能力,将业务日志数据从业务服务器接入到AIOps平台。AIOps日志服务平台提供了数据接入配置界面化管理和采集器Agent自动化部署的能力。 目前支持以下方式接入日志: 虚拟机日志接入:通过日志配置下发任务部署filebeat,并根据日志采集配置设置,通过filebeat采集虚拟机上的业务日志。 容器日志接入:安装daemonset插件,通过daemonset实现容器日志接入。 父主题: 日志
  • 如何通过训练日志定位问题 在ModelArts中训练作业遇到问题时,可首先查看日志,多数场景下的问题可以通过日志报错信息直接定位。 ModelArts提供了训练作业失败定位与分析功能,如果训练作业运行失败,ModelArts会自动识别导致作业失败的原因,在训练日志界面上给出提示。提示包括三部分:失败的可能原因、推荐的解决方案以及对应的日志(底色标红部分)。 图1 训练故障识别 ModelArts会对部分常见训练错误给出分析建议,目前还不能识别所有错误,提供的失败可能原因仅供参考。针对分布式作业,只会显示当前节点的一个分析结果,作业的失败需要综合各个节点的失败原因做一个综合判断。 常见训练问题定位思路如下: 根据日志界面提示中提供的分析建议解决。 参考案例解决:会提供当前故障对应的指导文档链接,请参照文档中的解决方案修复问题。 重建作业:建议重建作业进行重试,大概率能修复问题。 上一步不能解决问题时,可以尝试分析日志中提示的错误信息,定位并解决问题。 也可以前往ModelArts论坛中查看是否有同类问题。Ascend训练场景可以前往昇腾论坛查看或提问。 最后,如果以上均不能解决问题,可以提工单进行人工咨询。 父主题: 查看训练作业日志
  • 访问日志记录简介 出于分析或审计等目的,用户可以开启日志记录功能。通过访问日志记录,桶的拥有者可以深入分析访问该桶的用户请求性质、类型或趋势。当用户开启一个桶的日志记录功能后,OBS会自动对这个桶的访问请求记录日志,并生成日志文件写入用户指定的桶(即目标桶)中。 桶日志上传会产生相应的PUT请求费用,PUT请求费用的具体说明请参考请求费用。 当日志记录开启后,目标存储桶的日志投递用户组会同步开启桶的写入权限和ACL读取权限。如果手动将日志投递用户组的桶写入权限和ACL读取权限关闭,桶的日志记录会失败。 OBS支持对桶的访问请求创建并保存访问日志记录,可用于进行请求分析或日志审计。 由于日志存储在OBS中也会占用用户的OBS存储空间,即意味着将产生额外的存储费用,默认情况下,OBS不会为用户的桶收集访问日志。 由于日志文件是OBS产生,并且由OBS上传到存放日志的桶中,因此OBS需要获得委托授权,用于上传生成的日志文件。所以在配置桶日志记录前,需要先到统一身份认证服务生成一个对OBS服务的委托,并在配置日志记录时添加该委托。默认情况下,在为委托配置权限时只需设置日志存储桶的上传对象(PutObject)权限,示例如下(其中mybucketlogs为日志存储桶的桶名)。如果日志存储桶开启了默认加密功能,还需要委托同时具有日志存储桶所在区域的KMS Administrator权限。 { "Version": "1.1", "Statement": [ { "Action": [ "obs:object:PutObject" ], "Resource": [ "OBS:*:*:object:mybucketlogs/*" ], "Effect": "Allow" } ] } 日志记录设置成功后,大约15分钟后可在日志存储目标桶中查看到桶的操作日志。 以下所示为在目标桶生成的桶访问日志文件记录: 787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx 787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B REST.GET.BUCKET.LOCATION - "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-" "HttpClient" - - 每个桶访问日志都包含以下信息: 表1 Bucket Logging格式 名称 示例 含义 BucketOwner 787f2f92b20943998a4fe2ab75eb09b8 桶的ownerId Bucket bucket 桶名 Time [13/Aug/2015:01:43:42 +0000] 请求时间戳(UTC) Remote IP xx.xx.xx.xx 请求IP Requester 787f2f92b20943998a4fe2ab75eb09b8 请求者ID 当使用账号或IAM用户发起请求时,此ID为请求者所属账号的账号ID。 当使用匿名用户发起请求时,取值为Anonymous。 RequestID 281599BACAD9376ECE141B842B94535B 请求ID Operation REST.GET.BUCKET.LOCATION 操作名称 Key - 对象名 Request-URI GET /bucket?location HTTP/1.1 请求URI HTTPStatus 200 返回码 ErrorCode - 错误码 BytesSent 211 HTTP响应的字节大小 ObjectSize - 对象大小(bytes) TotalTime 6 服务端处理时间(ms) Turn-AroundTime 6 总请求时间(ms) Referer - 请求的referrer头域 User-Agent HttpClient 请求的user-agent头域 VersionID - 请求中带的versionId STSLogUrn - 联邦认证及委托授权信息 StorageClass STANDARD_IA 当前的对象存储类别 TargetStorageClass GLACIER 通过转换后的对象存储类别 父主题: 日志记录
  • str_rstrip 删除字符串结尾指定的字符。 函数格式 str_rstrip(value, chars) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被修改的原字符串。 chars 任意(自动转为String) 否 字符串结尾需要删除的字符集,默认为空格。 返回结果 修改后的字符串。 函数示例 测试数据:无 加工规则 e_set("str_strip", str_rstrip("**123**", "*")) 加工结果 str_strip: 123**
  • str_upper 将字符串中所有小写字符转换为大写字符。 函数格式 str_upper(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "LTs" } 加工规则 e_set("str_upper", str_upper(v("name"))) 加工结果 name: LTs str_upper: LTS
  • str_capitalize 将字符串的第一个字母转化为大写,其他字母转化为小写。 函数格式 str_capitalize(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "value": "welcome to xian" } 加工规则 e_set("str_capitalize", str_capitalize(v("value"))) 加工结果 value:welcome to xian str_capitalize: Welcome to xian
  • str_title 将所有单词的第一个字母转化为大写,其余字母均为小写。 函数格式 str_title(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "for example" } 加工规则 e_set("str_title", str_title(v("name"))) 加工结果 name:for example example str_title: For Exampl
  • str_lower 将字符串中所有大写字符转换为小写字符。 函数格式 str_lower(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "LTs" } 加工规则 e_set("str_lower", str_lower(v("name"))) 加工结果 name: LTs str_lower: lts
  • str_swapcase 对字符串的大小写字母进行转换。 函数格式 str_swapcase(value) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被转换的字符串。 返回结果 转换后的字符串。 函数示例 测试数据 { "name": "this is lts" } 加工规则 e_set("str_swapcase", str_swapcase(v("name"))) 加工结果 name: this is lts str_swapcase: THIS IS LTS
  • str_strip 删除字符串中指定的字符。 函数格式 str_strip(value, chars) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被修改的原字符串。 chars 任意(自动转为String) 否 字符串开头和结尾需要删除的字符集,默认为\t\r\n。 返回结果 修改后的字符串。 函数示例 示例1:删除空格。 测试数据 { "source":" lts" } 加工规则 e_set("str_strip", str_strip(v("source"))) 加工结果 source: lts str_strip: lts 示例2:删除开头和结尾是#的字符。 测试数据 { "source": "##lts#" } 加工规则 e_set("str_strip", str_strip(v("source"), "#")) 加工结果 source: ##lts# str_strip: lts
  • str_lstrip 删除字符串开头指定的字符。 函数格式 str_lstrip(value, chars) 参数说明 参数名称 参数类型 是否必填 说明 value 任意(自动转为String) 是 需要被修改的原字符串。 chars 任意(自动转为String) 否 字符串开头需要删除的字符集,默认为空格。 返回结果 修改后的字符串。 函数示例 测试数据:无 加工规则 e_set("str_strip", str_lstrip("**123**", "*")) 加工结果 str_strip: 123**
  • 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==
  • 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