日志

目录

日志查询分析

在运维中心的日志查询分析面板中,您可以查看登录账号权限范围内的标准输出(stdout)日志,包括系统日志、产品日志、Kubernetes 日志和应用日志。通过这些日志,您可以洞察资源的运行情况。

  • 系统日志:来自宿主节点的日志,如:dmesg、syslog/messages、secure 等。
  • 产品日志:平台自身组件及集成到平台的第三方组件日志,如:Container-Platform、Platform-Center、DevOps、Service-Mesh 等。
  • Kubernetes 日志:Kubernetes 容器编排相关组件的日志,以及 kubelet、kubeproxy、docker 产生的日志,如:docker、kube-apiserver、kube-controller-manager、etcd 等。
  • 应用日志:业务应用产生的日志,包括文件日志和标准输出日志。

日志查询条件支持在指定时间范围内(可选时间或自定义时间)筛选日志,并通过柱状图和标准输出展示查询结果。

WARNING

出于性能考虑,平台单次最多展示 10,000 条日志。如果平台上的日志量在某段时间内过大,请缩小查询时间范围,分阶段查询日志。

搜索日志

  1. 在左侧导航栏点击 运维中心 > 日志 > 日志查询分析

  2. 选择指定的日志类型、查询条件,输入要检索的日志内容关键词,然后点击 搜索

TIP
  • 不同的 日志类型 支持不同的可选查询条件。

  • 可以选择或输入多个查询条件标签;不同资源类型的查询条件之间是 AND 关系。部分查询条件标签支持多选,选择后请务必按 Enter 键提交选项。

  • 查询条件支持模糊搜索,例如查询条件 pod = nginx 可检索到 nginx-1nginx-2 的日志。

  • 日志内容搜索条件仅用于检索日志关键词,支持使用 ANDOR 参数进行关联查询。但请注意,单次查询中不要同时使用 ANDOR 参数。

  • 柱状图展示当前查询时间范围内日志总数及不同时间点的日志数量。点击图表中的某个柱状条,可查看该柱状条与下一个柱状条时间段内的日志。

导出日志数据

页面最多展示 10,000 条日志。当检索日志数量过多时,可以使用日志导出功能,查看最多 100 万条日志。

  1. 点击柱状图右上角的 导出 按钮,在弹出的导出日志对话框中配置以下参数。

    • 范围:日志导出范围,可选择 当前页全部结果

      • 当前页:仅导出当前页查询结果,最多 1,000 条。
      • 全部结果:导出符合当前查询条件的所有日志数据,最多 100 万条。
    • 字段:日志显示字段。可通过勾选字段名称旁的复选框选择导出日志文件中显示的字段信息。

      注意:不同日志类型可选显示字段不同,请根据实际需求选择。

    • 格式:日志文件导出格式,支持 txtcsv。平台将以 gzip 压缩格式导出。

  2. 点击 导出,浏览器将直接下载压缩文件到本地。

查看日志上下文

  1. 双击日志内容区域,当前对话框将显示当前日志打印时间前后各 5 条日志,帮助运维人员更好地理解资源产生当前日志的原因。

  2. 您可以设置日志上下文的显示字段或导出日志上下文。导出日志上下文时,无需选择 范围,点击 导出 按钮后,浏览器会直接下载日志上下文文件到本地。

管理应用日志保留时间

当未设置项目策略时,平台上应用日志的保留时间由应用所在集群安装的 ACP Log Collector 选择的 存储集群 上安装的 日志存储插件Application Log Retention Time 决定。

您可以通过添加和管理项目日志策略,区分平台上 应用日志 的保留时间。

TIP

项目策略仅作用于特定项目下的 应用日志。设置项目策略后,该项目下所有应用日志的保留时间均遵循项目策略。

平台管理员设置保留策略

  1. 在左侧导航栏点击 运维中心 > 日志 > 策略管理

  2. 点击 添加项目策略

  3. 点击 项目 下拉框,选择一个项目。

  4. 设置 日志保留时间

    • 使用计数器两侧的 -/+ 按钮减少/增加保留天数,或直接在计数器中输入数值。平台允许设置的保留时间范围为 1 至 30 天。
    • 若输入值为小数,将向上取整为整数;若输入值小于 1,则向上取整为 1,且 - 按钮不可点击;若输入值超过 30,则向下取整为 30,且 + 按钮不可点击。
  5. 点击 添加

