本文将介绍如何在ASK集群中将业务容器的标准输出和日志文件收集到阿里云日志服务。
前提条件
- 已创建ASK集群。具体操作,请参见创建ASK集群。
- 已开启阿里云日志服务。具体操作,请参见在ASK集群中开启应用日志。
步骤一:创建应用并配置日志服务
您可以在创建应用的同时配置日志服务,从而对容器的日志进行采集。目前支持通过镜像和YAML模板两种方式创建应用。
方式一:通过镜像创建应用并配置日志服务
- 登录容器服务管理控制台,在左侧导航栏中选择集群。
- 在集群列表页面中,单击目标集群名称,然后在左侧导航栏中,选择 。
- 在无状态页面上方的命名空间下拉列表中选择目标命名空间,然后在页面右上角单击使用镜像创建。
方式二:通过YAML模板创建应用并配置日志服务
步骤二:配置环境变量的高级参数
通过容器环境变量配置采集支持多种配置参数,您可根据实际需求设置高级参数来实现日志采集的特殊需求。
重要 通过容器环境变量配置采集日志的方式不适用边缘场景。
字段 | 说明 | 示例 | 注意事项 |
---|---|---|---|
aliyun_logs_{key} |
|
|
|
aliyun_logs_{key}_tags | 可选。值为{tag-key}={tag-value}类型,用于对日志进行标识。 |
|
- |
aliyun_logs_{key}_project | 可选。值为指定的日志服务Project。当不存在该环境变量时为您安装时所选的Project。 |
|
Project需与您的Logtail工作所在Region一致。 |
aliyun_logs_{key}_logstore | 可选。值为指定的日志服务Logstore。当不存在该环境变量时Logstore和{key}一致。 |
|
- |
aliyun_logs_{key}_shard | 可选。值为创建Logstore时的shard数,有效值为1~10。当不存在该环境变量时值为2。 |
|
- |
aliyun_logs_{key}_ttl | 可选。值为指定的日志保存时间,有效值为1~3650。
|
|
- |
aliyun_logs_{key}_machinegroup | 可选。值为应用的机器组。当不存在该环境变量时与安装Logtail的默认机器组一致。 |
|
- |
- 定制需求1:将多个应用数据采集到同一Logstore
如果您需要将多个应用数据采集到同一Logstore,可以设置 aliyun_logs_{key}_logstore参数,例如以下配置将2个应用的stdout采集到stdout-logstore中。
示例中应用1的
{key}
为app1-stdout
,应用2的{key}
为app2-stdout
。应用1设置的环境变量为:######### 配置环境变量 ########### - name: aliyun_logs_app1-stdout value: stdout - name: aliyun_logs_app1-stdout_logstore value: stdout-logstore
应用2设置的环境变量为:######### 配置环境变量 ########### - name: aliyun_logs_app2-stdout value: stdout - name: aliyun_logs_app2-stdout_logstore value: stdout-logstore
- 定制需求2:将不同应用数据采集到不同的Project 如果您需要将不同应用的数据采集到多个Project中,您需要进行以下操作:
- 在每个Project中创建一个机器组,选择自定义标识,标识名为
k8s-group-{cluster-id}
,其中{cluster-id}
为您的集群ID,机器组名称您可以自定义配置。 - 每个应用的环境变量中配置project、logstore、machinegroup信息,其中机器组名称为您在上一步创建的机器组名。
如下示例中应用1的
{key}
为app1-stdout
,应用2的{key}
为app2-stdout
。其中如果两个应用在同一个K8s集群中,对应machinegroup可以使用同一个machinegroup。应用1设置的环境变量为:######### 配置环境变量 ########### - name: aliyun_logs_app1-stdout value: stdout - name: aliyun_logs_app1-stdout_project value: app1-project - name: aliyun_logs_app1-stdout_logstore value: app1-logstore - name: aliyun_logs_app1-stdout_machinegroup value: app1-machine-group
应用2设置的环境变量为:######### 应用2 配置环境变量 ########### - name: aliyun_logs_app2-stdout value: stdout - name: aliyun_logs_app2-stdout_project value: app2-project - name: aliyun_logs_app2-stdout_logstore value: app2-logstore - name: aliyun_logs_app2-stdout_machinegroup value: app1-machine-group
- 在每个Project中创建一个机器组,选择自定义标识,标识名为
步骤三:查看日志
在容器服务控制台查看应用容器的日志的具体步骤如下。