本文介绍托管版服务ECS部署场景下应用日志的配置流程。
原理介绍
在ECS场景中,计算巢主要利用SLS日志采集配置的自定义标识,来实现批量收集统一服务下所有实例的日志。对于一个SLS project
下的某个日志库Logstore
会有一个日志采集配置logtail
,在该日志采集配置中可设置自定义用户标志。当成功设置自定义用户标志后,在服务商账号下,对于每一个安装了日志插件的ECS,如果该台ECS上配置了相同的用户自定义标识,则该ECS上指定路径的应用日志会被自动收集到日志库中,供服务商查看。
对于上述功能,计算巢通过提供了一个ROS共享模块将其简化。具体流程示意如下:
创建包含应用日志功能的全托管服务
概述流程
服务商准备好一个ECS部署场景的全托管服务。
服务商准备服务所需要的SLS相关资源。包含日志仓库Project,日志库Logstore,日志采集配置(视不同部署场景可能需要)。
修改全托管部署服务中应用日志采集到日志服务的配置信息。
如需授予用户查看服务实例应用日志的权限,需要配置代运维权限。
完整流程
该部分完整讲述每个场景下的具体配置步骤。
步骤一. 准备全托管服务
ECS场景需要先具备一个全托管服务。如未有请参见创建全托管服务。
步骤二. 准备SLS资源
每个地域需要配置一个SLS Project,应用相关的Sls logstore和日志采集配置。为了简化该步骤的流程,计算巢提供了通用日志资源准备服务,可帮助您初始化日志SLS Project和Logstore。 举例说明,假设您的服务需要支持在北京和上海部署,且该应用需要收集slow*.log和error*.log。则您需要做的如下:
设置部署的地域为上海和部署场景为ECS
配置日志项目名称和Logstore名称数组
配置日志收集文件名和文件模式。
说明如果
Logstore
配置为数组,则此处文件名和文件模式都需要配置为数组。此处配置关系按数组顺序一一对应。配置该SLS对应的计算巢服务。
步骤三. 修改全托管服务
在计算巢控制台找到上述全托管服务,单击编辑按钮。
服务运维(选填)区域的日志处,配置应用日志信息,开启应用日志。
配置日志库名称、文件路径和文件名信息。
重要日志资源准备填写时的logstore名称必须和服务配置中的logstore名称一致。
配置项
配置说明
地域
应用日志支持的地域
日志项目
选择地域下的日志项目
日志库名称
应用日志保存到的SLS logstore的日志库名字。
路径
应用日志储存的文件路径。
指定文件夹下所有符合文件名称的文件都会被监控(包含所有层次的目录)。
文件名
设置应用日志库的文件名称。
文件名称可以是完整名,也支持通配符模式匹配,支持使用环境变量。
添加日志支持部署地域。
说明如开启了应用日志,则支持的部署地域会同步为应用日志支持地域。
配置日志库。
修改模板。在原本的ROS模板中复制添加下述计算巢日志收集公共模块。
ComputeNestAppLogShareModule: Version: default Type: MODULE::ACS::ComputeNest::EcsSlsConfig Properties: EcsInstanceIds: Fn::GetAtt: - EcsInstanceGroup - InstanceIds ServiceId: '{{ serviceId }}' UserId: '{{ aliUid }}' ServiceInstanceId: '{{ serviceInstanceId }}'
单击保存更新,并在弹出的确认弹窗中单击确定。
步骤四. 服务商授予用户查看日志权限(可选)
在服务运维(选填处)勾选需要给用户授权,在下拉框中选择只读权限或全部权限。
创建服务实例并查看应用日志
创建服务实例。更多信息,请参见创建全托管服务实例。
查看应用日志。
服务创建完成后。
在已创建的服务实例详情页,单击日志管理>应用日志。
在应用日志页签中,查看服务实例的应用日志信息。
您可以指定一个日志库,可以查看具体的日志内容;也可以单击查看SLS控制台,转跳到日志服务控制台,查看详细信息。