项目管理员设置保留策略

  1. 进入当前项目的项目详情页。

  2. 点击日志策略字段旁的编辑按钮,在弹窗中启用日志策略。

  3. 设置 日志保留时间

  • 使用计数器两侧的 -/+ 按钮减少/增加保留天数,或直接在计数器中输入数值。平台允许设置的保留时间范围为 1 至 30 天。
  • 若输入值为小数,将向上取整为整数;若输入值小于 1,则向上取整为 1,且 - 按钮不可点击;若输入值超过 30,则向下取整为 30,且 + 按钮不可点击。

通过 CLI 设置保留策略

  1. 登录 global 集群,执行以下命令:

    kubectl edit project <Project Name>
  2. 按照以下示例修改 yaml,保存并提交。

    apiVersion: auth.alauda.io/v1
    kind: Project
    metadata:
      annotations:
        cpaas.io/creator: mschen1@alauda.io
        cpaas.io/description: ''
        cpaas.io/display-name: ''
        cpaas.io/operator: leizhuc
        cpaas.io/project.esPolicyLastEnabledTimestamp: '2025-02-18T09:53:54Z'
        cpaas.io/updated-at: '2025-02-18T09:53:54Z'
    creationTimestamp: '2025-02-13T08:19:11Z'
    finalizers:
      - namespace
    generation: 1
    labels:
      cpaas.io/project: bookinfo
      cpaas.io/project.esIndicesKeepDays: '7' # 项目下应用日志的保留时长
      cpaas.io/project.esPolicyEnabled: 'true' # 启用项目策略
      cpaas.io/project.id: '95447321'
      cpaas.io/project.level: '1'
      cpaas.io/project.parent: ''
    name: bookinfo
    ### 省略未涉及修改的更多 yaml 信息。

配置部分应用日志停止采集

如果您只需查看集群内特定应用的 实时日志,但不希望存储这些日志(采集器会丢弃对应日志),可参考本节设置停止采集范围(集群、命名空间、Pod),实现对应用日志采集的精细化控制。

停止采集集群内所有应用日志

您可以更新集群 ACP Log Collector配置参数,关闭 应用日志 采集开关,从而统一更新该集群的日志采集范围。关闭某类日志采集开关后,将停止采集当前集群内该类日志的所有日志。

停止采集指定命名空间的应用日志

您可以通过给指定命名空间添加标签 cpaas.io/log.mute=true,关闭该命名空间的日志采集开关,从而停止采集该命名空间内所有 Pod 的标准输出日志和文件日志。

可选配置方式如下:

  • 命令行方式:登录集群任一控制节点,执行以下命令更新命名空间标签。

    kubectl label namespace <Namespace Name> cpaas.io/log.mute=true
  • 界面操作方式:在 项目管理 视图中更新命名空间标签。

    1. 项目管理 视图的项目列表中,点击命名空间所在的 项目名称

    2. 在左侧导航栏点击 命名空间

    3. 点击要更新标签的 命名空间名称

    4. 详情 标签页,点击 标签 右侧的操作按钮。

    5. 添加标签(键:cpaas.io/log.mute,值:true)或修改已有标签的值,然后点击 更新

停止采集 Pod 日志

您可以通过给指定 Pod 添加标签 cpaas.io/log.mute=true,关闭该 Pod 的日志采集开关,从而停止采集该 Pod 的标准输出日志和文件日志。

登录集群任一控制节点,执行以下命令更新 Pod 标签。

kubectl label pod <Pod Name> -n <Namespace Name> cpaas.io/log.mute=true

注意:如果 Pod 属于计算组件(Workload),您可以更新计算组件(Deployment、StatefulSet、DaemonSet、Job、CronJob)的标签,统一更新该计算组件下所有 Pod 的标签,且 Pod 重建后标签不会丢失。

您可以通过以下方式更新计算组件标签。

  1. Container Platform 产品视图中,点击顶部导航切换到 Pod 所在的命名空间。

  2. 在左侧导航栏点击 计算组件 > Pod 所属计算组件类型

  3. 点击要更新的计算组件右侧的操作按钮 > 更新

  4. 点击右上角的 YAML,切换到 YAML 编辑视图。

  5. spec.template.labels 字段下,添加 cpaas.io/log.mute: 'true' 标签。

    示例如下:

    spec:
      template:
        metadata:
          namespace: tuhao-test
          creationTimestamp: null
          labels:
            app: spilo
            cpaas.io/log.mute: 'true'
            cluster-name: acid-minimal-cluster
            role: exporter
            middleware.instance/name: acid-minimal-cluster
            middleware.instance/type: PostgreSQL
  6. 点击 更新