面試裝逼系列|這篇文章,讓運維監控不再成爲你的短板!

圖片

1.前言

隨間互聯網、雲計算的飛速發展,越來越多的企業系統架構越來越複雜,且迭代的速度也爲之迅速。隨着業務量、流量的增長,龐大的業務系統架構即將面臨一系列的問題,同時也是企業飛速發展所需解決的痛點。

  • 複雜龐大的業務系統架構,給運行維護增加一定的難度與複雜度。

  • 大量服務應用、模塊的API接口的狀態運行情況需要監測。

  • 各類監控數據的收集、分析、整理耗時、費力,統一展示(可視化)需求迫切。

  • 業務系統運行狀態週報、月報數據難以統計、導出。

  • 故障點的快速發現與定位,減少業務中斷率勢在必行。

不僅企業管理者面臨的問題,同時也給企業的技術人員帶來一定維護壓力,一個行之有效監控體系迫在眉睫
畫外音:這也就解釋了爲什麼越來越多的企業都在使用監控系統。

2.什麼是監控系統

簡單來說,監控系統就是一套解決應用、服務或系統故障發現、故障預警、故障定位,運行狀態展示等多種功能融合一體的一個解決文案。也可以稱之爲一套系統。
監控系統是整個運維環節,乃至整個產品生命週期中最重要的一環,事前及時預警發現故障,事後提供翔實的數據用於追查定位問題。監控系統作爲一個成熟的運維產品,業界有很多開源的實現可供選擇。

3.監控系統的目標

對於使用監控來說,首先,得確立目標是什麼,需要達到什麼的效果,這纔是重點。筆者根據實際工作經驗總結如下:

  • 對系統、服務或平臺的運行狀態實行實時不間斷監控

  • 不間斷實時反應系統、服務或平臺的運行狀態信息

  • 提前預知可能存在的故障風險

  • 實現故障預警報警功能

  • 通過監控數據快速定位故障原因

  • 最終保證系統持續、穩定、安全運行

  • 狀態數據可視化與統計、導出、歸檔(歷史數據可追溯)

4.如何使用監控

  • 首先需要了解被監控對象的運行、工作原理與過程

  • 確立需要監控被監控對象的哪些指標,如:服務的可用性、端口狀態,網卡的內外流量等

  • 定義監控閥值報警範圍、報警等級,如:內存可用剩餘多少需要報警?磁盤空間使用率達到多少需要報警?

  • 建立完善的故障處理流程體系,如:緊急故障、非緊急故障、一般故障等處理方法與流程

5.監控流程

1、收集數據
  • 通過什麼方式收集數據?

  • 收集哪些數據?

2、存儲數據
  • 存儲數據的介質,如:MySQL數據庫

  • 存儲數據的時限,如:歷史數據的保留時長

3、展示數據
  • 以何種方式展示,如:web界面?開發APP?

  • 展示哪些數據

4、故障報警
  • 電話報警

  • 郵件報警(目前流行)

  • 微信報警(目前流行)

  • 短信報警

  • 釘釘報警(目前流行)

5、告警處置
  • 根據故障等級處理:緊急、非緊急

  • 設定的故障處理預案

6.監控對象

瞭解完監控的目標、流程之後,還需要了解到底監控哪些內容?也就是被監控的對象是哪些。一般實際環境中基本監控可以分爲以下幾種,如下。

1、CPU監控
  • CPU整體使用情況:用戶態與內核態,空閒率等

  • 單個CPU的使用情況

2、磁盤監控
  • 磁盤容量:分區使用量(已用與可用容量)

  • 磁盤IO

  • 磁盤的數據讀寫效率

3、內存監控
  • 內存使用量:已用、可用

4、網絡監控
  • 內網卡出入流量

  • 外網卡出入流量

  • TCP狀態

    圖片

5、系統重要進程監控
  • 系統進程狀態

  • 系統服務進程開銷

6、應用服務監控
  • 應用的進程狀態

  • 應用端口狀態

  • 一些個性化的需求

7、硬件設備監控
以往對設備監控這塊,我們單憑肉眼觀察其狀態燈的變化與變化頻率來判斷的時代一去不復返了,劣勢大家都知道:重複、繁重、效率低下,而且還不適用於大規模設備集羣。
  • 路由器狀態

  • 交換機狀態

  • 服務器狀態

8、安全監控

安全監控一般使用第三方接收較多,個人開發或開源產品不多。

  • ***

  • 漏洞

9、API接口監控

複雜的、大型系統中API監控非常重要,主是針對監控API接口GET、POST、PUT等請求。

圖片

圖片來源於網絡

  • 接口可用性

  • 接口的正確性

  • 接口的響應時間

7.監控工具介紹

下面介紹下,目前日常實際環境中常用的一些監控工具。每個工具的功能、特性都各有千秋,也因如此,都有着不同的應用場景。目前,實際環境應用最多的無非兩大類:開源產品、商用產品。

7.1 開源產品

1、Cacti

官方網站:http://www.cacti.net

圖片

發佈於2001年, Cacti 是一款開源的基於PHP、MySQL、SNMP及RRDTool開發的網絡流量監測圖形分析工具。它通過snmpget來獲取數據,使用 RRDtool繪畫圖形,它的界面非常漂亮,能讓你根本無需明白rrdtool的參數能輕易的繪出漂亮的圖形。而且你完全可以不需要了解RRDtool複雜的參數。它提供了非常強大的數據和用戶管理功能,可以指定每一個用戶能查看樹狀結 構、host以及任何一張圖,還可以與LDAP結合進行用戶驗證,同時也能自己增加模板,讓你添加自己的snmp_query和script!功能非常強大完善,界面友好。

圖片

注:目前使用不多。

2、Nagios

官方網站:https://www.nagios.org/

