一个非常好的问题。运维监控能够实现自动化,而且建议实现自动化。
云服务已经成为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专业知识。
搜浪信息科技发展(上海)有限公司 备案号:沪ICP备17005676号