自动化运维运行结果如何更准确灵活地监控和判断?

运维脚本或程序是不可能完全准确地反馈的,那么自动化运维运行结果如何更准确灵活地监控和判断?

参与15

3同行回答

galaxy1975galaxy1975  系统架构师 , 自动化运维专家
先说一个动作的验证,例如通过ansible启动一个系统服务,如果系统服务脚本写的比较垃圾,就算是启动失败了,脚本也返回成功,那么ansible就会返回成功。这就叫做脚本的误判。 在自动化运维的实现中,需要尽可能多的验证、修改这样的缺陷脚本,确保动作的返回值是准确的。 如果希望更加...显示全部
  1. 先说一个动作的验证,例如通过ansible启动一个系统服务,如果系统服务脚本写的比较垃圾,就算是启动失败了,脚本也返回成功,那么ansible就会返回成功。这就叫做脚本的误判。 在自动化运维的实现中,需要尽可能多的验证、修改这样的缺陷脚本,确保动作的返回值是准确的。
    如果希望更加准确的去验证,那就验证动作的结果,例如,如果是创建一个文件,那就去检查一下这个文件是否存在了,如果是启动web服务,那就检查80端口是否监听了。
  2. 在说整个自动化运维动作的大闭环,在运维过程中,通常会提到“开门巡检、变更巡检、上线巡检”这样的话术,当然,有些地方可能叫另一个名次,这个实际上就是通过业务预埋的检查点,测试程序来访问某个特定的URL(或其他手段),来验证业务是否正常,例如通过url访问web服务器,到数据库中取出一个测试数据,这样一个验证过程就验证了web、业务基本逻辑、数据库这几个组件都是OK的。 那么,在相对较大的自动化运维动作执行之后,可以执行这样的“巡检”。
收起
IT咨询服务 · 2018-09-27
浏览2182
mornskymornsky  研发工程师 , 某银行
我们一般对运行结果是基于返回码或者回显信息,对于经过充分验证考虑充分的程序,运行结果是可以准确反馈运行结果的。然而实际工作中,很可以存在未考虑周到的情况或者返回错误码不是致命错误,应当作为成功情况或者本来应该是错误结果,但是因为未返回错误码或者未考虑到的错误信...显示全部

我们一般对运行结果是基于返回码或者回显信息,对于经过充分验证考虑充分的程序,运行结果是可以准确反馈运行结果的。然而实际工作中,很可以存在未考虑周到的情况或者返回错误码不是致命错误,应当作为成功情况或者本来应该是错误结果,但是因为未返回错误码或者未考虑到的错误信息当作了成功结果。因此对于一般性的巡检等自动化脚本,我们可以按常规保存结果,但是同时应当保存运行日志,以便事后检查。对于日常维护等一次性的业务人工交互式运维,我们的做法是将运行信息显示,人工判断正确否。譬如:创建一个目录,完备的做法是判断该目录存在否,不存在则创建,如果脚本是直接创建,则在已存在时,是会返回错误的值,实际我们应当作为成功情况。

收起
银行 · 2018-09-25
浏览2076
michael1983michael1983  技术总监 , 某证券
能否举个例子?为何运维脚本或程序是不可能完全准确地反馈?如果涉及到业务验证结果的话,涉及到确实会比较复杂。显示全部

能否举个例子?为何运维脚本或程序是不可能完全准确地反馈?
如果涉及到业务验证结果的话,涉及到确实会比较复杂。

收起
证券 · 2018-09-24
浏览2020

提问者

zhuhaiqiang
项目经理银行
擅长领域: 服务器云计算系统运维

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-09-19
  • 关注会员:5 人
  • 问题浏览:3690
  • 最近回答:2018-09-27
  • X社区推广