应用日志
计算巢提供了可深入到应用内部的日志收集功能。支持私有化和全托管服务两种服务场景,支持ECS和ACK两种部署方式。本文介绍了应用日志在私有化和全托管服务的配置方案。
功能介绍
计算巢应用日志提供的功能如下:
实现对计算巢服务的实例应用日志的集中收集与管理,提升日志处理的一致性和便捷性。
简化在分布式环境下分散于多台主机的PaaS类软件日志检索工作,有效提升用户体验,并减少日志收集配置的繁复操作。
支持多种应用部署场景,以满足不同用户需求。
托管版服务:ECS单租户、ACK单租户以及ACK多租户模式。
私有化服务:ECS单租户和ACK单租户模式。
若对上述部署概念有疑问,可参考《计算巢服务商场景介绍》文档以获得更深入理解。
托管版服务中,日志资源属于服务商,使服务商能够轻松监控各租户下的实例状态,并支持租户在得到授权后,查看自己实例的日志,确保双方都能高效地访问所需信息。
私有化服务中,日志资源属于用户,使用户能自主查看实例日志信息,也可授予服务商权限,让其代维管理。
概念解释
全托管中的应用日志:在计算巢全托管场景中,资源属于服务商,所以服务实例下的日志资源自然也是属于服务商。
私有化中的应用日志:资源属于用户,所以服务实例下的日志资源自然也是属于用户。
计算巢伪参数:通过在ROS模板中增加计算巢伪参数,计算巢可在实例创建过程中,根据您的服务配置,动态将该伪参数替换为具体的值,该功能主要用于ACK部署模式中,伪参数的格式为{{ 伪参数 }},注意中间内容与前后括号为两个空格间隔。伪参数在本功能的应用中有以下情况:
{{ serviceId }}:在部署时,此参数会替换为对应计算巢服务的唯一服务ID。
{{ serviceInstanceId }}:在部署时,此参数会替换为计算巢服务实例的特定ID。
{{ aliUid }}:在部署时,此参数会替换为用户的AliUID,即阿里云用户ID。
{{ serviceSls.LogProject }}:在部署时,此参数会替换为所在地域的服务实例对应的日志项目(LogProject。该伪参数目前仅全托管服务ACK场景中会使用到。
比如当服务配置了北京和上海两个地域,且日志Project分别为Log-BJ和Log-SH,那么当用户选择北京地域部署时,则日志自动被收集到服务商的Log-BJ中。
{{ serviceSls.${key}.Logstore }}:在部署ROS模板中,需要将此参数根据服务商配置的日志库Logstore名称${key}替换为实际的Logstore。该伪参数需要和下面两个伪参数LogPath和LogFilePattern共用,对于相同的${key} 的三个伪参数代表属于同一组配置。
{{ serviceSls.${key}.LogPath }}:模板中指定的文件路径会根据地域和配置的键(${key})自动被替换。
{{ serviceSls.${key}.LogFilePattern }}:Logstore的文件模式会根据地域和键(${key})自动被替换。
日志收集ROS共享模块:在日志管理功能中,代表由计算巢提供的ECS日志功能组件,可直接引用,该模块用于全托管ECS部署模式。
日志收集模式说明
计算巢场景中,将日志格式简单分为以下两种情况:
日志收集极简模式:即日志收集器根据分行符收集日志,每行被视为新的日志。
自定义日志收集格式:由于日志的格式多种多样,计算巢难以涵盖所有日志格式,所以当有定制需求时,请前往SLS控制台修改日志采集配置,此处给出简单示意图。
前往SLS控制台找到当前的日志收集的
Project
和LogStore
下的日志采集配置-Logtail
配置。打开配置详情,提供正则表达式。