首页 > 其他分享 >docker 日志清理的实际管理措施

docker 日志清理的实际管理措施

时间:2023-02-02 13:55:23浏览次数:36  
标签:清理 sh ansible ssh docker 日志 delete

场景: 当我们在实际业务场景中,是用docker 或者使用k8s 部署我们的服务时, 服务在运行过程中打印的 print 日志,实际上是被记录的 在 “/var/lib/container/docker/overlay2/{dockerid}/” 路径下的 *-json.log 日志中. 如果不控制当前服务日志的输出量级以及应用日志向控制台日志输出级别, 那么 docker 中的 日志文件的增量是巨大的。

如下shell  脚本 直接运行,清理服务器中的docker 已产生的日志,如果你的应用是群集时,你可以将如下脚本 通过POERJOB 或者 XXL-JOB 或者 在构建一个 

ansible shell 定时脚本来清理群集中每台机子的 docker日志。  
  • delete-docker-logs.sh
#!/bin/bash
for i in `find /var/lib/docker/containers -name *-json.log`;do cat /dev/null > $i;done

 

下面介绍下 通过 ansible 执行多台机子的脚本 delete-docker-logs.sh 

  • 安装 ansible 
yum install ansible

 

  • 配置hosts,ansible 安装完成默认配置文件在/etc/ansible里面,需要配置host才能进行脚本分发
cat /etc/ansible/hosts
[all]
填写ip    ansible_ssh_port=22           ansible_ssh_user=用户名                ansible_ssh_pass=密码
填写ip    ansible_ssh_port=22           ansible_ssh_user=用户名                ansible_ssh_pass=密码
  • ansible-delete-logs.sh
#!/bin/bash
ansible all -m copy -a "src=/etc/ansible/delete-docker-logs.sh dest=/tmp/"
ansible all -m shell -a 'chmod u+x /tmp/delete-logs.sh && sh /tmp/delete-logs.sh'
echo $(date +"%Y-%m-%d:%T") >> /tmp/delete-k8s-log.txt

 最后还是建议大家通过 POWERJOB 来群集管理多台机子的运维脚本,会更加方便。

标签:清理,sh,ansible,ssh,docker,日志,delete
From: https://www.cnblogs.com/davidchild/p/17085740.html

相关文章

  • docker搭建kafka集群实践
    前言本文主要介绍了如何通过docker搭建一个可以用于生产环境的kafka集群。kafka集群使用了3个节点,依赖zookeeper进行协调,所以会同时搭建一套3节点的zookeeper集群。准备......
  • 开启并分析DNS debug日志
    开启DNS调试日志,记录DNS查询日志  当文件达到20M后,会自动重写新日志DNSDeugLog,使用如下脚本进行分析脚本:##################################################......
  • 图文结合带你搞懂MySQL日志之General Query Log(通用查询日志)
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:KAiTO文章来源:GreatSQL社区原创往期......
  • 如何使用Tomcat自带的日志实现tomcat-juli.jar
    前言Tomcat自带的日志实现是​​tomcat-juli.jar​​,它是对默认的JDK日志java.util.logging进行一定的封装,和标准JDK日志支持相同的配置,但是和log4j等常用的日志框架比起来......
  • docker 安装 jenkins快速版
    创建持久化存储mkdir-p /home/wilson/jenkinslast&&chmod777/home/wilson/jenkinslast运行容器,没有镜像默认自动下载dockerrun-d-p20240:8080-p20241:50000......
  • docker kafka 安装步骤
    首先创建一个网络app-tier:网络名称–driver:网络类型为bridgedockernetworkcreateapp-tier--driverbridge1、安装zookeeperKafka依赖zookeeper所以先安装zookeepe......
  • 离线安装docker
    1、先下载docker的安装包下载地址:https://download.docker.com/linux/static/stable/x86_64/这里我们下载docker-19.03.9.tgz,然后上传到服务器上解压tar-zxvfdocker-1......
  • docker镜像压缩导入导出
    docker镜像导出导入导出导入可以用save-load,或者export-import,这里以save-load为例将容器打成镜像dockercommit-a'用户名'-c'描述'mynginx:v0.0.1导出:docker......
  • logging模块如何实现日志文件基于时间进行分割?
    TimeRotatingFileHandler类简介基于时间来分割日志,主要用到logging.handlers模块中的TimeRotatingFileHandler类初始化参数filename:不带suffix的文件名when:......
  • 温习日志-12
    温习日志——2023年2月1日下午学习内容转换和检查数字对于数字23和23.0是相等的0.1+0.2由于JS原因不等于0.3,而是0.300000000000004将字符串转换是Number('23')......