中級(jí)運(yùn)維工程師需要掌握的技能
主要工作
集群網(wǎng)站平臺(tái)搭建
數(shù)據(jù)庫(kù)基本管理
監(jiān)控系統(tǒng)搭建
腳本化工作
1、網(wǎng)絡(luò)服務(wù)
常見(jiàn)的網(wǎng)絡(luò)服務(wù)要會(huì)部署,比如vsftp、nfs、samba、bind、dhcp等。 代碼版本管理系統(tǒng)少不了,可以學(xué)習(xí)下主
流的GIT,能部署和簡(jiǎn)單使用就可以了。 經(jīng)常在服務(wù)器之間傳輸數(shù)據(jù),所以要會(huì)使用:rsync和scp。 數(shù)據(jù)同步:
inotify/sersync。 重復(fù)性完成一些工作,可寫(xiě)成腳本定時(shí)去運(yùn)行,所以得會(huì)配置Linux下的定時(shí)任務(wù)服務(wù)crond。
2、Web服務(wù)
每個(gè)公司基本都會(huì)有網(wǎng)站,能讓網(wǎng)站跑起來(lái),就需要搭建Web服務(wù)平臺(tái)了。 如果是用PHP語(yǔ)言開(kāi)發(fā)的,通常搭建
LNMP網(wǎng)站平臺(tái),這是一個(gè)技術(shù)名詞組合的拼寫(xiě),分開(kāi)講就是得會(huì)部署Nginx、MySQL和PHP。 如果是JAVA語(yǔ)言開(kāi)
發(fā)的,通常使用Tomcat運(yùn)行項(xiàng)目,為了提高訪問(wèn)速度,可以使用Nginx反向代理Tomcat,Nginx處理靜態(tài)頁(yè)面,
Tomcat處理動(dòng)態(tài)頁(yè)面,實(shí)現(xiàn)動(dòng)靜分離。 不是會(huì)部署這么簡(jiǎn)單,還要知道HTTP協(xié)議工作原理、簡(jiǎn)單的性能調(diào)優(yōu)。
3、負(fù)載均衡器
單臺(tái)服務(wù)器終究資源有限,抵抗高訪問(wèn)量肯定是無(wú)法支撐的,解決此問(wèn)題最關(guān)鍵的技術(shù)就是采用負(fù)載均衡器,水平
擴(kuò)展多臺(tái)Web服務(wù)器,同時(shí)對(duì)外提供服務(wù),這樣就成倍擴(kuò)展性能了。負(fù)載均衡器主流開(kāi)源技術(shù)有LVS、HAProxy和
Nginx。一定要熟悉一兩個(gè)!
4、數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)選擇MySQL,它是世界上使用最為廣泛的開(kāi)源數(shù)據(jù)庫(kù)。學(xué)它準(zhǔn)沒(méi)錯(cuò)! 也要會(huì)一些簡(jiǎn)單的SQL語(yǔ)句、用戶管
理、常用存儲(chǔ)引擎、數(shù)據(jù)庫(kù)備份與恢復(fù)。 想要深入點(diǎn),必須會(huì)主從復(fù)制、性能優(yōu)化、主流集群方案:MHA、MGR
等。 NoSQL這么流行當(dāng)然也少不了,學(xué)下Redis、MongoDB這兩個(gè)就好了。
5、監(jiān)控系統(tǒng)
監(jiān)控必不可少,是及時(shí)發(fā)現(xiàn)問(wèn)題和追溯問(wèn)題的救命稻草??梢赃x擇學(xué)習(xí)主流的Zabbix、Prometheus開(kāi)源監(jiān)控系
統(tǒng),功能豐富,能滿足企業(yè)級(jí)監(jiān)控需求。監(jiān)控點(diǎn)包括服務(wù)器硬件、服務(wù)器性能、API、業(yè)務(wù)、PV/UV、日志等方
面。 也可以弄個(gè)儀表盤(pán)展示幾個(gè)實(shí)時(shí)關(guān)鍵的數(shù)據(jù),比如Grafana,會(huì)非常炫酷。
6、日志分析系統(tǒng)
日志也很重要,定期的分析,可發(fā)現(xiàn)潛在隱患,提煉出有價(jià)值的東西。 主流日志系統(tǒng):ELK Stack 學(xué)會(huì)部署使用,
能分析日志并可視化,方便故障排查。
7、安全防范
安全很重要,不要等到系統(tǒng)被攻擊了,再做安全策略,此時(shí)已晚!所以,當(dāng)一臺(tái)服務(wù)器上線后應(yīng)馬上做安全訪問(wèn)控
制策略,比如使用iptables限制只允許信任源IP訪問(wèn),關(guān)閉一些無(wú)用的服務(wù)和端口等。 一些常見(jiàn)的攻擊類型一定得
知道啊,否則怎么對(duì)癥下藥呢!比如CC、DDOS、ARP等。
8、Shell腳本編程進(jìn)階
Shell腳本是Linux自動(dòng)完成工作的利器,必須得熟練編寫(xiě),所以得進(jìn)一步學(xué)習(xí)函數(shù)、數(shù)組、信號(hào)、發(fā)郵件等。 文本
處理三劍客(grep、sed、awk)得玩6啊,Linux下文本處理就指望它們了。
9、Python/Go開(kāi)發(fā)基礎(chǔ)
Shell腳本只能完成一些基本的任務(wù),想要完成更復(fù)雜些的任務(wù),比如調(diào)用API、多進(jìn)程等。就需要學(xué)高級(jí)語(yǔ)言了。
Python是運(yùn)維領(lǐng)域使用最多的語(yǔ)言,簡(jiǎn)單易用,學(xué)它準(zhǔn)沒(méi)錯(cuò)!此階段掌握基礎(chǔ)就可以了,例如基本語(yǔ)法結(jié)構(gòu)、文
件對(duì)象操作、函數(shù)、迭代對(duì)象、異常處理、發(fā)郵件、數(shù)據(jù)庫(kù)編程等。