当前位置: 首页 > 科技观察

硬核:值得一试的DevOps兵器_0

时间:2023-03-22 15:26:23 科技观察

【.com快译】DevOps一直是近年来的热门话题之一。然而,许多组织常常对DevOps自动化给整个基础设施带来的复杂性感到困惑。而且,他们通常不知道要使用哪些DevOps工具。在行业中,有集成的DevOps工具集可用于监控。它们不仅可以提高系统的可见性和整体性能,而且可以在保证组织生产力的基础上建立和谐的跨职能协作关系。在DevOps概念中,正确的工具集不仅是工具本身,还包括用于开发和定义产品、服务和场景的文化、规则和实践。在本文中,我们将为你开辟一支“军队”,为你介绍各种常用的DevOps工具。它们可用于监控DevOps生态系统并帮助开发和运营团队有效地协同工作。1.DevOps监控工具通过一个好的监控平台,可以监控目标基础设施和应用的性能。无论是在本地,在云端,甚至在容器化环境中,只要正确使用监控工具,就可以全面了解和掌握每一个Kubernetes、IoT设备,甚至各种裸机系统的实时状态.DevOps的好处:有效的监控工具可以提高系统的整体性能和生产力,进而有助于减少(甚至消除)服务中断时间。您可以提前计划升级和新项目,以更好地分配现有时间和资源。可以在迭代过程中,在缺陷产品影响用户之前及时发现各种潜在问题并寻求解决方案。工具:Sensu(https://docs.sensu.io/sensu-go/latest/)-一种灵活且可扩展的遥测解决方案和服务健康检查工具。它可用于监控服务器、容器、服务、应用程序、功能和连接的设备。Prometheus(https://prometheus.io/docs/introduction/overview/)-它有一个内置的数据库,可以依靠pull的方式收集各种信息。Nagios(https://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)II.DevOps配置管理工具用户可以使用配置管理工具实现目标系统配置和部署的自动化;通过实现所需的配置,他们可以修复各种实际环境中的配置偏差。通过将基础架构建模为代码,用户可以应用软件交付实践,例如版本控制、自动化测试以及对基础架构和应用程序的持续交付。对DevOps的好处:众所周知,传统的手动执行方式给运维人员带来了重复、易错的工作量。DevOps自动化提高了整体部署效率。通过可预测和可扩展的实施,可以标准化开发和生产环境,软件产品可以保证交叉测试。通过减少Snowflake算法服务器的运行时间,您将能够更快速、更可靠地部署各种软件。工具:Ansible(https://docs.ansible.com/)-用Python编写,此工具不需要代理,允许用户采用命令式(而非声明式)方法。Chef(https://docs.chef.io/)-这个工具是用Ruby编写的,也依赖于命令式的配置管理方法。Puppet(https://puppet.com/docs)-此工具使用特定领域的语言和代理/主机架构。但是,它依赖于一种声明式的配置管理方法。资源链接:简述如何使用Chef管理自动化基础设施(https://blog.sensu.io/chef-automation-for-infrastructure-management)Applyinfrastructureascodetotestingandmonitoring(https://blog.sensu.io/infrastructure-as-code-testing-and-monitoring)3.DevOps告警工具对于软件系统,我们往往希望告警工具不仅能够提供可操作的告警信息,还需要能够通过定制来适应系统复杂度.通过定制,告警系统既要足够灵敏,全面捕捉系统中的各种中断事件,又不能过于灵敏,将海量告警信息推送给运维人员,以免他们视而不见或漏掉关键意外。对DevOps的好处:通过告警工具,开发人员和运维人员可以协商各种需要告警的策略,包括:如何确定需要通知的对象,如何跟踪问题和处置结果,如何确定修复的优先级。工具:PagerDuty(https://www.pagerduty.com/)-这是一个随叫随到的管理平台,提供事件情况、故障分析和自动响应等附加组件。ServiceNow(https://www.servicenow.com/)-该工具能够利用ITSM的自动化工作流程来提供客户服务和业务流程。Slack(https://dzone.com/articles/7-essential-slack-integrations-developers-should-k)-该平台允许用户将警报集成到同一平台以进行群聊和协作。资源链接:HowtouseSensutohandlealertsbyapplicationssenttoSlack(https://docs.sensu.io/sensu-go/latest/guides/send-slack-alerts/)如何使用Sensu过滤器减少数量警报(https://docs.sensu.io/sensu-go/latest/guides/reduce-alert-fatigue/)Sensu社区维护者编写的减轻过多警报的指南(https://sensu.io/resources/whitepaper/alert-fatigue-guide/)4.指标存储一旦实现自动化配置管理、监控和报警,将持续获取大量的数据信息。那么如何安全地存储它们以供以后分析呢?显然,您需要一个能够聚合系统性能、学习用户行为、提高服务水平和控制安全风险的存储系统。对DevOps的好处:在DevOps中,数据驱动的决策可以促进团队的持续学习和服务的持续改进。因此,借助从指标中获得的洞察力,您可以为业务的各个层面的决策提供信息,改进现有SLA功能,满足客户期望,并证明新战略投资的合理性。工具:InfluxDB(https://docs.influxdata.com/influxdb/v1.7/)——这是一个适合长期数据存储的时序数据库。Splunk(https://docs.splunk.com/Documentation)-通过使用带有搜索引擎的数据库模型来存储和查询数据。AWS(https://docs.aws.amazon.com/index.html?nc2=h_ql_doc)-可以支持广泛的存储用途,包括:关系数据库、非关系数据库、用于分析的数据仓库、时间序列数据库,和一个用于存储交易等的子账户数据库。资源链接:HowtocreateSensu'sInfluxDBpipeline(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#install-sensu-influxdb-handler)CheckoutputmetricswithInfluxDBandGrafana(https://blog.sensu.io/check-output-metric-extraction-with-influxdb-grafana)5.DevOps可视化工具可视化工具可谓是上述DevOps工具链在监控中的合适选择字段:你可以组合所有你的所有数据被组合、排序、可视化,并最终显示在自定义仪表盘上。DevOps的好处:通过提供上下文和相关解释,可视化工具允许用户跟踪随时间变化和改进,并为管理层提供实时视图以协助战略指导和决策制定。它的自定义选项允许团队成员轻松设计和共享他们自己的当前仪表板。工具:Grafana(https://grafana.com/docs/)-该工具可用于各种不同的数据存储,包括Graphite、InfluxDB和Elasticsearch。资源链接:AusecasecombiningSensu,InfluxDBandGrafana(https://blog.sensu.io/how-to-measure-every-api-call-in-your-go-app)HowtouseGrafanatovisualizeitemsMetrics(https://docs.sensu.io/sensu-go/latest/getting-started/prometheus-metrics/#visualize-metrics-with-grafana)后续:评估你的DevOps工具DevOps带给你的是来自软件的改变产品流程、开发理念,甚至协作文化。我们不应该简单地应用“积木”工具,而是将它们合理地应用到一个持续监控的生态系统中。无论您处于DevOps旅程的哪个阶段,重新评估您当前使用的工具都是一个好主意。通过搜索和发现当前监控用例的不足之处,您可以根据需要进行微调。原标题:DevOpsToolsforMonitoring,作者:AnnaMacLachlan