「IT运维」集成和自动化的平台 StackStorm概述

简介: 「IT运维」集成和自动化的平台 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是一个新产品,正在积极开发中。我们非常渴望参与社区,获得反馈并完善我们的方向。

相关文章
|
19天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成:提升效率与质量的关键
在快节奏的软件开发环境中,自动化测试和持续集成已经成为不可或缺的部分。本文将探讨自动化测试和持续集成的重要性,以及它们如何协同工作以提高软件开发的效率和质量。通过分析自动化测试的策略、工具选择以及持续集成的实践,我们将揭示这些技术如何帮助开发团队快速响应变化,减少错误,并加速产品上市时间。
|
19天前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
4天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在企业IT管理中的应用与实践####
本文深入探讨了智能化运维(AIOps)的核心技术原理,通过对比传统运维模式,揭示了AIOps如何利用大数据、机器学习等先进技术提升故障预测准确性、优化资源分配及自动化处理流程。同时,文章详细阐述了智能化运维平台的实施步骤,包括数据收集与分析、模型训练与部署、以及持续监控与优化,旨在为企业IT部门提供一套切实可行的智能化转型路径。最后,通过几个典型应用案例,如某大型电商平台的智能告警系统和金融企业的自动化故障排查流程,直观展示了智能化运维在实际业务场景中的显著成效,强调了其在提升运维效率、降低运营成本方面的关键作用。 ####
23 4
|
11天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性
在自动化和持续集成中,确保代码安全与合规至关重要。措施包括集成自动化安全工具、执行自动化合规检查、进行代码质量与安全检测、评估开源代码安全、实施基础设施即代码的安全标准、采用多层防御策略、加强安全教育与文化建设、使用合规性检测工具及许可证合规分析等,共同提升代码安全性与合规水平。
|
15天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:AI在IT运维中的应用与挑战###
本文探讨了人工智能(AI)技术在IT运维领域的应用现状、具体实现方式及其面临的挑战。通过分析AI如何优化故障预测、自动化处理和资源管理,文章旨在揭示AI赋能下运维工作的变革潜力与实践难题,为读者提供对智能化运维趋势的深刻理解。 ###
|
21天前
|
监控 测试技术 持续交付
自动化和持续集成在软件开发中各自扮演什么角色?
自动化和持续集成在软件开发中各自扮演什么角色?
|
23天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在现代IT基础设施中的应用与价值####
本文探讨了智能化运维(AIOps)在现代IT基础设施管理中的实际应用、面临的挑战及其带来的深远影响。通过引入先进的算法和机器学习模型,智能化运维不仅提高了故障检测与响应的速度,还显著优化了资源配置,降低了运营成本,为企业数字化转型提供了强有力的技术支撑。 ####
|
21天前
|
监控 安全 测试技术
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
在实施自动化和持续集成的过程中,如何确保代码的安全性和合规性?
|
22天前
|
敏捷开发 Devops 测试技术
自动化测试中的持续集成与持续部署
在现代软件开发实践中,自动化测试是确保软件质量和快速迭代的关键。本文将探讨自动化测试如何与持续集成(CI)和持续部署(CD)流程相结合,以提高开发效率和软件质量。我们将分析CI/CD管道中自动化测试的最佳实践,以及如何克服实施过程中的挑战。
37 6
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的未来:AI与持续集成的完美结合
【10月更文挑战第39天】本文将探索自动化测试领域的最新趋势,特别是人工智能(AI)如何与持续集成(CI)流程相结合,以实现更快、更智能的测试实践。我们将通过实际代码示例和案例分析,展示这种结合如何提高软件质量和开发效率,同时减少人为错误。
44 0