运维监控能够实现自动化吗?

用户3767468966919


你好,很高兴回答你这个问题。作为运维工程师,非常理解你的这个问题,我们也希望通过监控的自动化来提高运维的效率,把更多的精力放到业务上;但是这需要各子系统及流程的配合,才能达到更好的效果。换句话说就是

运维自动化不是孤立的,必须依赖上下游系统,基于规范和流程才能完成


下面咱们来举个简单场景来分析下吧。

需求:产品部门需要上线一个业务子系统。

运维需要的工作主要为以下三步:

1.上架新的服务器或虚拟机;

2.业务子系统部署上线;

3.上线完成后添加监控;


以上三步中涉及到监控系统的有:

1.上架的新机器的自动录入到监控系统,进行统一纳管;

2.对录入机器及业务系统需要从几个维度的监控:硬件监控、基础状态监控、应用监控、业务日志监控、流量监控;

3.与监控平台联动的平台也要及时进行数据更新;


对于运维监控自动化来说,我们需要从以上几个维度出发去考虑如何实现自动化。无论是从哪个维度出发,必须都要有一套自动化脚本或模板去统一实现,因此我们需要制定规范去配合脚本或模板的自动化执行,才能顺利完成。如果监控系统依赖其他上下游平台,在自动化过程中还要联动其他平台。


总结

通过以上的描述,如果我们在各个监控维度,有统一的规范、统一的模板、完善的流程以及各个平台的API(或统一的ESb),那么我们肯定是能够实现自动化的。当然监控系统的自动化远不止于此,例如故障自愈、智能监控等,现在很多大厂也都已经实现。但我觉得无论多么高大上,都需要打好基础。


好了,我的回答就到这吧,希望对你有帮助。


木讷大叔爱运维


一个非常好的问题。运维监控能够实现自动化,而且建议实现自动化。


云服务已经成为IT技术的核心基础设施,充分利用云服务带来的弹性和分布式优势,赋能自动化运维。

一,自动化部署

CI/CD持续化集成和自动化部署,比如常用的Jenkins,配置Git代码提交时触发构建,然后自动部署。

二,Docker容器技术

Docker将应用以及依赖打包到一个可移植的镜像中,可以实现虚拟化,有助于快捷高效的交付应用。


搭建阿里云容器镜像服务+Git+Docker自动构建系统,结合资源编排服务,实现自动部署更新,不再需要常用的Jenkins构建服务器。

三,AutoScaling自动伸缩

配置一定的触发条件,满足时自动增加或者释放服务器资源。比如当CPU使用率达到80%或者内存占用率达到80%时,根据配置好的服务器和数量,自动触发。

四,系统日志收集处理系统

1,ELK是常见的日志收集管理系统,包括ElasticSearch, LogStash, Kibana三个服务,架构示意图如下:

2,在ELK系统中,Kibana是一个图形化展示工具,配置查询条件,运维人员随时可以搜索指定日志信息,分析处理故障。

五,服务监控

1,云监控CloudMonitor

主流云服务商都将监控功能集成到了基础架构中,以阿里云为例,云监控提供了多种配置,多维度全方位监控。


比如配置CPU使用率到达80%时,自动触发动作,增加服务器实例,同时邮件通知运维人员。

2,应用监控

以监控宝为例,配置服务地址,选择分布在不同地区和运营商的监测点。当监测点不能正常调用配置的服务地址时,将收到警告信息,可以选择邮件、短信、电话等通知方式。

六,云原生

云原生是指从开始设计应用时,就充分考虑并且利用云服务的特点,比如弹性和分布式,可以简单的理解为:云原生 = 微服务 + DevOps + 持续交付 + 容器化。

在云原生应用系统里,运营、维护和监控,完全是自动化的。


我是工作多年的Web应用架构师,陆续发布关于软件开发方面的文章,欢迎关注我,了解更多IT专业知识。


急速马力快de源码控


运维监控大致可以分为以下几个大类:

1、服务器资源监控(CPU,内存,磁盘)

2、网络质量监控(延时,丢包,流量)

3、业务监控(端口,进程,api接口)

4、内容监控(某个页面响应时间, 某个页面的关键字等)

5、数据库监控(数据库相关的性能参数监控)

6、自定义监控(比如日志监控等)


如果是把 现有的一些监控项做自动化,那是可以的。

我以 zabbix 为例子,把固定的一些监控项做成模板,新服务器可以实现自动注册,自动添加监控项。

但是如果要完全自动化,那比较困难,因为在实际工作中经常会有一些新需求,这些都是需要先手工进行配置的。



分享到:


相關文章: