關於
StackStorm是一個用於跨服務和工具進行集成和自動化的平台。它將您現有的基礎結構和應用程式環境聯繫在一起,這樣您就可以更容易地自動化該環境。它特別關注在事件發生後採取的行動。
StackStorm幫助自動化常見的操作模式。一些例子:
- 方便的故障診斷——觸發Nagios、senu、New Relic和其他監控系統捕獲的系統故障,對物理節點、OpenStack或Amazon實例和應用程式組件進行一系列診斷檢查,並將結果發布到共享的通信上下文,如HipChat或JIRA。
- 自動修復——識別和驗證OpenStack計算節點上的硬體故障,適當地疏散實例,並向管理員發送關於潛在停機時間的電子郵件,但如果出現任何問題——凍結工作流並調用PagerDuty喚醒人工。
- 持續部署——使用Jenkins構建和測試,提供一個新的AWS集群,使用負載均衡器打開一些流量,並根據NewRelic的應用程式性能數據進行前滾或後滾。
StackStorm幫助您將這些和其他操作模式組合為規則和工作流或操作。這些規則和工作流(StackStorm平台內的內容)被存儲為代碼,這意味著它們支持與現在用於代碼開發的協作方法相同的方法。它們可以與更廣泛的開源社區共享,例如通過StackStorm社區。
工作原理
StackStorm通過可擴展的包含傳感器和操作的適配器集插入到環境中。
- 傳感器是Python插件,用於接收或監視事件的入站或出站集成。當來自外部系統的事件發生並由傳感器處理時,將向系統發出StackStorm觸發器。
- 觸發器是外部事件的StackStorm表示。有通用觸發器(如計時器、網絡掛鉤)和集成觸發器(如senu alert、JIRA issue updated)。可以通過編寫傳感器插件來定義新的觸發器類型。
- 操作是StackStorm出站集成。有通用操作(ssh、REST調用)、集成(OpenStack、Docker、Puppet)或自定義操作。操作可以是Python插件,也可以是任何腳本,都可以通過添加幾行元數據在StackStorm中使用。用戶可以通過CLI或API直接調用操作,或者作為規則和工作流的一部分使用和調用操作。
- 規則將觸發器映射到操作(或工作流),應用匹配標準並將觸發器有效負載映射到操作輸入。
- 工作流將操作縫在一起形成「超級操作」,定義順序、轉換條件並傳遞數據。大多數自動化操作不止一步,因此需要多個操作。工作流與「原子」操作一樣,可以在操作庫中使用,可以手動調用或由規則觸發。
- 包是內容部署的單元。它們通過分組集成(觸發器和操作)和自動化(規則和工作流)簡化了StackStorm可插內容的管理和共享。越來越多的包可用於StackStorm交換。用戶可以創建自己的包,在Github上共享它們,或者提交到StackStorm Exchange。
- 動作執行的審計跟蹤,手動或自動,記錄和存儲觸發上下文和執行結果的完整細節。它還被捕獲在審計日誌中,以便與外部日誌和分析工具集成:LogStash、Splunk、statsd、syslog。
StackStorm是一個具有模塊化架構的服務。它由通過消息總線通信的鬆散耦合的服務組件組成,並水平擴展以按比例交付自動化。StackStorm有一個Web UI,一個CLI客戶端,當然還有一個完整的REST API。我們還提供了Python客戶端綁定,以簡化開發人員的工作。
StackStorm是一個新產品,正在積極開發中。我們非常渴望參與社區,獲得反饋並完善我們的方向。
原文:https://docs.stackstorm.com/overview.html
本文:http://jiagoushi.pro/node/835
討論:請加入知識星球【首席架構師圈】或者飛聊小組【首席架構師智庫】
文章來源: https://twgreatdaily.com/zh-cn/NmtH824BMH2_cNUgeVNL.html