Nagios是一款開源的企業級監控系統,能夠實現對系統CPU、磁盤、網絡等方面參數的基本系統監控,以及 SMTP,POP3,HTTP,NNTP等各種基本的服務類型。另外通過安裝插件和編寫監控腳本,用戶可以實現應用監控,並針對大量的監控主機和多個對象 部署層次化監控架構。

圖片

注:Nagios配置靈活,可以自定義shell腳本,但配置複雜,學習時間、精力和成本比較大。

3、Grafana

官方網站:http://grafana.org/

相關文章:打造高逼格、可視化的Docker容器監控系統平臺

圖片

Grafana目前使用比較廣泛,它的數據可視化的展示功能非常強大,我們可以通過influxdb監控,Prometheus採集的主機信息,而且還不需要安裝任何繪圖插件,只需要將需要的數據加入到它的數據源中即可,然後通過內置的插件來展示你所需要的數據。

注:圖形化界面非常酷炫,配置稍複雜,需要了解其內部算法。

4、Zabbix

官方網站:https://www.zabbix.com/

部署配置:Linux系統——zabbix監控軟件安裝佈署

Zabbix是一個基於WEB界面的提供分佈式系統監控以及網絡監控功能的企業級開源運維平臺,也是目前國內互聯網用戶中使用最廣的監控軟件,雲智慧遇到的85%以上用戶在使用Zabbix做監控解決方案。 

圖片

Zabbix易於管理和配置,能生成比較漂亮的數據圖,其自動發現功能大大減輕日常管理的工作量,豐富的數據採集方式和API接口可以讓用戶靈活進行數據採集,而分佈式系統架構可以支持監控更多的設備。理論上,通過 Zabbix提供的插件式架構,可以滿足企業的任何需求。

注:入門容易、上手簡單、功能強大並且開源免費,特別是其自動發現功能非常強大。數據統計功能需要二次開發。

5、Open-falcon (小米開源產品)

官方網站:http://open-falcon.org/

Open-falcon是小米運維團隊從互聯網公司的需求出發,根據多年的運維經驗,結合SRE、SA、DEVS的使用經驗和反饋,開發的一套面向互聯網的企業級開源監控產品。

圖片

  1. 自動發現,支持falcon-agent、snmp、支持用戶主動push、用戶自定義插件支持

  2. 支持每個週期上億次的數據採集、告警判定、歷史數據存儲和查詢

  3. 高效的portal、支持策略模板、模板繼承和覆蓋、多種告警方式、支持callback調用

  4. 單機支撐200萬metric的上報、歸檔、存儲

  5. 採用rrdtool的數據歸檔策略,秒級返回上百個metric一年的歷史數據

  6. 多維度的數據展示,用戶自定義Screen

  7. 通過各種插件目前支持Linux、Windows、Mysql、Redis、Memache、RabbitMQ和交換機監控。

6、Lepus(天兔)

官方網站:http://www.lepus.cc/    

簡潔、直觀、強大的開源數據庫監控系統。

Lepus監控系統部署配置:強大的開源企業級數據庫監控利器Lepus

圖片

MySQL/Oracle/MongoDB/Redis一站式性能監控,企業級數據庫監控工具首選。

注:中文開源軟件,監控mysql和redis可以精確到sql語句,因爲只有監控數據庫和非關係數據庫,監控項不能統一,不能結合其他監控平臺,適用範圍較小。

7.2 商用產品

1、聽雲

官方網站:http://www.tingyun.com

聽雲是幫助客戶實時監控定位從崩潰報錯、慢交互到網絡環境出錯等多維度複雜的性能問題。聽雲致力於用戶視角的IT管理創新服務,爲不同行業提供最終用戶端到端的完整應用鏈的性能管理解決方案,幫助客戶不斷優化系統性能及用戶體驗,提高用戶滿意度和企業競爭力。

圖片

2、監控寶

官方網站:http://www.jiankongbao.com

監控寶是雲智慧爲用戶提供IT性能監控(IT Performance Monitoring)的SaaS產品,包含網站監控、服務器監控、中間件監控、數據庫監控、應用監控、API監控和頁面性能監控等功能。包含免費版、暢 享版和企業版,目前用戶約40萬,監控寶app也是國內唯一提供移動監控服務的產品。

圖片

注:監控寶通過遍佈全球的300多個分佈式監測節點,對網絡進行穩定性和可用性的主動監控和實時分析,支持http(https)、ftp、ping、udp、tcp、smtp、traceroute等多種協議,測量CDN效果及DNS狀態,全網全地域性能趨勢分析。最大的缺點就是收費!

3、阿里雲監控

官方網站:https://aliyun.com 

阿里雲監控是一款免費網站監控產品,可監控站點和服務器,並提供多種告警方式:短信,旺旺,郵件。

圖片

注:只限阿里產品。

8.總結(附思維導圖)

最終使用何種監控產品,監控方法,監控流程等,一切都需要以實際生產環境需求爲主。

架構也是不斷在演變的過程,隨着業務系統的迭代而迭代。此文章不一定適合所有的企業架構,比如說:大數據量、大規模業務流量、對預警有較高要求的場景。

本文只是對監控體系做一個初步的宏觀的基礎介紹與認識,讓大家知道一個監控體系或監控平臺如何從0到1的一個演變過程建設監控告警是一條持續且漫長的路,坑也很多本文介紹的一些基本的方法和規律仍然是可以遵循的。

同時,也歡迎小夥伴們留言分享你的運維監控體系構建之路上的點點滴滴!

圖片

注:需要此圖原版文件的可聯繫民工哥。

如果此文章對你瞭解監控系統有所幫助,請轉發分享給更多需要的小夥伴,因爲他們面試也需要此裝逼指南壯膽!轉發支持也是創作的最大動力!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章