通用方案:baseService集群中aliyunid_appaccess容器的Jetty日志清理

通用方案:baseService集群中aliyunid_appaccess容器的Jetty日志清理

更新时间:2020-08-04 16:34:51

1. 概述

本文主要介绍在专有云V3环境中,baseService集群中aliyunid_appaccess容器的Jetty日志清理方案。

1.1. 适用范围

  • 专有云V3,基础服务设备
    说明:本文适用于专有云V3.0~3.10的环境。

1.2. 风险说明

不会影响客户业务,操作过程中无风险。

1.3. 用户告知

  • 操作方式:黑屏
  • 操作复杂度:低
  • 风险等级:低

2. 问题描述

在专有云V3环境中,baseService集群下的aliyunid_appaccess容器产生磁盘告警。

3. 解决方案

3.1. 环境检查

  1. 登录天基控制台,单击运维>集群运维,在Project框中搜索baseServiceAll,单击相应集群右侧的监控>集群运维中心

  1. 选择baseService-umm-ak服务,然后选择AliyunidAppaccess#服务角色,单击服务器右侧的Terminal,登录AliyunidAppaccess#服务角色对应的机器。

  1. 执行以下命令,查看容器ID。

    sudo docker ps | grep aliyunid_appaccess

    系统显示类似如下。

  1. 执行以下命令,登录aliyunid_appaccess容器。

    sudo docker exec -it [$Container_ID] bash

    说明:[$Container_ID]为第3步获取的容器ID。

  1. 执行以下命令,确认占用磁盘空间较大的目录

    df -h
  1. 执行以下命令,确认日志目录占用空间较多。

    du -sh  /alidata/www/logs/jetty

    系统返回类似如下。

  1. 执行以下命令,检查日志数量。并执行ll命令,查看文件的创建日期。

    ls /alidata/www/logs/jetty/* |wc -l

    系统返回类似如下。

  1. 执行以下命令,确认Crond服务已开启。

    chkconfig --list | grep crond

    系统返回类似如下。

  1. 执行以下命令,检查Crond服务是否运行。

    service crond status

    系统返回类似如下,说明Crond服务未启动。

  1. 执行以下命令,启动Crond服务。

    注意:若本节步骤9返回结果为“crond is running”,则无需执行此步骤。

    service crond start

    系统返回类似如下。

3.2. 实施步骤

释放磁盘空间

执行以下命令,释放磁盘空间。

find /alidata/www/logs/jetty -mtime +7 -delete

添加定时任务

  1. 执行以下命令,编辑定时任务。

    crontab -e
  1. 添加以下定时任务,保存并退出。

    0 2 * * * find /alidata/www/logs/jetty -mtime +7 -delete
  1. 执行以下命令,确认定时任务添加成功。

    crontab -l

    系统返回类似如下。

3.3. 结果验证

等待定时任务执行成功后,登录aliyunid_appaccess容器,执行以下命令,确认已释放磁盘空间。

df -h

4. 回滚方案

登录aliyunid_appaccess容器,执行以下命令,删除定时任务,保存并退出。

crontab -e