这写问题问得特别适合这个主题。因为恰恰正是这些需求,智能运维才显得尤其重要。
首先什么是常用指标,我们学会这些常用指标就可以了吗?依据经验,这些常用指标需要设定社么阈值来监控?运维过程中依据经验所标注的重点指标是不是就够了呢?会不会有更重要的指标被忽视?其实所有的指标说明都可以在官方网站查到它的定义。智能运维要做的不是指管理常用指标而是所有指标,要发现的不是经验积累的重点关注指标而是发现指标更深层次的关系,让算法和数据去找到源头指标。所以我没有去正面回答这个问题,留到以后我用智能运维把发现的指标场景总结总结做一些小分享吧。
如果发生意外需要怎么处理。其实意外分很多种,几乎罗列不尽,不可避免会需要人工处理,有些也可以自动处理。那么智能运维就是要将更多的人工处理场景转成自动处理,也称作故障自愈。故障自愈当前最简单的做法就是在常规监控的基础上做自动处理。例如监控到当前活动会话数超限,那么自动杀掉一些应用。这种是基于规则的,这个规则是我们多次遇到同样的问题都是采用同样的方式去处理。这种确定的规则就可以做自愈。那么智能运维是在这个基础上提升,发现更多的规则和更精确的处理方式。举个简单的例子,如果缓冲池命中率低,扩容缓冲池是可以提高效率的,但是能提高多少呢,多占的内存也会挤占数据库内存,其他就不够了。还有不同的时间不同的负载需要的缓冲池也不一样。智能运维能够做到评估在不同的需求下应该调整的缓冲池大小。我没有做这件事情,只是有这样的一个想法。例如从缓冲池的当前使用状态例如数据、索引、临时表的逻辑读物理读次数和时间等等监控元素,评估需要的缓冲池大小,调大调小作为 action ,命中率或者响应时间还有内存大小作为奖励和惩罚也就是 reward ,构建一个 GAN 网络模型,最终得到一个缓冲池的适合大小。
但是考虑到模型复杂性还有数据问题,还有实现之后的收益也不一定高,所以很多场景没有办法去尝试,确实很可惜。
收起