用户指南

最佳实践

API 文档

通过控制台配置日志采集

最近更新时间:2021-06-25 16:09:27

本文介绍通过控制台方式使用 CRD 配置 EKS 集群的日志采集功能。

前提条件

登录 弹性容器服务控制台,并为弹性集群开启日志采集功能。操作详情请参见 开启日志采集

操作步骤

为集群开启日志采集功能后,您可根据以下操作进行配置:

配置日志规则

开启日志采集后,需要配置日志规则,确认日志源、消费端、日志解析方式等。

  1. 登录 容器服务控制台,选择左侧导航栏中的【集群运维】>【日志规则】。
  2. 在“日志采集”页面上方选择地域和需要配置日志采集规则的 EKS 集群,单击【新建】。如下图所示:
  3. 在“新建日志采集规则”页面中,选择采集类型,并配置日志源、消费端、日志解析方式。目前采集类型支持 容器标准输出容器文件路径

    选择【容器标准输出】采集类型,并根据自身需求,配置日志源。如下图所示:

    该类型日志源支持采集:

    • 所有容器:所有 Namespace 或某个 Namespace 下的所有容器。
    • 指定工作负载:某 Namespace 下,指定工作负载下的某些容器,并支持添加多个 Namespace。
    • 指定 Pod Labels:某 Namespace 下,指定多个 Pod Labels,采集符合该 Lables 的所有容器。
    说明

    对于容器的标准输出及容器内文件,除了原始的日志内容,还会带上容器或 kubernetes 相关的元数据(例如,产生日志的 Pod name)一起上报到 CLS,方便用户查看日志时追溯来源或根据容器标识、特征(例如,容器名、Labels)进行检索。
    容器或 kubernetes 相关的元数据请参考下方表格:

    字段名 含义
    cluster_id 日志所属的集群 ID。
    container_name 日志所属的容器名称。
    image_name 日志所属容器的镜像名称 IP。
    namespace 日志所属 pod 的 namespace。
    pod_uid 日志所属 pod 的 UID。
    pod_name 日志所属 pod 的名字。
    pod_ip 日志所属 pod 的IP。
    pod_lable_{label name} 日志所属 pod 的 label(例如一个 pod 带有两个 label:app=nginx,env=prod,则在上传的日志会附带两个 metedata:pod_label_app:nginx,pod_label_env:prod)。
  4. 配置日志服务 CLS 为消费端。选择日志集和相应的日志主题,建议选择自动新建日志主题。如下图所示:
    注意
    • 日志服务 CLS 目前只能支持同地域的容器集群进行日志采集上报。
    • 日志集和日志主题在日志规则完成后不可更新。
  5. 单击【下一步】,选择日志提取模式。如下图所示:

    多类提取模式说明

    展开&收起
    解析模式说明相关文档
    单行全文一条日志仅包含一行的内容,以换行符 \n 作为一条日志的结束标记,每条日志将被解析为键值为 CONTENT 的一行完全字符串,开启索引后可通过全文检索搜索日志内容。日志时间以采集时间为准。单行全文格式
    多行全文指一条完整的日志跨占多行,采用首行正则的方式进行匹配,当某行日志匹配上预先设置的正则表达式,就认为是一条日志的开头,而下一个行首出现作为该条日志的结束标识符,也会设置一个默认的键值 CONTENT,日志时间以采集时间为准。支持 自动生成正则表达式多行全文格式
    单行 - 完全正则指将一条完整日志按正则方式提取多个 key-value 的日志解析模式,您需先输入日志样例,其次输入自定义正则表达式,系统将根据正则表达式里的捕获组提取对应的 key-value。支持 自动生成正则表达式单行 - 完全正则格式
    多行 - 完全正则适用于日志文本中一条完整的日志数据跨占多行(例如 Java 程序日志),可按正则表达式提取为多个 key-value 键值的日志解析模式,您需先输入日志样例,其次输入自定义正则表达式,系统将根据正则表达式里的捕获组提取对应的 key-value。支持 自动生成正则表达式多行-完全正则格式
    JSONJSON 格式日志会自动提取首层的 key 作为对应字段名,首层的 value 作为对应的字段值,以该方式将整条日志进行结构化处理,每条完整的日志以换行符 \n 为结束标识符。JSON 格式
    分隔符指一条日志数据可以根据指定的分隔符将整条日志进行结构化处理,每条完整的日志以换行符 \n 为结束标识符。日志服务在进行分隔符格式日志处理时,您需要为每个分开的字段定义唯一的 key,无效字段即无需采集的字段可填空,不支持所有字段均为空。分隔符格式

    正则表达式自动生成说明

    展开&收起

    为方便您的使用,在选择多行 - 完全正则单行 - 完全正则多行全文的提取模式时,支持根据日志样例自动生成正则表达式
    单行 - 完全正则为例,使用步骤如下:

    1. 单击【正则表达式自动生成】。如下图所示:
    2. 在“正则表达式自动生成”弹窗中,选中日志样例中需要提取的字段,填写 key 值。如下图所示:
    3. 单击【确认提取】,即可生成该字段对应的正则表达式,并自动填写提取结果。重复此操作,直至日志完全被提取完成。如下图所示:
    注意

    一个日志主题目前仅支持一个采集配置,请保证选用该日志主题的所有容器的日志都可以接受采用所选的日志解析方式。若在同一日志主题下新建了不同的采集配置,旧的采集配置会被覆盖。

  6. 根据自身需求开启其他功能。
    • 开启过滤器,并配置规则。
      开启后,仅采集符合过滤器规则的日志,Key 支持完全匹配,过滤规则支持正则匹配,如仅采集 ErrorCode = 404 的日志;
    • 开启上传解析失败日志。
      开启后,所有解析失败的日志,均以作为键名称(Key),原始日志内容作为值(Value)进行上传。关闭时会丢弃失败的日志。
  7. 单击【完成】,完成创建。

更新日志规则

  1. 登录 容器服务控制台,选择左侧导航栏中的【集群运维】>【日志规则】。
  2. 在“日志规则”页面中,选择需要更新的日志规则,单击右侧的【编辑收集规则】。如下图所示:
  3. 根据需求更新相应配置,单击【完成】,完成更新。
目录