想入運維坑只能從運維監控做起了么?

我之前在系統集成商做網路工程師。現在想去北漂轉運維工程師了,過幾年回老家。因為老家做linux運維工資很高,二線城市最多給到一萬二都有。但是我發現都不要沒做過運維的,那我就只能從運維監控做起了。我想問一下,運維監控能學到技術么,在大型互聯網公司。


運維監控看似是非常底層的工作,但如果有如下條件的話,可以學到非常多的東西。

1、有生產系統的接入賬號,能看到應用環境的配置和日誌。

2、能與研發和業務人員溝通,學習應用架構和業務邏輯,為運維技能和業務系統串聯打基礎。

3、能與二線運維工程師隨時交流,學習更深入的運維知識。

4、監控系統比較完善,不簡單只做網路、資源、服務類的監控;還需做業務、性能等的監控和數據分析。

因為監控系統是整個運維體系的守護者,有著整個生產最為全面的畫面。深入研究你將了解:

1、監控原理,包括監控平台、網路協議及流量監控、系統資源監控、業務服務監控、業務健康分析。

2、基礎安裝,對監控系統的部署,了解常用服務的安裝。

3、系統瓶頸分析和優化,通過分析收集到的監控數據,對系統的cpu、內存、磁碟、網路,應用環境的進程、線程、文件句柄、網路等進行針對性案例分析。

4、應用的架構知識,通過監控項的關聯,了解應用的整個架構。如負載均衡層、展現層,業務邏輯層、緩存層、消息交互層、事務控制層、數據存儲層等,每層運用的技術和交互協議等

5、業務邏輯,通過與研發交流,觀察監控,分析業務系統日誌了解整個業務的邏輯。

不一定說每個入運維坑的人都蹲過監控,但是運維監控是一個入坑的好入口。


##想入運維坑只能從運維監控做起了么?

答案是不一定,如果學歷、基礎比較好也可以直接從系統運維或者業務運維做起

運維監控工程師有個英文簡稱noc,全稱是啥忘了~

主要負責利用監控平台實時監控伺服器及網路設備的運行狀態、性能;

判斷故障的類型、 嚴重程度,並執行故障/問題處理流程;

解決常見的操作系統,網路和應用故障;

根據監控和處理結果,及時的記錄信息,通知相關運維同事處理故障等。

因為運維團隊需要7*24小時響應故障,但相關業務、系統運維工程師也有下班、睡覺的時候啊,這個時間段出問題就需要依賴noc來覆蓋了

##運維監控能學到技術么?

題目所述「運維監控能學到技術么,在大型互聯網公司」,絕對能學到東西,就取決你有沒有用心去鑽研了。

noc一般是盯著公司自研或者開源的各種監控系統,如nagios、catti、zabbix等,其他這些系統的原理都是大同小異,每台機器部署個agent,收集需要的各種系統、業務數據上傳到服務端,服務端把數據記錄下來,要麼判斷有沒超過告警閾值,要麼畫圖展示等等。

好像原理很簡單,如果你深入研究的話,監控這個事情也可以做的很高深。

* 要監控什麼怎麼制定

只監控個CPU、內存、網路,還有業務進程的存活?太low了

我們還要監控業務的服務質量、容量監控、數據一致性、甚至業務數據的實時展示

* 原始監控數據怎麼收集

顯然幾百台機器和幾萬台是不同的玩法,怎麼做到快速、高效、不阻塞,

這裡也許涉及到hadoop、strom、spark、flume等大數據工具的應用

* 如何制定告警策略和閾值

如果監控項一天的曲線是抖動非常劇烈的,該怎麼定製閾值,這在數據統計中有個學名叫Outlier Detection

* 監控項怎麼做關聯、收斂

一個監控的背後可能引發幾十個告警同時發生,怎樣才能定位出最根本的那條?

* 監控故障自愈

有告警表示有故障,能否無人職守自動修復,值得思考

最後,騷年你造監控有多重要了吧?雖然很重要,但做noc我建議不超過1年,1年之內必須讓自己提高水平並轉為正式的運維工程師,如果不能在本公司內轉職則果斷跳槽。


監控是運維這個職業的根本。尤其是在現在DevOps這麼火的時候,用監控數據給自己撐腰,打別人臉,更加算得上是核心技術了。當然前提是你不滿足於自己只是個看屏幕的夜班……

