更新时间:2024-11-05 GMT+08:00

配置容器服务日志采集路径

AOM支持容器服务日志采集,并展现在AOM界面中,以供您检索。使用该功能前首先要配置日志采集路径,配置方法详见如下操作。

注意事项

  • ICAgent只采集*.log、*.trace和*.out类型的文本日志文件。

配置步骤

在CCE中添加日志策略

  1. 在CCE中创建工作负载时,添加容器后,展开“容器日志”页签。
  2. 单击“添加日志策略”,设置自定义日志参数,配置日志策略,以nginx为例,不同工作负载根据实际情况配置。

    图1 添加日志策略

  3. 存储类型有“主机路径”“容器路径”两种类型可供选择:

    • 主机路径:可将主机上的路径挂载到指定的容器路径。日志策略配置参数如下:
      表1 添加日志策略-主机路径

      参数

      参数说明

      存储类型

      设置为“主机路径”。将主机上的路径挂载到指定的容器路径。

      添加容器挂载

      *主机路径

      容器内日志文件所在路径挂载到主机上的位置,如:/var/paas/sys/log/nginx

      挂载路径

      输入数据逻辑卷挂载到容器上的路径,如:/tmp
      须知:
      • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。
      • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。
      • AOM只采集最近修改过的前20个日志文件,且默认采集两级子目录。
      • AOM只采集挂载路径下的“.log”、“.trace”、“.out”文本日志文件。

      主机扩展路径

      会在原先的“卷目录/子目录”中增加一个三级目录。使用户更方便获取单个Pod输出的文件。

      • None:不配置拓展路径。
      • PodUID:Pod的ID。
      • PodName:Pod的名称。
      • PodUID/ContainerName:Pod的ID/容器名称。
      • PodName/ContainerName:Pod名称/容器名称。

      采集路径

      设置采集路径可以更精确的指定采集内容,当前支持以下设置方式:

      • 不设置则默认采集当前路径下.log .trace .out文件。
      • 设置**表示递归采集5层目录下的.log .trace .out文件。
      • 设置*表示模糊匹配。

      例子: 采集路径为/tmp/**/test*.log 表示采集/tmp目录及其1-5层子目录下的全部以test开头的.log文件。

      注意:

      使用采集路径功能请确认您的采集器ICAgent版本为5.12.22或以上版本。

      日志转储

      此处日志转储是指日志的本地绕接。

      • 设置:AOM每分钟扫描一次日志文件,当某个日志文件超过50MB时,会立即对其转储(转储时会在该日志文件所在的目录下生成一个新的zip文件。对于一个日志文件,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除),转储完成后AOM会将该日志文件清空。
      • 不设置:若您在下拉列表框中选择“不设置”,则AOM不会对日志文件进行转储。
      说明:
      • AOM的日志绕接能力是使用copytruncate方式实现的,如果选择了设置,请务必保证您写日志文件的方式是append(追加模式),否则可能出现文件空洞问题。
      • 当前主流的日志组件例如Log4j、Logback等均已经具备日志文件的绕接能力,如果您的日志文件已经实现了绕接能力,则无需设置。否则可能出现冲突。
      • 建议您的业务自己实现绕接,可以更灵活的控制绕接文件的大小和个数。
    • 容器路径:日志仅输出到容器路径,无需挂载主机路径。日志策略配置参数如下:

      此功能需要采集器ICAgent版本升级到5.10.79或以上版本。

      表2 添加日志策略-容器路径

      参数

      参数说明

      存储类型

      设置为“容器路径”。

      日志仅输出到容器路径,无需挂载主机路径。此功能需要采集器ICAgent版本升级到5.10.79或以上版本。

      添加容器挂载

      挂载路径

      输入数据逻辑卷挂载到容器上的路径,如:/tmp
      须知:
      • 请不要挂载在系统目录下,如“/”、“/var/run”等,会导致容器异常。建议挂载在空目录下,若目录不为空,请确保目录下无影响容器启动的文件,否则文件会被替换,导致容器启动异常,工作负载创建失败。
      • 挂载高危目录的情况下 ,建议使用低权限账号启动,否则可能会造成宿主机高危文件被破坏。
      • AOM只采集最近修改过的前20个日志文件,且默认采集两级子目录。
      • AOM只采集挂载路径下的“.log”、“.trace”、“.out”文本日志文件。

      采集路径

      设置采集路径可以更精确的指定采集内容,当前支持以下设置方式:

      • 不设置则默认采集当前路径下.log .trace .out文件。
      • 设置**表示递归采集5层目录下的.log .trace .out文件。
      • 设置*表示模糊匹配。

      例子: 采集路径为/tmp/**/test*.log 表示采集/tmp目录及其1-5层子目录下的全部以test开头的.log文件。

      注意:

      使用采集路径功能请确认您的采集器ICAgent版本为5.12.22或以上版本。

      日志转储

      此处日志转储是指日志的本地绕接。

      • 设置:AOM每分钟扫描一次日志文件,当某个日志文件超过50MB时,会立即对其转储(转储时会在该日志文件所在的目录下生成一个新的zip文件。对于一个日志文件,AOM只保留最近生成的20个zip文件,当zip文件超过20个时,时间较早的zip文件会被删除),转储完成后AOM会将该日志文件清空。
      • 不设置:若您在下拉列表框中选择“不设置”,则AOM不会对日志文件进行转储。
      说明:
      • AOM的日志绕接能力是使用copytruncate方式实现的,如果选择了设置,请务必保证您写日志文件的方式是append(追加模式),否则可能出现文件空洞问题。
      • 当前主流的日志组件例如Log4j、Logback等均已经具备日志文件的绕接能力,如果您的日志文件已经实现了绕接能力,则无需设置。否则可能出现冲突。
      • 建议您的业务自己实现绕接,可以更灵活的控制绕接文件的大小和个数。

在ServiceStage中添加日志策略

查看容器服务日志

日志采集路径配置成功后,若已配置的路径下存在日志文件,则ICAgent会从已配置的路径中采集日志文件,采集大概需要1分钟,请您耐心等待。待采集完成后,您可执行如下操作:

  • 查看容器服务日志文件

    在左侧导航栏中选择“日志 > 日志文件”,在“组件”页签的下拉列表框中选择对应的集群和命名空间,左边的列表展示了在已选命名空间下该集群的组件,单击某个组件,即可查看其日志文件,如下图所示。详细操作请参见查看日志文件

    图2 查看容器服务日志文件
  • 查看容器服务日志并进行分析

    在左侧导航栏中选择“日志 > 日志搜索”,在“组件”页签中选择对应的集群与命名空间,选择某个组件及已配的文件名称,查看采集到的日志并进行分析。详细操作请参见搜索日志

    图3 查看容器服务日志并进行分析