一. 整体收益
实现自动化清理应用日志,减少运维人工清理操作,在一定程度上提高了系统可用性和稳定性,同时提高运维效率和节约了运维成本。
二. 之前的故障处理模式
我们的应用服务器每天都产生很多日志,凌晨定时清理半年以前的日志,zabbix设置报警阈值20%和10%,低于阈值就需要登陆服务器,进入指定日志目录,查找最早的文件,再进行人工清理日志,花费时间至少要15分钟。
ll -ht #查找最早文件
rm -fr filename #删除指定文件
三. 使用故障自愈后的处理模式
自从使用蓝鲸故障自愈,增加zabbix告警源,收到空间不足报警,通过蓝鲸自愈就可以自动清理最后一天的日志,一会就自动清理日志,不需要手工登陆到服务器后台执行删除命令,避免了经常登陆执行删除命令误操作,很大程度上提高了运维效率,以及系统稳定性。
接下来,分享一下日志自愈的流程:
告警源启用zabbix,按照接入流程执行
新建常用作业,编写删除最早一天日志脚本,用的方法可能比较土,大家有简便的方法记得告诉我哦
#!/bin/bash
if [ “ls -A /home/logs/” != “” ];then
cd /home/logs;
oldest_date=$(stat $(ls -ltr /home/logs/ | awk ‘/^-/{print $9}’ | head -1) | grep ‘+0800’ |sed -n ‘2p’ | awk -F’[:: ]+’ '{print 2}') file_date=(date -d "$oldest_date 1 days " “+%Y%m%d”)
find /home/logs/ ! -newermt $file_date -exec rm -fr {} ;
else
echo “文件夹为空或不存在”
fi
创建自愈套餐,选择套餐类型为作业平台
接入自愈,因为采用zabbix告警源,告警类型选择zabbix监控下的磁盘容量(vfs.fs.*)
测试,zabbix触发告警,成功删除最后一天日志,微信接收到自愈通知
2018.12.28的日志已自动删除!自愈成功~
网友评论