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

本文涉及的产品
系统运维管理,不限时长
简介:

场景介绍

有些应用在运行过程中会不断产生文件,比如下载的文件、备份文件、日志文件,我们需要在磁盘使用率过高后删除不再使用的或者过期的文件。这里我们以清理/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秒代表在磁盘使用利率持续超限的情况下一小时内只会执行一次,这个参数是在无法解除报警的场景下防止频繁触发运维操作。

最后一个参数是指定执行使用RAM角色。该角色必须有足够的权限才能保证执行成功。同时,按最小权限原则来配置这个角色能够保护您的IT资产安全。

请参照为OOS服务设置RAM权限账户访问控制来配置角色。

确认执行:
创建执行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帮助文档的链接

相关文章
|
弹性计算 运维 监控
运维编排系列场景-----在磁盘使用率超限时自动清理临时文件
### 场景介绍 有些应用在运行过程中会不断产生文件,比如下载的文件、备份文件、日志文件,我们需要在磁盘使用率过高后删除不再使用的或者过期的文件。这里我们以清理/tmp下的临时文件为例,说明如何通过运维编排(OOS)提供的公共模板来实现此类运维操作。 ### 解决方案 我们准备一台ECS实例,登陆进系统后,查看它的磁盘占用率: ![磁盘占用2.png](https:
11.2 磁盘配额启动前的准备工作
前面我们已经谈到,使用磁盘配额的前提,是必须要内核以及文件系统支持才行,这里假设大家使用的就是支持磁盘配额的内核,那么接下来就是要配置文件系统,使其支持配额限制。
144 0
11.2 磁盘配额启动前的准备工作
|
10月前
|
存储 JSON 运维
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
【运维】Powershell 服务器系统管理信息总结(进程、线程、磁盘、内存、网络、CPU、持续运行时间、系统账户、日志事件)
269 0
|
Kubernetes 容器
DataStreams+logstash+ILM进行日志定时删除,节省硬盘资源
目前所有的K8S上的容器日志都被收集到了我们的ELK上,随着时间的推移,ELK上的日志所占的存储空间越来越多,我们需要一个定时清理的策略,以节约硬盘资源。 我们主要配置以下ELK里的这几个地方 1.通过kibana新增一个lifecycle policies 2.通过kibana新增一个index template,注意配置DataStreams 3.logstash 的logstashPipeline 4.filebeat的filebeat.yml文件
1010 0
DataStreams+logstash+ILM进行日志定时删除,节省硬盘资源
|
10月前
|
运维 Kubernetes Docker
k8s运维—系统磁盘资源占用率过高
k8s运维—系统磁盘资源占用率过高
184 0
|
弹性计算 运维
运维编排场景系列----自动定时升级临时带宽
在某些需求场景下,ECS实例现有网络规格不满足要求,我们可以通过修改实例的带宽配置提高网络性能。OOS运维编排可以一键定时升级临时带宽。
2610 0
|
6月前
|
存储 缓存 监控
物理机磁盘水位清理
物理机磁盘水位清理
66 1
|
存储 弹性计算 Kubernetes
闲置资源优化,轻松检查集群中的空闲成本
闲置资源优化,轻松检查集群中的空闲成本
|
10月前
|
弹性计算 运维 Shell
检查磁盘利用率
【4月更文挑战第30天】
71 3