取消
显示结果 
搜索替代 
您的意思是: 
cancel
公告

December 2020

December 2020

【原创】硬核:DevOps兵器库(1)

527
查看次数
0
有帮助
0
评论
引言:本文向您介绍各种常用的DevOps工具。它们可以被用于监控DevOps生态系统,并帮助开发和运营团队实现有效地协同工作。

DevOps一直是近年来大热话题之一。不过,许多组织时常会困惑于DevOps自动化给整个基础架构所带来的复杂性。并且,它们经常不知道该选择使用哪些DevOps工具。
在业界,有一些可用于监控的集成式DevOps工具集。它们不但可以提高系统的可视性和整体性能,而且能够在保障组织生产力的基础上,建立和谐的跨职能部门协作关系。在DevOps理念中,正确的工具集不仅仅是其中所包含的工具本身,还是用于开发与定义产品、服务、及场景的文化、规则与实践。
在本文中,我们将为您开启一个“兵器库”,并向您介绍各种常用的DevOps工具。它们可以被用于监控DevOps生态系统,并帮助开发和运营团队实现有效地协同工作。
DevOps监控工具
通过良好的监控平台,您可以监控到目标基础架构、以及应用程序的性能。无论是在本地、还是在云端、甚至是在容器化的环境里,只要您能够正确地使用监控工具,就能够全面了解并掌握每一个Kubernetes、物联网设备、乃至各种裸机系统的实时状态。
DevOps的好处:
有效的监控工具可以提高系统的整体性能和生产率,进而有助于减少(甚至消除)服务中断的时间。您可以事先充分地计划好各种升级、以及新的项目,从而更好地分配现有的时间与资源。您可以在迭代的过程中,以及缺陷产品对用户产生影响之前,就及时地检测出各种潜在的问题、并寻求解决方案。
工具:
Sensuhttps://docs.sensu.io/sensu-go/latest/ - 一款灵活、且支持可扩展的遥测(telemetry)方案,和服务健康性检查工具。它可以被用于监控服务器、容器、服务、应用程序、功能、以及连接设备等方面。
Prometheushttps://prometheus.io/docs/introduction/overview/ - 它带有内置的数据库,能够依靠pull方法来收集各类信息。
Nagioshttps://www.nagios.org/about/overview/ - 虽然是一款传统的监控工具,但是它在运营与监控方面提供了各种新的实践方式。
资源链接:
Nagios服务检索(https://blog.sensu.io/the-story-of-nagios-plugin-support-in-sensu),如何在Sensu中实现重用
Prometheus在监测Kubernetes方面的利与弊(https://blog.sensu.io/monitoring-kubernetes-docker-part-2-prometheus
如何自动化您的监控工作流(https://blog.sensu.io/workflow-automation-for-monitoring
DevOps配置管理工具
用户能够通过配置管理工具,来实现目标系统配置和部署的自动化;通过实施所需的配置,来修复各种实际环境中的配置偏差。通过将基础架构建模成为各种代码,用户可以将软件交付的各项实践(如版本控制、自动化测试、以及持续交付),应用到基础架构和应用程序之中。
DevOps的好处:
众所周知,传统的手动执行方式,给运维人员带来了重复且易错的工作负担。DevOps自动化则提高了整体的部署效率。通过可预测和可扩展的实现方式,开发与生产环境能够得到标准化的配置、软件产品才能够确保得到交叉性的测试。通过削减snowflake算法服务器的运行时间,您将能够更快速、更可靠地部署各种软件。
工具:
Ansiblehttps://docs.ansible.com/ - 该工具由Python所编写,无需代理,用户可采用命令式(而非声明式)的方法。
Chefhttps://docs.chef.io/ - 该工具由Ruby所编写,同样依赖于命令式的配置管理方法。
Puppethttps://puppet.com/docs - 该工具用到了特定域的语言、以及代理/主机的架构。不过它依赖的是声明性的配置管理方法。
资源链接:
简述如何使用Chef来管理自动化基础架构(https://blog.sensu.io/chef-automation-for-infrastructure-management
将基础设施即代码应用到测试和监控中(https://blog.sensu.io/infrastructure-as-code-testing-and-monitoring
DevOps报警工具
对于软件系统而言,我们时常希望报警工具不但能够提供可操作的报警信息,并且需要能够通过定制来适应系统的复杂性。通过定制,报警系统既要保持足够的敏感性,以全面捕获系统中的各种中断事件,又不可过于敏感,推送海量的报警信息给运维人员,以至于他们熟视无睹、或漏掉关键的事故。