貼一個我四年前的演講slide:http://www.slideshare.net/chenryn/monitor-is-all-for-ops


你的問題還是要做Linux運維,應該學習什麼,下面是我們團隊研究的一個Linux學習路線圖,希望幫助到您。

運維學習階段,需要分為四個階段,linux初級入門-àlinux中級進階-àlinux高級提升,和資深方向細化。

第一階段:初級入門

初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線。

個人建議學習的路線如下:

初級入門:

1、Linux基礎知識、基本命令(起源、組成、常用命令如cp、ls、file、mkdir等常見操作命令)

2、Linux用戶及許可權基礎

3、Linux系統進程管理進階

4、linux高效文本、文件處理命令(vim、grep、sed、awk、find等命令)

5、shell腳本入門(可邊練習邊學習)

第二階段:中級進階

中級進階需要在充分了解linux原理和基礎知識之後,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網路的相關知識,是需要花時間學習的。

1、TCP/IP網路基礎(差不多CCNA、NP的知識就夠用)

2、Linux企業常用服務(如dns、http、ftp、mail、nfs等)

3、Linux企業級安全原理和防範技巧(系統性能/安全、安全威脅模型和保護方法

4、 加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎

5、iptables安全策略構建

6、shell腳本進階(主要是結合一些應用,寫一些案例)

7、MySQL應用原理及管理入門(能管理和搭建一個個人博客站點)

學到這裡,掌握的基本技能,已經夠用了,已經能做一些基礎的運維工作和簡單維護了。

第三階段:高級提升

1、http服務代理緩存加速(其中主要學習varnish、nginx緩存系統,要對CDN的知識有所了解。)

2、企業級負載集群(其中主要學習nginx、haproxy、lvs要對主要知識熟練掌握,對負載均衡演算法有清晰認識,)

3、企業級高可用集群 (其中需要對keepalived,heartbeat等進行深入講解)

4、運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統,現在用的比較多的是zabbix)

5、運維自動化學習(需要學一些開源運維自動化工具的使用如ansible、puppet、cobbler等運維自動化工具)

能掌握到這裡,基本能處理搞定很多工作了,可以去面試高級運維工程師,差不多薪資能達到12-18K左右

第四階段:資深方向進階

1、 大數據方向(需要對hadoop、storm等常見開源大數據系統需要深入了解)

2、 雲計算方向(主要是openstack這套東西,當然像一些kvm等虛擬化技術,也是需要掌握的,現在docker也比較流行)

3、 運維開發(主要是python運維開發)

4、 自動化運維(在之前自動化基礎上做深入)

5、 運維架構師(主要需要廣度,差不多5年左右以上經驗,可以擔當此職位)

另外我們整理了一個學習知識庫,你可以看一下:

【超全整理】《Linux雲計算從入門到精通》系列實戰筆記全放送 | Linux運維部落


謝邀。

depends on 運維監控是做啥。

進坑我大概就從監控開始做。看監控,改監控,寫監控。

開源監控軟體,報警,性能數據分析,各種廠商的設備,SNMP協議,IPMI之類雜七雜八的...

總之如果能接觸到比較多的東西,監控還算蠻不錯的切入點。

但我也見過就盯著大屏幕三班倒揣著值班手機打電話接電話的運維機器人。

以前在集成商對網路很熟的話可以從網路監控流量分析這塊切進來啊喵。

btw,老家哪裡啊,12k不少誒,這個行業現在普遍門檻低工資低,招水平不錯的不容易

招人已招到絕望。


2017/12/05更新

我今年9月分轉運維開發了。 有人問我怎麼轉的,統一回復下。簡單來說就是自己做項目,寫各種運維工具。

後端語言: Python + Go。 Web框架用的Django,非同步任務用Celery做的。Go用來寫監控系統

前端: JavaScript, jQuery, HTML, CSS這些就不用說了。

項目: CMDB、發布系統、遠程管理、網路故障分析工具等

------------------------------------------

我目前也在做監控,應屆畢業生,剛實習兩個月。

監控本身不是一個職業,也是運維的一個分支。

我說下我目前的情況:

1. 網路監控。如果有網路相關報警,比如最常見的丟包,我們監控組就需要定位網路故障,公司自身硬體問題?運營商問題還是IDC的問題?

2.主機存活監控。

