私有部署服务应用日志配置方案

计算巢应用日志管理功能将SLS日志服务能力集成到计算巢,支持ECS和ACK部署场景,补齐了应用可观测性能力,让用户能够一键查看日志。本文介绍如何私有化场景中配置并查看应用日志的详细操作。

概述

应用日志功能的基本流程如下:

  1. 创建私有部署服务时,定义应用日志采集到日志服务的配置信息。

  2. 用户创建服务实例时,启用应用日志功能。

  3. 计算巢在创建服务实例过程中,会按照日志采集的配置信息,在用户账户下配置的ECS实例上的logtail客户端中,创建SLS projectlogstorelogstore配置和机器组等。

  4. 用户即可从服务实例详情页查看计算巢平台从SLS logstore中查询出应用日志。

创建包含应用日志功能的私有部署服务

  1. 登录计算巢控制台

  2. 在左侧导航栏中,选择我的服务,并在我的服务页面中选择我创建的服务,然后单击创建新服务

  3. 创建新服务界面,配置服务信息。

    此处只列举自定义运维需要特别配置的参数,其他参数,请参见创建私有部署服务

    1. 服务运维(选填)区域的日志处,配置应用日志信息。

      1. 开启应用日志,然后单击添加logstore

      2. 添加logstore弹窗中,设置应用日志信息。包括日志库名称文件路径文件名信息。/

        重要

        日志库名称会被模板中引用。

        配置项

        配置说明

        日志库名称

        应用日志保存到的SLS logstore的日志库名字。不要包含“_”下划线符号。

        路径

        应用日志储存的文件路径。

        指定文件夹下所有符合文件名称的文件都会被监控(包含所有层次的目录)。

        文件名

        设置应用日志库的文件名称。

        文件名称可以是完整名,也支持通配符模式匹配,支持使用环境变量。

        siyouhua.webp

  4. 修改服务部署ROS模板。

  • 若服务实例的应用是部署在容器服务上如ACK环境,还需在YAML配置文件中增加日志配置的环境变量。即采用计算巢提供的伪参数的方式实现日志收集的设置。

    • 示例模板如下:模板中${key}为动态传入的日志库名,即LogstoreName,也就是第三步骤中的日志库名称

    • 环境变量只需将${key}动态替换,而保持其余部分不变。

    重要

    ACK部署情形中,环境变量中的${key}名称必须和服务配置中的logstore名称保持一致,且不要包含下划线"_"。

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        env:
            #设置日志文件路径
          - name: aliyun_logs_{{ serviceSls.${key}.Logstore }}
            value: {{  serviceSls.${key}.LogPath }} / {{  serviceSls.${key}.LogFilePattern }}
            #  表示日志的存储logstore
          - name: aliyun_logs_{{ serviceSls.${key}.Logstore }}_logstore
            value: {{ serviceSls.${key}.Logstore}}
    • 此处举个例子具体讲述上述伪参数{{ serviceSls.${key}.Logstore }},{{ serviceSls.${key}.LogPath }}和{{ serviceSls.${key}.LogFilePattern }}的使用。

      假设有个k8s(ACK)的数据库应用,需要

      • 目录:/val/log/下收集慢SQL日志,文件为slow*.log,收集到的日志库Logstore的名称为slow-log。

      • 目录:/val/log/下收集错误SQL日志,文件为error*.log,收集到的日志库Logstore的名称为error-log。

    那么ROS模板中该应用需要新增的环境变量为:

           #第一组日志收集配置
          - name: aliyun_logs_{{ serviceSls.slow-log.Logstore }}
            value: {{  serviceSls.slow-log.LogPath }} / {{  serviceSls.slow-log.LogFilePattern }}
          - name: aliyun_logs_{{ serviceSls.slow-log.Logstore }}_logstore
            value: {{ serviceSls.slow-log.Logstore}}
           #第二组日志收集配置
          - name: aliyun_logs_{{ serviceSls.error-log.Logstore }}
            value: {{  serviceSls.error-log.LogPath }} / {{  serviceSls.error-log.LogFilePattern }}
          - name: aliyun_logs_{{ serviceSls.error-log.Logstore }}_logstore
            value: {{ serviceSls.error-log.Logstore}}
  1. (可选)变配功能。可在服务运维(选填)区域的变配处,设置变配信息。

说明

默认情况下,用户侧的应用日志的开启或关闭状态在服务实例创建完成后就无法变更了。如果希望支持应用日志的卸载或重装操作,可以设置服务的变配功能。

  1. 开启支持服务实例变配,单击添加变配操作

  2. 根据界面提示,填写变配参数。bianpei.webp

    在变配方式处,需选择应用日志变更

  1. 单击创建服务,并在弹出的确认弹窗中单击确定

创建服务实例并启用应用日志

  1. 创建服务实例。

    更多信息,请参见创建私有部署服务实例

  2. 查看应用日志。

    服务实例创建完成后,由于应用日志的启用是一个异步的过程,因此有可能需要等待一段时间才能查看应用日志。siyouhua_si.webp

  3. 在已创建的服务实例详情页,单击日志管理 > 应用日志

  4. 应用日志页签中,查看服务实例的应用日志信息。

    您可以指定一个日志库,可以查看具体的日志内容;也可以单击查看SLS控制台,转跳到日志服务控制台,查看详细信息。

  1. (可选)关闭应用日志。

    bainpei_shutdown.webp

    若该服务支持变配操作,用户可以单击“关闭应用日志”来卸载应用日志。卸载完成后还可以重新启用应用日志。