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

本文涉及的产品
系统运维管理,不限时长
简介: ### 场景介绍 有些应用在运行过程中会不断产生文件,比如下载的文件、备份文件、日志文件,我们需要在磁盘使用率过高后删除不再使用的或者过期的文件。这里我们以清理/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帮助文档的链接

相关文章
|
1月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
134 56
|
30天前
|
运维 自然语言处理 开发者
作为一名运维人员,使用通义灵码个人版处理日常工作中的代码相关任务,极大地提升了我的工作效率。以下是我使用通义灵码的具体实践场景、效果和心得,以及相应的截图。
作为一名运维人员,我使用通义灵码处理日常工作中的代码任务,效率提升了30%。通义灵码帮助我快速理解复杂代码、生成准确的代码注释,并能从自然语言生成代码示例,大幅减少了代码编写和理解的时间。
57 3
|
2月前
|
机器学习/深度学习 人工智能 运维
|
3月前
|
存储 边缘计算 运维
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
边缘计算问题之OpenYurt 对边缘计算场景中的运维难题如何解决
38 1
|
3月前
|
运维 监控 测试技术
5个常见运维场景,用这几个Python脚本就够了!
5个常见运维场景,用这几个Python脚本就够了!
|
5月前
|
存储 运维 Java
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
Spring运维之boot项目开发关键之日志操作以及用文件记录日志
63 2
|
5月前
|
XML 运维 Java
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
Spring运维之boot项目打包jar和插件运行并且设置启动时临时属性和自定义配置文件
55 1
|
4月前
|
运维 监控 容灾
智能化运维场景分析
【7月更文挑战第12天】智能运维目标是解放运维人员,提高效率,确保业务连续性和优化资源利用。
|
4月前
|
运维 前端开发 数据库
快,文本,需求,痛点,添加快捷链接,必不可少--------运维之提升运维速度的方法,一个简单的快捷链接添加页面添加写法+视频播放速度一定要能够设置5px 15px的样式,.exe文件可以提升快捷
快,文本,需求,痛点,添加快捷链接,必不可少--------运维之提升运维速度的方法,一个简单的快捷链接添加页面添加写法+视频播放速度一定要能够设置5px 15px的样式,.exe文件可以提升快捷
|
5月前
|
存储 运维 Serverless
Serverless 使用OOS将http文件转存到对象存储
阿里云OOS提供了一种高效、灵活的解决方案,用于自动化HTTP文件到对象存储的转存。通过OOS,用户可以使用函数计算FC执行Python脚本,直接将文件从HTTP源转移到OSS,无需本地存储或额外ECS实例,降低了成本,提高了效率,并减少了错误。实践步骤包括创建OOS模板并在FC上运行。使用此功能需开通FC服务,创建RAM角色并授权访问OSS。附录中提供了示例模板和Python脚本说明。