了解最新公司動態(tài)及行業(yè)資訊
歡迎大家一起學習交流
運維是一個綜合多學科(網(wǎng)絡(luò)、系統(tǒng)、開發(fā)、安全、應(yīng)用架構(gòu)、存儲等)的綜合性技術(shù)崗位,從最初的網(wǎng)絡(luò)管理(網(wǎng)絡(luò)管理)到今天的系統(tǒng)運維工程師,網(wǎng)絡(luò)運維工程師、安全運維工程師、運維開發(fā)工程師等,可見運維的分工還在細化,對綜合技能的要求越來越高可見,未來運維的發(fā)展趨勢是高、精、尖,高即高,精即精通,銳即尖端,即運維工作場所必須站在一定的技術(shù)高度必須能夠控制趨勢。
一、運維崗位的發(fā)展與趨勢
根據(jù)不同運維領(lǐng)域和技術(shù)方面的三個方面,以及分工流程,了解2019年運維崗位的發(fā)展趨勢。
1、由字段定義
1)、基礎(chǔ)設(shè)施運維:IDC/網(wǎng)絡(luò)運維、服務(wù)器/存儲設(shè)備運維
2)、系統(tǒng)運維:系統(tǒng)中間件運維、云測算平臺運維
3)、數(shù)據(jù)運維:數(shù)據(jù)庫運維、大數(shù)據(jù)技術(shù)平臺運維
4)、應(yīng)用運維:應(yīng)用軟件系統(tǒng)
5)、云平臺運維:公有云平臺運維
6)、容器運維:基于容器服務(wù)的運維
2、按技術(shù)方面分
1)、安全運維
2)、性能運維
3)、數(shù)據(jù)運維
4)、一體化運維
3、由進程定義
1),構(gòu)建/持續(xù)集成,發(fā)布
2),安裝部署,升級,遷移,合并,擴展
3),配置,初始化,配置更改
4),備份,傳輸,恢復(fù)
5)、日志、監(jiān)控、警報
6),診斷故障排除,優(yōu)化
二、系統(tǒng)運維技能圖
系統(tǒng)運維是運維的基礎(chǔ)。新的一年,對基本運維技能的要求也越來越高。打好系統(tǒng)運維基礎(chǔ),可以深入學習身邊的各種運維技巧。
右圖列出了系統(tǒng)運維必備的技能:
三、Web運維技能圖
Web運維是運維崗位中崗位最多的,薪資也比較高,但是需要掌握的知識點很多。新技能要掌握,老的運維技能不能丟。 Web運維需要掌握的各種必備技能。
四、大數(shù)據(jù)運維技能圖
大數(shù)據(jù)從2017年開始逐漸走進生活的各個角落,2018年逐漸落地,2019年大數(shù)據(jù)依舊火熱。再加上國家對大數(shù)據(jù)產(chǎn)業(yè)的扶持,大數(shù)據(jù)產(chǎn)業(yè)進入了新時代。每年的工作需求肯定會更強,所以掌握大數(shù)據(jù)運維的技能是運維的最前沿。
五、容器運維技能圖
容器的形成是 IT 行業(yè)的一場革命。從 2015 年到 2016 年,業(yè)界普遍感受到容器技術(shù)的爆發(fā)。短短一年多時間,容器技術(shù)在中國大陸完成了零星的概念。為烽火燎原之大功。
如今,容器技術(shù)在國外大部分企業(yè)的落地已經(jīng)成為共識,國外生態(tài)也呈現(xiàn)出企業(yè)產(chǎn)品、開源社區(qū)、公有云齊頭并進的良好局面。為此,2019年也是容器繼續(xù)快速落地的一年。右圖列出了大數(shù)據(jù)運維必須掌握的各種基本技能。
六、數(shù)據(jù)為王的時代
高層建筑從地面開始,高層建筑的穩(wěn)定性取決于地基是否牢固。運維數(shù)據(jù)是這座高層建筑運維的基礎(chǔ)。運維數(shù)據(jù)大致分為四個方面:CMDB、日志、生產(chǎn)DB、知識庫。
只有數(shù)據(jù)的維護和管理才重要,尤其是日志數(shù)據(jù)。對于運維來說,通過日志可以更準確、更全面地了解系統(tǒng)或設(shè)備的運行情況,并可以查看和恢復(fù)問題的原因。整個過程。通過日志服務(wù)器運維,還可以提前預(yù)知系統(tǒng)中可能出現(xiàn)的問題或故障,比如系統(tǒng)安全日志。如果網(wǎng)絡(luò)攻擊會在系統(tǒng)安全日志中體現(xiàn)出來。
下面簡單介紹一下運維收集的日志數(shù)據(jù)的組成部分和用途。
1、系統(tǒng)日志
系統(tǒng)日志主要是指操作系統(tǒng)的日志,主要是/var/log下的各種日志信息。包含系統(tǒng)運行日志、系統(tǒng)安全日志、定時任務(wù)日志等。系統(tǒng)日志是運維管理安全模塊中審計的重要依據(jù)。通常,默認的操作系統(tǒng)日志不能滿足要求,需要更改系統(tǒng)的參數(shù),例如給命令添加時間戳和IP,以及長時間保留歷史記錄。另外對日志文件進行處理,不允許用戶執(zhí)行空命令,只能追加。
2、應(yīng)用日志
應(yīng)用日志主要記錄應(yīng)用服務(wù)的健康運行和業(yè)務(wù)運行的具體日志。應(yīng)用監(jiān)控的運行狀態(tài)反映了應(yīng)用服務(wù)的健康狀況。如果某個應(yīng)用占用了CPU,或者顯存太低,或者出現(xiàn)波動,可以通過分析應(yīng)用日志和業(yè)務(wù)運行日志來推斷。業(yè)務(wù)操作日志可以為業(yè)務(wù)審計提供主要依據(jù)。有些系統(tǒng)喜歡把業(yè)務(wù)操作日志放到數(shù)據(jù)庫里,這也是需要注意的。但是,無論在哪里,需求都是不可或缺的,為后續(xù)的業(yè)務(wù)審計和問題回顧提供了依據(jù)。
3、數(shù)據(jù)庫日志
數(shù)據(jù)庫日志主要報告數(shù)據(jù)庫的運行狀態(tài)。通過對數(shù)據(jù)庫的日志進行監(jiān)控和管理,可以及時了解數(shù)據(jù)庫的運行情況,及時解決問題??梢詫?shù)據(jù)庫日志與數(shù)據(jù)庫系統(tǒng)自帶的數(shù)據(jù)庫系統(tǒng)結(jié)合起來,比如系統(tǒng)視圖v$、MySQL等也作為數(shù)據(jù)庫日志的一部分進行管理和監(jiān)控,我們已經(jīng)及時知道數(shù)據(jù)庫的監(jiān)控狀態(tài),以防可能出現(xiàn)的問題。
4、設(shè)備日志
設(shè)備日志通常是一個容易忽略的地方,但它往往可以反映設(shè)備的運行情況。交換機故障、防火墻故障等設(shè)備故障都可能導(dǎo)致大規(guī)模的系統(tǒng)和服務(wù)故障。因此,必須收集、分析和監(jiān)控設(shè)備日志,以進行預(yù)警。常用的設(shè)備日志包括交換機日志、防火墻日志、網(wǎng)絡(luò)安全設(shè)備日志。
日志這么多,運維必須通過各種手段完成日志采集、過濾分析、可視化展示。那么如何實現(xiàn)這個功能,有很多技巧,比如ELK集成套件(,,)可以很方便的實現(xiàn)日志數(shù)據(jù)的實時采集、分析傳輸、圖形化展示。
此外,還有一個附屬于 Beats 的日志收集工具。 Beats 目前包括四種工具:
(收集網(wǎng)絡(luò)流量數(shù)據(jù))
(收集系統(tǒng)、進程和文件系統(tǒng)級別的 CPU 和視頻內(nèi)存使用情況等數(shù)據(jù))
(收集文件數(shù)據(jù))
(收集風暴日志數(shù)據(jù))
如您所見,Beats 涵蓋了收集日志數(shù)據(jù)的所有方面。
如何以這種方式使用ELK?根據(jù)日志量的不同,對應(yīng)的ELK架構(gòu)也不同。請參閱以下常見架構(gòu):
該框架主要收集各個節(jié)點上的相關(guān)日志和數(shù)據(jù),經(jīng)過分析過濾后發(fā)送到遠程服務(wù)器存儲。然后將數(shù)據(jù)壓縮并存儲在分片中,并提供多種API供用戶查詢和操作。用戶可以通過Web直觀地查詢?nèi)罩荆⒏鶕?jù)需要生成數(shù)據(jù)報表。
這個框架的優(yōu)點是構(gòu)建簡單,使用方便。缺點是對系統(tǒng)資源的消耗比較大,運行時占用CPU和顯存資源。此外,由于沒有消息隊列緩存,因此可能存在數(shù)據(jù)丟失的風險。建議初學者或數(shù)據(jù)量較小的環(huán)境使用此框架。
這就引出了第二個框架:
這種架構(gòu)的主要特點是引入了消息隊列機制。每個節(jié)點上的Agent(第一級,主要用于傳輸數(shù)據(jù))首先將數(shù)據(jù)傳輸?shù)较㈥犃校ǔR姷腒afka、Redis等),然后,(第二級主要用于拉取消息隊列數(shù)據(jù),過濾和分析數(shù)據(jù))并將低級數(shù)據(jù)傳遞給存儲。最后,通過將日志和數(shù)據(jù)呈現(xiàn)給用戶。由于引入了Kafka(或Redis)緩存機制,雖然遠端因故障停止運行,但不會因為數(shù)據(jù)已經(jīng)存儲而丟失數(shù)據(jù)。
這些架構(gòu)適用于集群大、數(shù)據(jù)量一般的應(yīng)用環(huán)境,但是由于需要分析處理大量數(shù)據(jù),以及存儲和索引大量數(shù)據(jù),負載會比較重解決方案是將它們配置為集群模式以分擔負載。
這種架構(gòu)的優(yōu)點是引入了消息隊列機制來平衡網(wǎng)絡(luò)傳輸,從而增加了網(wǎng)絡(luò)阻塞的可能性,尤其是數(shù)據(jù)丟失,但是仍然存在占用系統(tǒng)資源過多的問題。服務(wù)器運維,可能會出現(xiàn)性能困境。
最后還有第三個框架:
這個框架是在其中的第二個框架的基礎(chǔ)上改進的,主要是將后端收集數(shù)據(jù)的Agent替換為消息隊列的Kafka集群,然后通過集群模式進行改進。該架構(gòu)適用于集群小、數(shù)據(jù)量大的業(yè)務(wù)場景。通過替換后端Agent來收集日志,有效減少業(yè)務(wù)系統(tǒng)資源的消耗。同時消息隊列采用Kafka集群架構(gòu),有效保證了采集數(shù)據(jù)的安全性和穩(wěn)定性,前端和集群采用集群方式構(gòu)建,提升了效率、擴展性和吞吐量ELK 系統(tǒng)作為一個整體。
七、運用大數(shù)據(jù)思維進行運維監(jiān)控
大數(shù)據(jù)分析從運維人員的日志分析開始,逐步發(fā)展到各種業(yè)務(wù)的分析。人們發(fā)現(xiàn)這種數(shù)據(jù)蘊含著巨大的價值。通過對互聯(lián)網(wǎng)上研究對象的實時檢測和跟蹤所形成的海量行為數(shù)據(jù),挖掘分析,闡明規(guī)律,提出研究推論和對策。這就是大數(shù)據(jù)的用途。
同樣,通過大數(shù)據(jù)分析,我們可以得到各種指標,比如:
1、業(yè)務(wù)層面,如團購業(yè)務(wù)每秒訪問量、每秒檢查團購券數(shù)量、每分鐘支付、創(chuàng)建訂單等。
2、在應(yīng)用層面,每個應(yīng)用的錯誤數(shù)、調(diào)用進程、平均訪問時長、最大時長、95行等
3、系統(tǒng)資源層面:如cpu、內(nèi)存、swap、磁盤、負載、主進程生存等
4、網(wǎng)絡(luò)層面:如丟包、ping生存、流量、tcp連接等
而這種指標正是運維非常需要的。這種通過大數(shù)據(jù)分析的指標可以解決以下問題:
系統(tǒng)健康監(jiān)測
找出問題的癥結(jié)
系統(tǒng)問題的診斷和調(diào)整
跟蹤安全相關(guān)問題
如何運用大數(shù)據(jù)思維進行運維?大數(shù)據(jù)架構(gòu)的一個思路就是提供一個運維平臺方便地解決這類問題,而不是讓大數(shù)據(jù)平臺解決出現(xiàn)的問題。
一個基本的大數(shù)據(jù)運維框架如下:
對于運維的監(jiān)控,借助大數(shù)據(jù)思維,需要分三步走:
獲取所需數(shù)據(jù)
過濾異常數(shù)據(jù)并設(shè)置報警閾值
通過第三方監(jiān)控平臺發(fā)出警報
所有系統(tǒng)中最可靠的是日志輸出。系統(tǒng)是否正常,發(fā)生了什么,我們習慣在出現(xiàn)問題的時候查看日志,或者寫一個腳本定期分析?,F(xiàn)在這種東西可以集成到現(xiàn)有的平臺中,我們唯一要做的就是定義解析日志的邏輯。
好了,這就是明天給大家介紹的新時代核心運維技能。抓住機遇,開始新的學習!有問題可以一起學習交流。