<button id="hu96j"><acronym id="hu96j"></acronym></button><dd id="hu96j"><pre id="hu96j"></pre></dd>
        <video id="hu96j"><font id="hu96j"><th id="hu96j"></th></font></video>
          <nav id="hu96j"></nav>
        <tbody id="hu96j"><center id="hu96j"><video id="hu96j"></video></center></tbody>

      1. <dd id="hu96j"><track id="hu96j"></track></dd>

        <dd id="hu96j"></dd>
        <rp id="hu96j"><acronym id="hu96j"></acronym></rp>
      2. <button id="hu96j"></button>

        • 保存到桌面加入收藏設為首頁
        IDC話題

        從100臺以下到1000+臺服務器的運維思路變遷

        時間:2017-08-17 11:12:11   作者:顧凱   來源:精碩科技   閱讀:44434   評論:0
        內容摘要:常說一千個人心中有一千個哈姆雷特,一千個運維的心中有一千種運維的方法,沒有一個方法是萬能的、可以適用所有的場景,具體問題還得具體分析,我將這五年的經歷大致分了三個階段:
                從幾十臺到幾千臺服務器的運維過程中,監控系統的變遷經歷。常說一千個人心中有一千個哈姆雷特,一千個運維的心中有一千種運維的方法,沒有一個方法是萬能的、可以適用所有的場景,具體問題還得具體分析,我將這五年的經歷大致分了三個階段:
        第一階段:200臺以下
        第二階段:200~1000臺
        第三階段:1000+(1000以上和2000以上沒啥區別了)
        每個階段的分界點也不是那么精確的,就是一個大概的時期,變化都是一個逐漸的過程。

        一、 機器數量小于200臺的階段


                這個時期需求簡單,主要用于通知問題、快速定位解決問題,大致總結一下,主要需求就三點:
                1. 簡單,易用;
                2. 穩定運行;

                3. 能夠報警,郵件,短信。


                基于以上需求,可以使用比較流行開源的監控軟件Nagios,Cacti,Zabbix,Ganglia,etc。流行的開源產品有較多的文檔,可快速上手,并且有大量的前人使用經驗,可以避免許多問題,即使遇到問題也容易找到解決辦法。其中郵件報警一般是都支持的,短信需要自己對接一下短信平臺。
         
                我們在早期的時候選擇了Nagios和Cacti,選擇Nagios主要是個人原因,我最熟悉,使用Cacti是因為對交換機的監控特別方便,幾乎是傻瓜式的。其實在這個階段,不管是哪一個監控產品,基本都可以滿足需求,選擇的因素還是看個人喜好,這個時期運維同學是可以偶爾任性一下的。

        二、機器數量200到1000的階段
         
                這個時期,需求開始變得復雜,不過主要還是用于通知、告警,避免同樣的問題再次發生,我在這個時期主要做了以下事情:
         
                1. 統一監控內容:將基礎監控進行統一,默認每個機器都包含CPU,內存,磁盤空間等基礎信息監控;
         
                2. 覆蓋式監控:將所有機器均納入監控,除去基礎監控以外,最重要的當屬業務監控,盡可能的覆蓋業務流程,通過自定義監控減少和去除重復的問題,保障業務穩定運行。
         
                3. 及時通知,確保無漏報:將所有監控分類,根據重要程度、緊急程度等,分別用郵件,微信,短信,電話等不同級別的方式通知,確保每個監控都有人處理,并且對于重要的業務采用call死你的方式,不處理就一直通知。
                在這個時期對Nagios進行了深入的研究,編寫自定義腳本、大量增加各種監控項,將Nagios大部分的插件如nrpe、nsca和功能充分使用。
         
                隨著機器越來越多,需要監控的服務也越來越多,告警信息出現爆發式增長,每天收到上千封報警郵件。有個小插曲,我應該是第一個將騰訊企業郵箱撐爆的人,不是容量撐爆了,是郵件的數量超過了他們數據庫的最大值,導致我在一周內沒辦法收發郵件,也沒辦法刪除。
         
                這個階段的后期,也就是快接近1000臺機器的時候,Nagios的監控功能已經無法滿足需求了,并且Nagios圖形功能總是捉襟見肘,于是開始思考超過1000臺的情況了,擺在面前的路有兩條:
                1. 根據自己的需求繼續深度開發Nagios;

                2. 自建監控。


                這時候有些朋友會想:換一個別的開源監控就能解決了。使用開源軟件的最大問題就是,這個軟件有什么功能你才能用什么功能,沒有的功能要么自己開發,要么放棄使用,大量報警只是一個改變的轉折點,經過長時間的使用和積累,通用的、普適的開源監控產品已經不能完全滿足龐大復雜的需求了。
         
                經過很長一段時間的慎重考慮,我決定自己搞一套監控系統,其實也是因為之前深入了解Nagios的整體架構和運作模式,覺得自己做一套也不是不可能的。

        三、機器數量超過1000臺的階段


                經過前期的思索和準備,到這個階段開始開發自己的監控系統,解決痛點,完成需求,主要有幾個事情:

                1. 具備目前在用的Nagios所有功能:比照Nagios去做,覆蓋原來的功能,并針對Nagios的問題進行優化改進,然后在替代了Nagios之后再升級。(第一步最重要了,如果連之前的Nagios的功能都不能替代,自建之路只能在這里就停下了。)
         
                 2. 將告警進行整理,化繁為簡,減少重復告警:當出現轟炸式告警信息之后,如果不進行及時整理勢必會將真正需要處理的事情耽誤,并且由于某些原因,比如線路問題,會發生重復告警,所以必需要將告警信息進行處理再發出,預警信息由之前的每天3000+,下降到現在每天300以內。

                 3. 分離告警和顯示:前面的監控系統,基本上告警功能和顯示功能均在一起,不同機房的信息也需要匯總在中心節點后統一顯示和告警。重要的告警的處理是分秒必爭的,也跟界面顯示無關,所以我在設計的時候將顯示和告警功能進行了一次分離,在本地機房進行報警,然后再集中展示。
         
                  4. 分布式部署,避免單點:每個機房設置一個分節點,就是上面說的報警節點,設置一個中心節點,先在各個機房告警,然后匯總在中心展示。分節點與中心節點互備,通過智能DNS進行切換,如中心節點宕機,DNS自動切換到一個分中心節點,分節點升級為中心節點。
        分布式節點切換示意圖從100臺以下到1000+臺服務器的運維思路變遷


        IDCsped 提供最新的IT互聯網資訊,本著分享、傳播的宗旨,我們希望能幫助更多人了解需要的信息!

        部分文章轉載自互聯網、部分是IDCsped原創文章,如果轉載,請注明出處:www.idcsped.com !
        微信號:13430280788  歡迎加微信交流!

        標簽:運維1000臺服務器    
        相關評論

        銷售電話:13430280788

        Copyright © 2012-2017 | www.idcsped.com 版權所有

          粵公網安備 44010502001126號  粵ICP備12006439號-1
        Powered by OTCMS V3.61
        日韩欧美永久中文字幕视频
          <button id="hu96j"><acronym id="hu96j"></acronym></button><dd id="hu96j"><pre id="hu96j"></pre></dd>
            <video id="hu96j"><font id="hu96j"><th id="hu96j"></th></font></video>
              <nav id="hu96j"></nav>
            <tbody id="hu96j"><center id="hu96j"><video id="hu96j"></video></center></tbody>

          1. <dd id="hu96j"><track id="hu96j"></track></dd>

            <dd id="hu96j"></dd>
            <rp id="hu96j"><acronym id="hu96j"></acronym></rp>
          2. <button id="hu96j"></button>