運維流程管理工具
發布變更流程管理工具:做為系統接口與其他角色的工作銜接。并提供審批環節控制發布變更的風險。流程管理工具并不負責具體的業務操作的執行,只是作為單據系統跟蹤流程和確保閉環。
告警和突發管理工具:體現業務受損的告警自動建單管理。人工確認之后升級為突發單。通過建單管理告警和突發確保流程的閉環,以及每次故障都能夠總結出經驗,并未度量業務的可用性提供KPI。
運維發布變更工具
版本管理工具(數據庫):所有的發布應該以版本管理為起點。研發給的版本包先入版本管理工具,再從版本管理工具分發到現網發布。杜絕 rsync 一臺服務器發布另外一臺的做法。
配置管理工具(數據庫):版本加配置等于現網每臺機器的狀態。最粗粒度的配置管理是到 IP 級別,相當于對機器做資產管理,分組到不同的業務,模塊和大區等業務概念上。細粒度一點會管理到進程以及進程的相關的配置。
配置和版本下發工具:把指定的版本,結合配置好的配置下發到現網的機器上。不同的版本和配置方式需要完全不同的下發方式。以 ssh/fabric 為代表的下發方式是以腳本為中心的。以 puppet/chef 為代表的下發方式是以配置為中心的。
現網狀態同步工具:為了規避現網狀態漂移,與管理工具內的記錄不一致。需要有一個工具定時上報現網的實際狀況。
服務調度工具:發布變更經常需要一個串行的流程,先做A模塊,再做B模塊。很多機器的時候,需要把能并發的操作并發執行,不能并發的操作確保串行執行。同時很多發布變更流程需要操作管理范圍外的服務,比如云端的DNS服務器記錄等。這就需要有一個服務調度工具統一調度配置和版本下發工具,流程單據工具,以及其他系統的API接口共同組裝成一個流程。
資源管理和隔離工具:以xen/kvm為代表的工具讓運維可以更靈活的切割資源。比如虛擬機的快速起停,ip在idc內的漂移等。以 lxc/docker 為代表的工具讓運維可以進一步的切割資源到進程級別。資源隔離代理的細粒度的資源控制可以獲得更好的資源利用率,以及更容易進行可伸縮的資源配置。
發布變更統一界面:包裝所有的下層工具,提供簡單的界面完成標準化的發布變更操作。
運維監控告警工具
采集工具:一般是采集日志文件,也可以是定時輪詢 DB 或者其他系統的接口。流行的開源方案是 logstash。
收集工具:采集工具上報給收集工具。或者由開發直接修改代碼上報指標給收集工具。流程的開源方案還是 logstash。
統計入庫工具:上報可能是每次調用就上報一次,統計工具負責統計出一分鐘內的次數。上報也可能是每5秒上報一次數值,統計工具負責統計出一分鐘內的最大值。統計工具的存在是為了上報的方便。流行的開源方案是 statsd,也有大公司基于 storm 來做二次開發的。
時間序列數據庫:所有定時指標會落地到數據庫里。監控告警所需要的數據庫需要能夠支撐非常大的數據量,但是并沒有很嚴格的 ACID 要求。
運維事件數據庫:記錄所有的告警。包括從其他系統獲得告警,以及對現網的所有變更操作記錄。這些數據用于支撐告警的原因定位。
指標異常檢測工具:基于數學模型發現指標是否與過去的穩定模式背離,而推測出現網狀態的變化。
撥測工具:定時 PING 或者 HTTP GET,模擬實際用戶發現服務是否中斷,產生告警。同時也產生指標上報給收集系統。撥測又分為本地撥測,和遠程撥測。本地撥測可以用于發現磁盤只讀等本機告警。遠程撥測可以模擬用戶的地理分布,把網絡的鏈路狀況也包含在撥測覆蓋的范圍內。
告警收斂工具:綜合所有來源的告警,進行頻率收斂,根源分析。統一匯總成報告催促人工修復。
告警自動修復工具:接受告警進行自動化的處理。幫運維完成固定的故障機下架退庫等操作。或者在業務本身沒有做高可用的情況下,做故障機替換,ip漂移等現網修復操作,一定程度地提高業務可用性。
告警通知工具:重要的告警需要升級為電話。需要有高可用的電話,短信,微信等通知接口。
監控告警統一界面:屏蔽下層各種工具,提供統一的agent安裝,指標采集設置,指標曲線展示,告警查詢的界面。一個地方知道現網的所有的問題。
-
數據庫
+關注
關注
7文章
3794瀏覽量
64360
原文標題:淺談運維工具體系
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論