「数据中心运维」集成和自动化的平台 StackStorm概述

简介: 「数据中心运维」集成和自动化的平台 StackStorm概述

关于

StackStorm是一个用于跨服务和工具进行集成和自动化的平台。它将您现有的基础结构和应用程序环境联系在一起,这样您就可以更容易地自动化该环境。它特别关注在事件发生后采取的行动。

StackStorm帮助自动化常见的操作模式。一些例子:

  • 方便的故障诊断——触发Nagios、senu、New Relic和其他监控系统捕获的系统故障,对物理节点、OpenStack或Amazon实例和应用程序组件进行一系列诊断检查,并将结果发布到共享的通信上下文,如HipChat或JIRA。
  • 自动修复——识别和验证OpenStack计算节点上的硬件故障,适当地疏散实例,并向管理员发送关于潜在停机时间的电子邮件,但如果出现任何问题——冻结工作流并调用PagerDuty唤醒人工。
  • 持续部署——使用Jenkins构建和测试,提供一个新的AWS集群,使用负载均衡器打开一些流量,并根据NewRelic的应用程序性能数据进行前滚或后滚。

StackStorm帮助您将这些和其他操作模式组合为规则和工作流或操作。这些规则和工作流(StackStorm平台内的内容)被存储为代码,这意味着它们支持与现在用于代码开发的协作方法相同的方法。它们可以与更广泛的开源社区共享,例如通过StackStorm社区。

工作原理


StackStorm通过可扩展的包含传感器和操作的适配器集插入到环境中。

  1. 传感器是Python插件,用于接收或监视事件的入站或出站集成。当来自外部系统的事件发生并由传感器处理时,将向系统发出StackStorm触发器。
  2. 触发器是外部事件的StackStorm表示。有通用触发器(如计时器、网络挂钩)和集成触发器(如senu alert、JIRA issue updated)。可以通过编写传感器插件来定义新的触发器类型。
  3. 操作是StackStorm出站集成。有通用操作(ssh、REST调用)、集成(OpenStack、Docker、Puppet)或自定义操作。操作可以是Python插件,也可以是任何脚本,都可以通过添加几行元数据在StackStorm中使用。用户可以通过CLI或API直接调用操作,或者作为规则和工作流的一部分使用和调用操作。
  4. 规则将触发器映射到操作(或工作流),应用匹配标准并将触发器有效负载映射到操作输入。
  5. 工作流将操作缝在一起形成“超级操作”,定义顺序、转换条件并传递数据。大多数自动化操作不止一步,因此需要多个操作。工作流与“原子”操作一样,可以在操作库中使用,可以手动调用或由规则触发。
  6. 包是内容部署的单元。它们通过分组集成(触发器和操作)和自动化(规则和工作流)简化了StackStorm可插内容的管理和共享。越来越多的包可用于StackStorm交换。用户可以创建自己的包,在Github上共享它们,或者提交到StackStorm Exchange。
  7. 动作执行的审计跟踪,手动或自动,记录和存储触发上下文和执行结果的完整细节。它还被捕获在审计日志中,以便与外部日志和分析工具集成:LogStash、Splunk、statsd、syslog。

StackStorm是一个具有模块化架构的服务。它由通过消息总线通信的松散耦合的服务组件组成,并水平扩展以按比例交付自动化。StackStorm有一个Web UI,一个CLI客户端,当然还有一个完整的REST API。我们还提供了Python客户端绑定,以简化开发人员的工作。

StackStorm是一个新产品,正在积极开发中。我们非常渴望参与社区,获得反馈并完善我们的方向。

相关文章
|
8天前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
52 17
|
19天前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
19天前
|
机器学习/深度学习 人工智能 运维
智能化运维在现代数据中心的应用与挑战####
本文深入探讨了智能化运维(AIOps)技术在现代数据中心管理中的实际应用,分析了其带来的效率提升、成本节约及潜在风险。通过具体案例,阐述了智能监控、自动化故障排查、容量规划等关键功能如何助力企业实现高效稳定的IT环境。同时,文章也指出了实施过程中面临的数据隐私、技术整合及人才短缺等挑战,并提出了相应的解决策略。 --- ####
38 1
|
22天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成
在现代软件开发过程中,自动化测试和持续集成已成为不可或缺的组成部分。本文将深入探讨自动化测试和持续集成的重要性、优势以及如何有效实施它们以提升软件质量和开发效率。通过具体案例分析,我们将展示这些技术如何在实际项目中发挥作用,并讨论其面临的挑战及应对策略。
45 3
|
24天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在现代数据中心的应用与挑战####
本文深入探讨了智能化运维(AIOps)技术如何革新现代数据中心的运维管理,通过集成人工智能、大数据分析及自动化工具,显著提升系统稳定性、效率和响应速度。文章首先概述了AIOps的核心概念与技术框架,随后详细分析了其在故障预测、异常检测、容量规划及事件响应等方面的应用实例,最后探讨了实施过程中面临的数据质量、技能匹配及安全性等挑战,并提出了相应的应对策略。本研究旨在为数据中心管理者提供关于采纳和优化AIOps实践的洞见,以期推动行业向更高效、智能的运维模式转型。 ####
|
29天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性
在自动化和持续集成中,确保代码安全与合规至关重要。措施包括集成自动化安全工具、执行自动化合规检查、进行代码质量与安全检测、评估开源代码安全、实施基础设施即代码的安全标准、采用多层防御策略、加强安全教育与文化建设、使用合规性检测工具及许可证合规分析等,共同提升代码安全性与合规水平。
|
29天前
|
监控 测试技术 持续交付
自动化和持续集成在软件开发中各自扮演什么角色
在软件开发中,自动化与持续集成(CI)相辅相成,共同提升开发效率和软件质量。自动化通过高效执行测试、构建和部署等重复任务,减少人为错误,确保流程一致性,并支持持续部署。CI则通过频繁集成代码变更、提供快速反馈、提高代码质量和促进团队协作,简化部署过程。两者结合,极大优化了软件开发流程。
|
25天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
25天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
61 1