众所周知:在运维工作中,脚本发挥着不可替代的作用!
几乎没有任何一种复杂的操作系统,能够在不需要用户介入的情况下仍然正常稳定运行。作为系统管理员,运维人员经常需要定期执行特定的任务,以保障系统稳定运行。例如,分析磁盘用量并清理旧文件。将这些繁杂而重复的工作编写为脚本,通过定时任务实现调动执行,减少运维工作量,提升运维效率。
![57386f9c4cac956fa8ec4ef55ba6f852.png](https://i-blog.csdnimg.cn/blog_migrate/a6bbf77a3ce8154b0452016f2c716046.jpeg)
运维工作中,常见跑批任务应用举例:
系统巡检:检查业务程序的任务执行情况,各系统资源使用情况;
版本发布:新版本程序的上传、替换、配置修改、程序重新启动;
备份管理:定期对指定目录下所有文件进行备份;
文件传输:扫描特定目录下的文件,并通过ftp/sftp进行上传、下载;
日志分析:分析web站点日志,分析用户通过何处方式跳转到本站点等业务指标。
但是,由于系统的复杂性,有很多因素可能导致脚本执行失败。如果没有及时发现,可能会造成更大的影响。如:
01
脚本执行失败,影响业务运行
备份脚本失败:尽管备份脚本的备份策略已经留有一定的安全冗余,但由于脚本连续多次失败未及时发现,在数据丢失时依然存在不能成功找回的情况,造成数据资产损失;
文件传输失败:因为磁盘写满、网络故障等原因,文件传输失败,造成文件积压,影响后续业务的正常进行;
日志分析:数据库管理员更新的存储程序存在bug,导致数据库IO延时高,用户访问响应变慢。但由于日志分析脚本运行失败,未能及时发现此问题,站点长时间处于无法正常访问状态,导致客户大量投诉。
02
脚本长时间未产生日志,无法保证任务是否正常运行
脚本没有产生日志的原因可能有很多。如,由于脚本修改过程的失误出现语法错误,没有生成失败日志。因此,通过简单的grep命令无法发现这种异常情况。类似情况下,系统管理员常常无法判别跑批任务执行状态。
03
现有跑批任务日志查看方式繁琐且效率低
由于脚本执行日志分散在系统各处且数量众多,当发现脚本执行失败时,只能登录脚本执行的主机,通过tail、grep等命令查看事件发生时的日志,这种方式繁琐且效率低下。
AnyRobot 实时分析跑批任务执行状态
AnyRobot 实时分析跑批任务的日志数据,对异常任务执行状态进行监控告警、统计分析所有脚本任务执行情况、定时生成监控运维报表发与运维人员,提升运维人员工作效率,降低任务执行时的安全风险。
实时告警,及时发现异常
根据脚本日志的字段格式,创建相应的解析规则,对于接收到的每一条日志记录,AnyRobot根据对应的解析规则进行实时解析,并设定相应的告警条件。当脚本执行失败,错误日志进入系统中,AnyRobot实时产生告警记录,立即发送邮件提醒运维人员;脚本长时间没有产生日志记录,达到告警条件设定的时长,如12小时,触发源端日志未采集告警,发送邮件提醒,帮助运维人员及时处理异常状况。
故障分析,快速定位错误日志根源
日志搜索,支持全文关键词、字段值检索、逻辑运算符、SPL命令等方式精准查询日志记录。
![d2dfdaa29f73edd8237324b1fced7fba.png](https://i-blog.csdnimg.cn/blog_migrate/0e6c2bb09abca30329f6e69be964ea19.png)
日志搜索
运维人员收到告警提醒,登录AnyRobot平台后,可以通过告警记录的链接直接查看定位告警日志,并通过告警上下文功能,快速到事件发生时的详情记录。
![a0e1d6967e48a75437dce607bc1f5ed8.png](https://i-blog.csdnimg.cn/blog_migrate/869d3f801aefd2f2a37be971ec09c0a9.png)
告警事件日志记录
监控报表分析,直观呈现跑批任务执行情况
运维管理人员可列出跑批任务执行情况的关键指标,在AnyRobot仪表盘中进行统计分析,并可根据时间筛选,直接查看某一时间段内跑批任务执行情况。
![23b5f22b9d3a99413b36ae9f6e8d53b4.png](https://i-blog.csdnimg.cn/blog_migrate/7202af9ae95219a3fd2e1b4de5cfbe7d.png)
批处理脚本执行情况报表
整个业务系统脚本的总体情况:脚本总数、执行次数、失败次数、执行结果分布;
失败时间分布,某一时间段内脚本执行的成功与失败数;
执行失败主机分布,某一时间段内执行失败脚本的主机分布;
最近启动时间,按启动时间顺序判定脚本是否按时正常运行;
执行失败记录,快速查看执行失败的报错记录,便于定位原始日志;
……
上述跑批任务执行情况分析,可通过AnyRobot设置订阅报表,每天定时发送至运维管理人员,以便运维人员第一时间去了解过去某一时间段的系统情况。
AnyRobot日志实时分析助力高效运维
部署灵活,运行稳定的Agent
AnyRobot Agent代理采集支持批量安装、升级、卸载,可以通过Web界面统一管理,方便快捷;支持非root权限安装,适用于权限管理严格的业务系统;可在任务执行时限制Agent的资源使用量,实现对业务系统运行影响最小化。
降低跑批任务运行故障发现时间
AnyRobot日志云基于流处理引擎,实现故障告警秒级响应;支持邮件、微信、HTTP转发、syslog转发等方式,第一时间通知运维人员,有效减少故障发现时间。
便捷高效的日志查看方式
在AnyRobot通过告警详情的链接,跳转到执行失败时的日志原文页面,并定位到脚本失败处;通过日志上下文功能,查看执行失败前后的日志。
内置可视化图表
AnyRobot平台内置可视化图表,统计分析脚本执行整体情况。
![eeda8682899c2d1ffb9ed6646a6cafe1.png](https://i-blog.csdnimg.cn/blog_migrate/1f98f550e7b7434fed5bf758d18fa606.png)
点击 阅读原文,了解AnyRobot更多信息