运维编排系列场景-----在磁盘使用率超限时自动清理临时文件

本文涉及的产品
系统运维管理,不限时长
简介: ### 场景介绍 有些应用在运行过程中会不断产生文件,比如下载的文件、备份文件、日志文件,我们需要在磁盘使用率过高后删除不再使用的或者过期的文件。这里我们以清理/tmp下的临时文件为例,说明如何通过运维编排(OOS)提供的公共模板来实现此类运维操作。 ### 解决方案 我们准备一台ECS实例,登陆进系统后,查看它的磁盘占用率: ![磁盘占用2.png](https:

场景介绍

有些应用在运行过程中会不断产生文件,比如下载的文件、备份文件、日志文件,我们需要在磁盘使用率过高后删除不再使用的或者过期的文件。这里我们以清理/tmp下的临时文件为例,说明如何通过运维编排(OOS)提供的公共模板来实现此类运维操作。

解决方案

我们准备一台ECS实例,登陆进系统后,查看它的磁盘占用率:

磁盘占用2.png

可以看到根目录所在的磁盘占用率达到了72%。查看临时文件目录,可以看到临时文件download.tmp占用了超过12G,需要清理。我们来看如何将这种常规运维任务自动化。

登录OOS控制台。如果您之前从未开通过OOS服务,请点击“立即开通”按钮,即可一键开通。OOS运维编排是安全免费的服务,请放心开通。

image.png

开通后在公共模板中搜索ACS-ECS-RunCommandWhenDiskUsageLimitExceeded,找到<当某磁盘使用率超过阈值时执行命令。>这个公共模板。
公共模板.png

点击“创建执行”的按钮,输入“执行描述”后,点击"下一步:设置参数"。

创建执行1.png

设置清理任务的参数:
创建执行2.png

这里的参数分两类,前三个参数定义了在什么情况下触发执行(实例i-bp...的/dev/vda1分区上的空间使用率超过70%),一类定义了执行的内容(执行一个Shell脚本,其内容为rm -r /tmp/*,注意在生产环境使用rm命令前要先做测试)。silenceTime为3600秒代表在磁盘使用利率持续超限的情况下一小时内只会执行一次,这个参数是在无法解除报警的场景下防止频繁触发运维操作。

确认执行:
创建执行3.png

执行创建后,创建一个磁盘使用率告警规则,当前在等待报警:
无触发.png

稍等1-2分钟后(告警规则的加载以及监控发现的延迟),由于该磁盘的使用率已经超过70%的阈值,触发了一次磁盘清理操作:
触发.png
点击列表上这个子执行查看详情,可以看到这个清理操作执行成功了:
05ffcd4bc5ab224b3b261cc0fdf5d.png

我们登陆系统确认:
b3557bdbdeeda64137e536d8925fec.png
可以看到/tmp下的临时文件已经被清除。

这时候执行的状态又变回等待中。这个执行会7x24小时一直执行,直到用户主动取消。只要出现磁盘超限的情况,临时文件就会被自动清理。

总结

以上以一个常见的磁盘清理任务为例,介绍了运维编排的告警运维功能。通过告警运维任务,我们将监控告警能力和运维能力结合在一起,实现自动化的处理告警,将运维同学从不期而至的短信和日常繁琐枯燥的运维操作里解放。

上面使用了一个为场景定制的公共模板,如果我们想处理磁盘占用率之外的告警呢?运维编排提供创建通用告警运维的功能,可以支持全部的云监控监控项的告警,按页面引导即可配置在指定告警发生时执行指定的模板。

下面给出了实现上述公共模板同样功能的任务配置:
设置告警规则
Jietu20200319-152253.png

设置要触发的模板:
Jietu20200319-152321.png

设置触发模板使用的参数:
Jietu20200319-152512.png
参数中的$instanceId引用了告警消息中的实例ID信息。此任务可以监控和清理任意实例。

了解更多请参考创建告警任务文档。如有疑问可以加入运维编排客户支持钉钉群咨询。

欢迎使用OOS

OOS客户支持钉钉群:23330931

OOS管理控制台的链接

OOS帮助文档的链接

目录
打赏
0
0
0
0
35
分享
相关文章
Zabbix告警分析新革命:DeepSeek四大创新场景助力智能运维
面对日益复杂的IT环境,高效分析监控数据并快速响应成为运维的关键挑战。本文深入探讨了DeepSeek与Zabbix结合的创新应用,包括一键式智能告警分析、Zabbix文档知识库助手及钉钉告警增强功能。通过部署指南和实用脚本,展示了如何提升故障排查效率,为运维工程师提供高效解决方案。
59 5
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
147 28
|
5月前
|
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
348 56
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
151 3
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
60 1
5个常见运维场景,用这几个Python脚本就够了!
5个常见运维场景,用这几个Python脚本就够了!
133 0
|
9月前
|
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
91 2
|
9月前
|
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
84 1
智能化运维场景分析
【7月更文挑战第12天】智能运维目标是解放运维人员,提高效率,确保业务连续性和优化资源利用。