云服务器内容精选

  • 为什么要看实时日志 实时日志可以帮助您分析加速域名遇到的异常问题,也可以帮助您了解用户的访问情况。实时日志的优势如下: 当前CDN控制台可为用户展示的离线日志是延时了6个小时的日志,而实时日志延时较小,可以帮助您更快速的对终端用户访问日志进行分析。 传统离线日志需要您先将离线日志包下载、解压再对日志进行分析处理,过程比较繁琐。华为云已打通与云日志服务间的通信链路,采用流式传输,免去了传统日志繁琐的下载分析流程。 云日志服务已部署CDN专属的可视化仪表盘,您可以一键开启,将CDN原始日志可视化呈现。 离线日志目前默认提供访问时间、状态码等13个字段,实时日志默认提供日志分析常用的25个字段,详见实时日志字段。
  • 注意事项 CDN目前仅支持推送中国大陆节点的日志到云日志服务的华北-北京四region。CDN其余地区节点的日志推送功能正在规划,请关注产品动态。 CDN节点实时日志推送暂不收费(后续是否会收费请关注产品动态),基础存储与分析相关费用由云日志服务(LTS)收取。 受网络、节点物理硬件等的影响,引起的部分日志有延迟属于正常波动,实时日志也会存在小概率的延迟。 实时日志不可用于计费、对账等场景。 对接LTS后,如果您的域名上量超过20%,请提前5天提交工单请运维人员介入,以免影响正常使用。
  • 实时日志字段 表2 实时日志字段说明 字段 字段含义 是否一定有值 缺省值 request_time 请求时间戳,单位:毫秒 是 无 domain 请求的域名 是 无 method 请求方法 是 无 scheme 请求协议 是 无 uri 请求资源 是 无 uri_param 请求参数 否 "-" client_ip 用户真实IP 是 无 client_port 和CDN节点建连客户端端口 是 无 refer_protocol HTTP refer中的协议 否 "-" refer_domain HTTP refer中domain信息 否 "-" refer_uri HTTP refer中uri信息 否 "-" refer_param HTTP refer中的参数信息 否 "-" request_size 请求大小 是 无 response_time 请求响应时长,单位:毫秒 是 无 response_size 请求返回大小,单位:字节 是 无 http_code 请求响应码 是 无 response_range 应答头里表示的range信息(由源站创建),如bytes:0~99/200 是 无 request_range 用户请求中Header头中range字段取值,如bytes:0~100 是 无 request_body_bytes 实际发送body大小,单位:字节 是 无 content_type 请求的资源类型 是 无 hit_info 命中信息,取值为HIT(命中)、MISS(未命中) 是 无 user_agent UA 否 "-" uuid 请求唯一标识(全网唯一请求ID,即traceid) 是 无 via_info via头信息 否 "-" X-Forwarded-For 请求头中X-Forwarded-For字段 否 "-"
  • 日志说明 日志文件延迟时间:日志时延一般不超过24小时,偶尔会出现时延超过24小时的情况,建议您24小时后下载日志。 日志命名规则:周期开始时刻-加速域名-服务范围.gz,其中服务范围:“cn”代表中国大陆,“ov”代表中国大陆境外。如“2018021123-www.example01.com-ov.gz”。 日志生成规则:每个加速域名的日志默认按小时分割,每天 24 个日志文件。因文件打包有大小限制,如果一小时内产生的日志文件超过打包限制,该时段的日志会分割成多个文件,此时每个日志文件的名称会在日志命名规则的基础上增加一个分段标记。 日志内容示例: [05/Feb/2018:07:54:52 +0800] x.x.x.x 1 "-" "HTTP/1.1" "GET" "www.test.com" "/test/1234.apk" 206 720 HIT "Mozilla/5.0 (Linux; U; Android 6.0; zh-cn; EVA-AL10 Build/HUAWEIEVA-AL10) AppleWebKit/533.1 (KHTML,like Gecko) Mobile Safari/533.1" "bytes=-256" x.x.x.x 各字段从左到右含义如表1所示。 表1 CDN日志字段说明 序号 字段含义 字段示例 1 日志生成时间 [05/Feb/2018:07:54:52 +0800] 2 访问IP地址 x.x.x.x 3 响应时间(单位ms) 1 4 Referer信息 - 5 HTTP协议标识 HTTP/1.1 6 HTTP请求方式 GET 7 CDN加速域名 www.test.com 8 请求路径(不含URL参数) /test/1234.apk 9 HTTP状态码 206 10 返回字节数大小 720 11 缓存命中状态 HIT 12 User-Agent信息,其作用是让服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本信息等。 Mozilla/5.0 (Linux; U; Android 6.0; zh-cn; EVA-AL10 Build/HUAWEIEVA-AL10) AppleWebKit/533.1 (KHTML,like Gecko) Mobile Safari/533.1 13 Range信息,其作用是在HTTP请求头中指定返回数据的范围,即第一个字节的位置和最后一个字节的位置。 bytes参数值表示方法一般分为如下三类: bytes=x-y:表示请求第x个字节到第y个字节的数据内容。 bytes=-y:表示请求最后y个字节的数据内容。 bytes=x-:表示请求第x字节到最后一个字节的数据内容。 bytes=-256 14 服务端IP:CDN服务端响应IP(本字段计划于2024年5月下旬上线)。 x.x.x.x
  • 方案介绍 组织(以下简称Organizations)云服务为企业用户提供多账号关系的管理能力。Organizations支持用户将多个华为云账号整合到创建的组织中,并可以集中管理组织下的所有账号。用户可以在组织中设置访问策略,帮助用户更好地满足业务的安全性和合规性需求。 云日志服务LTS联合Organizations推出多账号日志汇聚中心,您可以在Organizations使用管理账号指定某个成员账号成为LTS可信服务的委托管理员账号,然后可以在LTS将组织下某个成员账号的日志流复制到管理账号或者委托管理员账号中,实现多账号日志集中汇聚的目的。 某个成员账号的源日志组/日志流实际上是被复制一份到管理账号或者委托管理员账号对应的目标日志组/日志流中,因此两个账号间的日志组/日志流之间不会互相干扰,可以在各自账号下独立配置转储、消费、加工等任务。
  • 操作步骤 使用管理账号或者委托管理员账号登录云日志服务管理控制台,进入日志管理页面。 在日志应用下方,单击多账号日志汇聚中心。 在多账号日志汇聚配置页面,开启日志接收状态,左侧选择某个成员账号,右侧勾选对应的源日志组/日志流,支持自定义目标日志组/日志流的名称。 若不需要使用日志汇聚配置功能时,可以关闭日志接收状态,则所有汇聚配置都会失效,源日志流停止汇聚到目标日志流上。 支持创建日志流的数量不超过总数量。更多信息请参考基础资源限制。 设置完成后,单击“确定”,该账号汇聚配置创建中,预计5分钟左右创建完成,请稍后刷新查看配置。 目标日志流初始化时默认采用源账号日志流的索引配置和结构化配置,配置成功后,若源账号日志流修改索引/结构化配置则不会同步到目标日志流。 删除源账号的日志组/日志流不会对目标账号的日志组/日志流造成影响。 取消勾选日志组/日志流并成功下发配置后,该日志组/日志流将不再继续汇聚。
  • 背景信息 集团公司经常采用多账号解决方案(LandingZone),不同的业务部门使用不同的账号,实现权限、资源等的隔离,提高账号的安全性。 集团公司的安全合规部门有统一收集日志的诉求,期望将不同账号下各个业务部门的关键日志集中存储和分析,汇聚到一个日志账号中,用于应对不同国家和地区的安全合规审计要求。 集团公司的运营部门也可能出于运营分析的诉求,期望将不同账号下各个业务部门的关键日志集中存储和分析,汇聚到一个日志账号中,方便后续进行统一的大数据处理和可视化展示。
  • 等保安全合规场景 场景描述:国家网络安全法要求上市公司、金融企业需要保存关键系统日志至少180天,用户可以将这些日志采集到LTS后统一存储。 使用建议: 日志采集方式: 云主机和容器日志,建议优先使用采集器ICAgent采集,使用ECS向导或者CCE向导。 云服务日志例如ELB/VPC日志,您可以在云服务界面打开开关将日志采集到LTS。 如果您的某些设备必须要以Syslog协议上报日志,您可以参考如何搭建Syslog服务器收集日志并采集到LTS。 日志存储方式: LTS默认支持用户存储365天,您可以修改日志存储时长。另外如果1年您觉得存储时长不够,可以提工单给LTS开通3年存储。 降低存储成本: 使用LTS在23年1130公测的冷存储特性,冷存储的日志存储单价比OBS仅贵25%,但是可以支持搜索,在易用性和成本上是最佳选择。 转储至OBS,优点是成本低,缺点是不支持搜索历史日志的内容,使用不便利。
  • 应用监控告警场景 场景描述:适用于使用日志来实时监控应用系统是否正常,提前发现系统故障的场景。 使用建议: 告警统计方式:LTS有两种告警配置方式:关键词告警和SQL告警。如果您的日志是无规则的,那么适用关键词告警,例如java程序的运行日志;如果您的日志是有规则的,例如NGINX网关日志,那么适用SQL统计告警,您可以使用SQL语句对结构化的日志做统计分析,获取您想要的指标配置告警。 告警规则配置:告警触发一般需要越快越好,您的告警规则统计周期建议使用1分钟。您可以使用LTS提供的默认消息模板来发送告警。如果您有个性化的诉求,您可以在系统提供的默认模板的基础上做一些修改保存为消息模板,然后发送告警。 配置ELB/APIG等关键云服务日志告警:ELB经常用来作为应用系统的对外的入口,您可以打开ELB日志对接到LTS,然后配置ELB 5XX状态码告警,这样就可以及时发现系统是否有故障。同时您可以借助开箱即用的ELB仪表盘模板,观察应用系统整体的成功率。
  • 业务运营分析场景 场景描述:适用于在应用系统中打印业务日志,例如交易额、客户、产品等信息,然后使用LTS的SQL分析功能,输出可视化图表和仪表盘的场景。 使用建议: 日志采集方式:建议使用采集器ICAgent采集日志,将日志打印到单独的日志文件中,不要与应用程序的运行日志混在一起。不建议使用SDK、API上报日志。 日志结构化解析方式:建议您打印的业务日志使用空格分割或者JSON格式,这样方便快速配置日志结构化解析规则。 日志可视化呈现: 您可以创建自定义的仪表盘,使用类SQL语法分析已经结构化处理好的业务日志。自定义的仪表盘中,你可以添加多个图表,也可以添加过滤器,使用LTS做业务分析,可以减少采购数据仓库,没有额外成本,上手更简单。 日志加工:有些时候想要分析的业务日志混在运行日志中,或者业务日志中有些敏感数据需要删除,或者有些数据缺少维度数据,这个时候可以使用DSL加工(23年930开始邀测)功能对日志进行规整、富化、流转、脱敏、过滤等操作。
  • 大数据组件日志采集场景 场景描述:有些用户会使用MRS/Flink/Spark等大数据组件做数据处理,希望采集自定义的日志到LTS,但是不希望采集大数据组件的运行日志(对于业务分析价值小)。 使用建议: 日志采集方式:推荐用户使用JAVA SDK或者GO SDK上报日志。常见的大数据组件不太方便指定个性化的日志文件路径去只打印自己的业务日志,因此使用SDK上报日志是比较好的选择。 日志结构化解析方式:LTS支持iOS SDK、Android SDK、百度小程序SDK、微信小程序SDK等端侧SDK,使用端侧SDK上报的日志不支持云端结构化解析,因此建议您上报已经结构化的JSON格式日志。
  • 云服务日志分析场景 如何采集云服务日志到LTS:LTS支持多种云服务接入采集到LTS,您需要在对应云服务的页面打开日志开关,即可以将日志采集到指定的日志组/日志流。 如何配置到最佳使用状态:很多云服务的日志都是支持结构化的,您可以在结构化配置页面为您的云服务日志配置对应的结构化解析规则,详细操作请参考日志结构化配置。结构化解析之后即可对日志使用SQL进行可视化分析。LTS也为很多常见的云服务日志提供了开箱即用的仪表盘,例如ELB/APIG/DCS等开箱即用仪表盘。
  • 云主机应用日志场景 场景描述:适用于用户将应用系统部署在云主机上,使用LTS统一采集和搜索日志的场景。用户的应用系统一般由多个组件(也称微服务)组成,每个组件部署在至少2台云主机上。 使用建议: 日志采集方式:建议使用采集器ICAgent采集日志,您需要在云主机上安装ICAgent,然后使用ECS接入配置日志采集路径。不建议使用SDK、API上报日志。使用ICAgent的好处是与应用系统完全解耦,无侵入,无需更改代码,使用SDK/API等方式步骤相对复杂,如果代码编写不当容易对应用系统的稳定性造成影响。 日志组规划建议:将一个应用系统的日志放在一个日志组中,日志组的名称可以使用应用系统的名称。 日志流规划建议: 如果您的日志是没有固定规则的日志,可以将类似组件的日志采集到同一个日志流,例如java组件、php组件、python组件。类似组件的日志采集到一个日志流的好处是日志流的数量不至于太多而难以管理,如果您的组件数量比较少(例如小于20个),您可以将每个组件的日志采集到不同的日志流。 如果您的日志是类似NGINX网关这种可以结构化解析的日志,建议您将有相同格式的日志采集到同一个日志流。因为统一的日志格式才能方便您后续统一使用SQL分析功能,实现可视化图表分析。 权限隔离建议:云日志服务的日志流支持企业项目隔离,通过为日志流设定不同的企业项目可以实现不同IAM用户有不同日志流的访问权限。
  • 容器应用日志场景 场景描述:适用于用户将应用系统部署在K8S集群上,使用LTS统一采集和搜索日志的场景。用户的应用系统一般由多个工作负载组成,每个工作负载至少部署2个实例。 使用建议: 日志采集方式: 建议使用采集器ICAgent采集日志,您可以使用CCE接入配置日志采集路径。不建议使用SDK、API上报日志。使用ICAgent的好处是与应用系统完全解耦,无侵入,无需更改代码,使用SDK/API等方式步骤相对复杂,如果代码编写不当容易对应用系统的稳定性造成影响。 采集容器应用日志的方式有:容器标准输出、容器文件、节点文件、K8S事件,建议优先使用容器文件。对比容器标准输出,容器文件的优点是可以持久化挂载到主机上,且输出的内容用户自主控制性更强。对比节点文件,容器文件的优点是采集的日志有命名空间、工作负载、POD等元数据信息,在搜索日志的时候更加便捷。 日志组规划建议:将一个CCE集群的所有日志放在一个日志组中,日志组的别名(支持修改)可以使用CCE集群的名称,日志组的原始名称(不支持修改)建议使用k8s-log-{集群ID}。 日志流规划建议: 如果您的日志是没有固定规则的日志,可以将类似组件的日志采集到同一个日志流,例如java组件、php组件、python组件。类似组件的日志采集到一个日志流的好处是日志流的数量不至于太多而难以管理,如果您的组件数量比较少(例如小于20个),您可以将每个组件的日志采集到不同的日志流。 如果您的日志是类似NGINX网关这种可以结构化解析的日志,建议您将有相同格式的日志采集到同一个日志流。因为统一的日志格式才能方便您后续统一使用SQL分析功能,实现可视化图表分析。 权限隔离建议:云日志服务的日志流支持企业项目隔离,通过为日志流设定不同的企业项目可以实现不同IAM用户有不同日志流的访问权限。
  • 删除日志流 如果日志流不再需要使用,可以删除日志流,日志流删除后,日志流中的日志数据将被同时删除。日志流删除后无法恢复,请谨慎操作。 删除日志流前请确认该日志流下没有配置日志采集任务,否则删除后可能影响正常的日志上报。 如果日志流绑定了日志转储任务,删除日志流之前,需要先删除该日志流关联的日志转储任务。 在日志流列表中,单击待删除日志流所在行的。 在弹出框中输入“DELETE”后,单击“确定”,完成日志流删除。 图3 删除日志流