3.資源監控(內存,CPU,磁碟容量,硬體損壞,網卡,系統故障等)

上面這三點是我們監控人員自己可以處理的就自己處理,處理不了的交給相關運維

4.業務監控。這點,我們只負責故障告警,堅決不碰,因為不了解業務

監控能不能學到東西?

正如@饒琛琳前輩所說,只要不滿足於自己是個盯著屏幕看的夜班。我在監控值班時,不忙的話做以下幾件事:

1.看公司的監控腳本,然後自己把腳本用shell寫一遍,再用Python寫一遍。這個過程中可以學到很多東西,重要的是學到了一種思路,監控架構的思路。而且看多了腳本,就知道每次報警是為什麼了,處理起來比較從容了。(我也給老大提過腳本優化的建議,但是被「婉拒」了,但也是學習嘛)

2.了解公司各個IDC的網路結構,這對於學習網路知識,處理網路故障有很大幫助,重要的是又學到了一種網路架構的思路

3.慢慢的看懂整個公司的運維架構。這個我還在摸索中,這個過程中,看的越多,發現自己越無知!

4.抗壓能力。運維監控是整個運維體系中最關鍵的一環了,監控人員是最先發現故障的,俗稱「第三隻眼」。沒了監控,什麼基礎運維,業務運維都是「瞎子」。相對的,我們的壓力也很大,告警沒有及時發現,業務會罵你。告警突然鋪天蓋地的飛過來時,你得沉住氣快速定位。不然又得挨罵。。。抗壓能力就是這樣慢慢的出來了。

5.我很討厭打電話!不怕笑話,我小時候結巴,現在一緊張同樣結巴。。。。所以每次打電話時真的很有壓力!但是自己嘗試著客服啊,要學會溝通啊。有次打電話時,一個前輩說我描述問題不清楚,後來自己就總結改進,怎樣才能清楚的描述一個問題,一個故障。

最後,我討厭上夜班 而且還是倒班。這樣根本就沒朋友。大多數時候都是一個人。所以要好好調節自己。監控值班也不能做太長了,會有心理問題的,對身體也不好~我實習兩個月,因為不習慣這種作息,導致急性胃炎。。。無語。

希望對你有用。

————————————————

補充:

1.監控可以看多很多「奇奇怪怪」的告警,一般這時候,你就可以看到很多新東西了,然後自己去玩一下,又會學到一點。

2.監控的話,最好是在大點的互聯網公司,因為大公司業務複雜,基礎環境也多,學的就會多點。


啊...我一入職就是從工程師開始了,因為我們公司根本就沒人,學歷好一點的都直接從工程師做起了(手動拜拜)

首先是運維也分什麼樣的啊,一般是看公司是什麼類型的,比如上面有一個答案說的在我概念里是就是IT Support 的工作,嗯因為我完全不懂...題主說的是網路工程師的話,我覺得應該還是CCIE那一套吧。

以電信營運商來說,如果真從來沒接觸過的話,的確是應該從"監控"開始吧

因為一般人是不會在入行前知道什麼是波分,PTN,SDH,PON等等的知識....

跟IP Network不一樣,起碼是有CCNA做入門啊,然而我當年想找個SDH的科學視頻直接跪在鍵盤上......不過現在已經可以得到vendor工程師的"就算你(答主)來設計也比這個好!"的稱讚辣!

以我為例,剛入職真是灰常糟糕,因為本身並不太了解,花了半年時間才把很多名詞和一些基本的東西記住,同時補上CCNA的內容,一年後同時有幾個同事離職,本來一直只做線路整理的我突然要把PTN跟SDH都接上手,於是只剩兩個人的情況下瞬間就硬著頭皮把所有東西都接下來做了...

現在其實水平可能就比一般T4好一點點,不過你能想像一家電信營運商就靠幾個年輕沒經驗支撐著么....我也是服了我們了

工作不到兩年後我們OMC部門已經成為CEO口中"全公司唯一有技術"的部門,然而我們只有4個人,其中我跟另一位都是畢業不到兩年.....我覺得我們部門真的好強了

不過我們是完全不做服務器啊數據庫啊各種其他的,在我們公司那都是IT的活

還有一個Data Center,就專門做數據分析的更不關我們事了,他們兩個部門都是沒"運維"一說的,因為大小都是工程師自己包著一起干。

