Linux運(yùn)維工程師都在用的運(yùn)維工具有哪些?
今天馬哥教育要跟大家分享的文章是關(guān)于Linux運(yùn)維工程師都在用的運(yùn)維工具有哪些?正在從事Linux運(yùn)維工作的小伙伴們是不是也想知道這個(gè)問題的答案, Linux入門新手和正在Linux學(xué)習(xí)的小伙伴快來看一看吧,希望能夠?qū)Υ蠹矣兴鶐椭?
一、運(yùn)維流程管理工具
1、發(fā)布變更流程管理工具:
做為系統(tǒng)接口與其他角色的工作銜接。并提供審批環(huán)節(jié)控制發(fā)布變更的風(fēng)險(xiǎn)。流程管理工具并不負(fù)責(zé)具體的業(yè)務(wù)操作的執(zhí)行,只是作為單據(jù)系統(tǒng)跟蹤流程和確保閉環(huán)。
2、告警和突發(fā)管理工具:
體現(xiàn)業(yè)務(wù)受損的告警自動(dòng)建單管理。人工確認(rèn)之后升級(jí)為突發(fā)單。通過建單管理告警和突發(fā)確保流程的閉環(huán),以及每次故障都能夠總結(jié)出經(jīng)驗(yàn),并未度量業(yè)務(wù)的可用性提供KPI。
二、運(yùn)維發(fā)布變更工具
1、版本管理工具(數(shù)據(jù)庫):
所有的發(fā)布應(yīng)該以版本管理為起點(diǎn)。研發(fā)給的版本包先入版本管理工具,再從版本管理工具分發(fā)到現(xiàn)網(wǎng)發(fā)布。杜絕 rsync 一臺(tái)服務(wù)器發(fā)布另外一臺(tái)的做法。
2、配置管理工具(數(shù)據(jù)庫):
版本加配置等于現(xiàn)網(wǎng)每臺(tái)機(jī)器的狀態(tài)。最粗粒度的配置管理是到 IP 級(jí)別,相當(dāng)于對(duì)機(jī)器做資產(chǎn)管理,分組到不同的業(yè)務(wù),模塊和大區(qū)等業(yè)務(wù)概念上。細(xì)粒度一點(diǎn)會(huì)管理到進(jìn)程以及進(jìn)程的相關(guān)的配置。
3、配置和版本下發(fā)工具:
把指定的版本,結(jié)合配置好的配置下發(fā)到現(xiàn)網(wǎng)的機(jī)器上。不同的版本和配置方式需要完全不同的下發(fā)方式。以 ssh/fabric 為代表的下發(fā)方式是以腳本為中心的。以 puppet/chef 為代表的下發(fā)方式是以配置為中心的。
4、現(xiàn)網(wǎng)狀態(tài)同步工具:
為了規(guī)避現(xiàn)網(wǎng)狀態(tài)漂移,與管理工具內(nèi)的記錄不一致。需要有一個(gè)工具定時(shí)上報(bào)現(xiàn)網(wǎng)的實(shí)際狀況。
5、服務(wù)調(diào)度工具:
發(fā)布變更經(jīng)常需要一個(gè)串行的流程,先做A模塊,再做B模塊。很多機(jī)器的時(shí)候,需要把能并發(fā)的操作并發(fā)執(zhí)行,不能并發(fā)的操作確保串行執(zhí)行。同時(shí)很多發(fā)布變更流程需要操作管理范圍外的服務(wù),比如云端的DNS服務(wù)器記錄等。這就需要有一個(gè)服務(wù)調(diào)度工具統(tǒng)一調(diào)度配置和版本下發(fā)工具,流程單據(jù)工具,以及其他系統(tǒng)的API接口共同組裝成一個(gè)流程。
6、資源管理和隔離工具:
以xen/kvm為代表的工具讓運(yùn)維可以更靈活的切割資源。比如虛擬機(jī)的快速起停,ip在idc內(nèi)的漂移等。以 lxc/docker 為代表的工具讓運(yùn)維可以進(jìn)一步的切割資源到進(jìn)程級(jí)別。資源隔離代理的細(xì)粒度的資源控制可以獲得更好的資源利用率,以及更容易進(jìn)行可伸縮的資源配置。
7、發(fā)布變更統(tǒng)一界面:
包裝所有的下層工具,提供簡單的界面完成標(biāo)準(zhǔn)化的發(fā)布變更操作。
三、運(yùn)維監(jiān)控告警工具
1、采集工具:
一般是采集日志文件,也可以是定時(shí)輪詢 DB 或者其他系統(tǒng)的接口。流行的開源方案是 logstash。
2、收集工具:
采集工具上報(bào)給收集工具。或者由開發(fā)直接修改代碼上報(bào)指標(biāo)給收集工具。流程的開源方案還是 logstash。
3、統(tǒng)計(jì)入庫工具:
上報(bào)可能是每次調(diào)用就上報(bào)一次,統(tǒng)計(jì)工具負(fù)責(zé)統(tǒng)計(jì)出一分鐘內(nèi)的次數(shù)。上報(bào)也可能是每5秒上報(bào)一次數(shù)值,統(tǒng)計(jì)工具負(fù)責(zé)統(tǒng)計(jì)出一分鐘內(nèi)的最大值。統(tǒng)計(jì)工具的存在是為了上報(bào)的方便。流行的開源方案是 statsd,也有大公司基于 storm 來做二次開發(fā)的。
4、時(shí)間序列數(shù)據(jù)庫:
所有定時(shí)指標(biāo)會(huì)落地到數(shù)據(jù)庫里。監(jiān)控告警所需要的數(shù)據(jù)庫需要能夠支撐非常大的數(shù)據(jù)量,但是并沒有很嚴(yán)格的 ACID 要求。
5、運(yùn)維事件數(shù)據(jù)庫:
記錄所有的告警。包括從其他系統(tǒng)獲得告警,以及對(duì)現(xiàn)網(wǎng)的所有變更操作記錄。這些數(shù)據(jù)用于支撐告警的原因定位。
6、指標(biāo)異常檢測(cè)工具:
基于數(shù)學(xué)模型發(fā)現(xiàn)指標(biāo)是否與過去的穩(wěn)定模式背離,而推測(cè)出現(xiàn)網(wǎng)狀態(tài)的變化。
7、撥測(cè)工具:
定時(shí) PING 或者 HTTP GET,模擬實(shí)際用戶發(fā)現(xiàn)服務(wù)是否中斷,產(chǎn)生告警。同時(shí)也產(chǎn)生指標(biāo)上報(bào)給收集系統(tǒng)。撥測(cè)又分為本地?fù)軠y(cè),和遠(yuǎn)程撥測(cè)。本地?fù)軠y(cè)可以用于發(fā)現(xiàn)磁盤只讀等本機(jī)告警。遠(yuǎn)程撥測(cè)可以模擬用戶的地理分布,把網(wǎng)絡(luò)的鏈路狀況也包含在撥測(cè)覆蓋的范圍內(nèi)。
8、告警收斂工具:
綜合所有來源的告警,進(jìn)行頻率收斂,根源分析。統(tǒng)一匯總成報(bào)告催促人工修復(fù)。
9、告警自動(dòng)修復(fù)工具:
接受告警進(jìn)行自動(dòng)化的處理。幫運(yùn)維完成固定的故障機(jī)下架退庫等操作。或者在業(yè)務(wù)本身沒有做高可用的情況下,做故障機(jī)替換,ip漂移等現(xiàn)網(wǎng)修復(fù)操作,一定程度地提高業(yè)務(wù)可用性。
10、告警通知工具:
重要的告警需要升級(jí)為電話。需要有高可用的電話,短信,微信等通知接口。
11監(jiān)控告警統(tǒng)一界面:
屏蔽下層各種工具,提供統(tǒng)一的agent安裝,指標(biāo)采集設(shè)置,指標(biāo)曲線展示,告警查詢的界面。一個(gè)地方知道現(xiàn)網(wǎng)的所有的問題。
以上就是馬哥教育今天為大家分享的關(guān)于Linux運(yùn)維工程師都在用的運(yùn)維工具有哪些?的文章,希望本篇文章能夠?qū)φ趶氖翷inux運(yùn)維工作的小伙伴們有所幫助。想要了解更多Linux相關(guān)知識(shí)記得關(guān)注馬哥教育官網(wǎng)。最后祝愿小伙伴們工作順利哦!
原文:taowen
鏈接:http://segmentfault.com/a/1190000002984400