另外NOC(就是題主口中的監控部門在我們公司的角色)的人其實也比較慘...學不到太多的東西,還沒什麼晉升機會,比較有希望的根本就坐不住離職了,比較一般的都只能默默繼續一周都學不到多少東西的繼續干...挺慘的

不過個人覺得還是沒什麼前途,只有考證才能最快速的升高自己的薪金水平(兩張CCIE以上的都很搶手啊),其次才是工作經驗

當然像我那樣目標是管理層的話,除了看技術還得看你口才跟做人了。


mark,待我整理一下思路!稍後回答:

運維監控是什麼鬼?這不是一個職業,只是一項工作分支而已!

對運維的總結:

以下是我的工作歷程中總結出來的運維經驗,中間走了很多的彎路,希望能給你有所幫助吧!

初階:

你需要承擔並熟悉以下工作:

1、各類linux系統安裝調試。比如:redhat、centos等等

2、各類開源軟體的部署安裝調試,這就多了,分了很多的小類,以下是我曾經涉及到的部分。

a、監控軟體:zabbix、cacti等

b、web伺服器類:apache、nginx、tomcat等等

c、資料庫類:mysql、Oracle等等

d、分散式文件系統:MooseFS、hdfs等等

e、網路文件系統:NFS等等,記不太清楚了。

f、PHP的各類插件的安裝,等等。

g、各類緩存軟體:memcache,redis等等

h、各類備份軟體:例如bacula

3、掌握並熟悉以下的簡單架構:

a、LAMP:linux+apache+mysql+php

b、LNMP:linux+nginx+mysql+php

c、LNAMP:linux+nginx+apache+mysql+php

d、主要是深入理解之後根據實際情況搭建而已,類似的還有很多

4、至少掌握如下幾個語言或者技巧:

a、正則表達式

b、sql

c、shell

d、熟練的linux命令

5、熟悉以下概念,並且實際應用:

a、高可用:keepalived

b、負載均衡:LVS、nginx反向代理、MHA等等

c、讀寫分離:mysql

d、同步、非同步;阻塞、非阻塞

6、基礎網路支持以及防火牆配置

a、例如思科防火牆配置,作為一個網路工程師應該難不倒你。

7、溝通能力

a、與研發、測試以及有的時候的產品的溝通能力

b、與同事的溝通能力

8、強大的自主學習能力以及搜索與克服困難的能力

a、利用各大論壇以及搜索引擎吸取知識和解決問題

b、自我總結與提高

c、遇到困難永不放棄,並且敢於嘗試和變通

9、基礎運維工作:

a、程序或者功能上線

b、測試環境搭建

c、給同事安裝系統(windows)

d、幫著干體力活

e、還有人向你借鉗子和螺絲刀

f、你特么還要會修電腦

g、手機你也要會修,還必須會貼膜

以上!

總結:可能寫的不全,但是臨時只能寫這些了,當然在實際工作過程中會遇到更多的問題與困難。

以上的能力與知識是需要你在工作崗位上獲得的,如果一個工作崗位無法讓你獲得以上的內容,說明

這個工作崗位並不是一個理想的運維崗位,你需要斟酌。

進階:自動化運維-我也在學習中,由於沒有太多經驗,不便多說,也說不出來。

以上是膚淺 的第一階段,不過也是必須經歷的基礎,目前已經逐漸跳進了自動化運維的坑。

希望經過一段時間的學習之後能夠再總結出來,給大家看看。


二線城市的運維沒有想得這麼美好。入坑需慎重。以前的虛擬化工程師能拿一二萬。現在只有4.5K了。如果從零開始。建議去研發。運維的坑也很深。當然踩過的坑是自己的經驗。也可以去試試。但是效果不怎麼大。


運維是從重啟開始的!

不知道公司到多大,會招人只負責看監控,那真的沒啥意思。

一般都是通過監控發現問題,然後提出解決方案。

更一般的是監控都是運維搭起來的並不斷改進。

具體的技術想學沒什麼難的,當然我說的是複製別人成功的解決方案的技術。


推薦閱讀:

這個世界上是否存在過被 rm(1) 命令毀滅了的公司?
空閑伺服器能用來做什麼?你有什麼使用伺服器的有趣經歷嘛?
怎樣寫 bash 腳本批量重命名文件?

TAG:運維 | 運維工程師 | Linux運維 |