隨間互聯網、雲計算的飛速發展,愈來愈多的企業系統架構愈來愈複雜,且迭代的速度也爲之迅速。隨着業務量、流量的增加,龐大的業務系統架構即將面臨一系列的問題,【14個Linux系統安全小妙招,總有一招用的上!】同時也是企業飛速發展所需解決的痛點。mysql
不只企業管理者面臨的問題,同時也給企業的技術人員帶來必定維護壓力,一個行之有效監控體系迫在眉睫。ios
畫外音:這也就解釋了爲何愈來愈多的企業都在使用監控系統。web
簡單來講,監控系統就是一套解決應用、服務或系統故障發現、故障預警、故障定位,運行狀態展現等多種功能融合一體的一個解決文案。也能夠稱之爲一套系統。面試
監控系統是整個運維環節,乃至整個產品生命週期中最重要的一環,事前及時預警發現故障,過後提供翔實的數據用於追查定位問題。監控系統做爲一個成熟的運維產品,業界有不少開源的實現可供選擇。redis
對於使用監控來講,首先,得確立目標是什麼,須要達到什麼的效果,這纔是重點。筆者根據實際工做經驗總結以下:算法
一、收集數據sql
二、存儲數據shell
三、展現數據數據庫
四、故障報警segmentfault
五、告警處置
瞭解完監控的目標、流程以後,還須要瞭解到底監控哪些內容?也就是被監控的對象是哪些。通常實際環境中基本監控能夠分爲如下幾種,以下。
一、CPU監控
二、磁盤監控
三、內存監控
四、網絡監控
五、系統重要進程監控
六、應用服務監控
七、硬件設備監控
以往對設備監控這塊,咱們單憑肉眼觀察其狀態燈的變化與變化頻率來判斷的時代一去不復返了,劣勢你們都知道:重複、繁重、效率低下,並且還不適用於大規模設備集羣。
八、安全監控
安全監控通常使用第三方接收較多,我的開發或開源產品很少。
九、API接口監控
複雜的、大型系統中API監控很是重要,主是針對監控API接口GET、POST、PUT等請求。
圖片來源於網絡
下面介紹下,目前平常實際環境中經常使用的一些監控工具。每一個工具的功能、特性都各有千秋,也因如此,都有着不一樣的應用場景。目前,實際環境應用最多的無非兩大類:開源產品、商用產品。
7.1 開源產品
一、Cacti
官方網站:http://www.cacti.net
發佈於2001年, Cacti 是一款開源的基於PHP、MySQL、SNMP及RRDTool開發的網絡流量監測圖形分析工具。它經過snmpget來獲取數據,使用 RRDtool繪畫圖形,它的界面很是漂亮,能讓你根本無需明白rrdtool的參數能輕易的繪出漂亮的圖形。並且你徹底能夠不須要了解RRDtool複雜的參數。它提供了很是強大的數據和用戶管理功能,能夠指定每個用戶能查看樹狀結 構、host以及任何一張圖,還能夠與LDAP結合進行用戶驗證,同時也能本身增長模板,讓你添加本身的snmp_query和script!功能很是強大完善,界面友好。
注:目前使用很少。
二、Nagios
Nagios是一款開源的企業級監控系統,可以實現對系統CPU、磁盤、網絡等方面參數的基本系統監控,以及 SMTP,POP3,HTTP,NNTP等各類基本的服務類型。另外經過安裝插件和編寫監控腳本,用戶能夠實現應用監控,並針對大量的監控主機和多個對象 部署層次化監控架構。
注:Nagios配置靈活,能夠自定義shell腳本,但配置複雜,學習時間、精力和成本比較大。
三、Grafana
官方網站:http://grafana.org/
Grafana目前使用比較普遍,它的數據可視化的展現功能很是強大,咱們能夠經過influxdb監控,Prometheus採集的主機信息,並且還不須要安裝任何繪圖插件,只須要將須要的數據加入到它的數據源中便可,而後經過內置的插件來展現你所須要的數據。
注:圖形化界面很是酷炫,配置稍複雜,須要瞭解其內部算法。
四、Zabbix
Zabbix是一個基於WEB界面的提供分佈式系統監控以及網絡監控功能的企業級開源運維平臺,也是目前國內互聯網用戶中使用最廣的監控軟件,雲智慧遇到的85%以上用戶在使用Zabbix作監控解決方案。
Zabbix易於管理和配置,能生成比較漂亮的數據圖,其自動發現功能大大減輕平常管理的工做量,豐富的數據採集方式和API接口可讓用戶靈活進行數據採集,而分佈式系統架構能夠支持監控更多的設備。理論上,經過 Zabbix提供的插件式架構,能夠知足企業的任何需求。
注:入門容易、上手簡單、功能強大而且開源免費,特別是其自動發現功能很是強大。數據統計功能須要二次開發。
五、Open-falcon (小米開源產品)
Open-falcon是小米運維團隊從互聯網公司的需求出發,根據多年的運維經驗,結合SRE、SA、DEVS的使用經驗和反饋,開發的一套面向互聯網的企業級開源監控產品。
六、Lepus(天兔)
官方網站:http://www.lepus.cc/
簡潔、直觀、強大的開源數據庫監控系統。
Lepus監控系統部署配置:強大的開源企業級數據庫監控利器Lepus
MySQL/Oracle/MongoDB/Redis一站式性能監控,企業級數據庫監控工具首選。
注:中文開源軟件,監控mysql和redis能夠精確到sql語句,由於只有監控數據庫和非關係數據庫,監控項不能統一,不能結合其餘監控平臺,適用範圍較小。
7.2 商用產品
一、聽雲
官方網站:http://www.tingyun.com
聽雲是幫助客戶實時監控定位從崩潰報錯、慢交互到網絡環境出錯等多維度複雜的性能問題。聽雲致力於用戶視角的IT管理創新服務,爲不一樣行業提供最終用戶端到端的完整應用鏈的性能管理解決方案,幫助客戶不斷優化系統性能及用戶體驗,提升用戶滿意度和企業競爭力。
二、監控寶
官方網站:http://www.jiankongbao.com
監控寶是雲智慧爲用戶提供IT性能監控(IT Performance Monitoring)的SaaS產品,包含網站監控、服務器監控、中間件監控、數據庫監控、應用監控、API監控和頁面性能監控等功能。包含免費版、暢 享版和企業版,目前用戶約40萬,監控寶app也是國內惟一提供移動監控服務的產品。
注:監控寶經過遍及全球的300多個分佈式監測節點,對網絡進行穩定性和可用性的主動監控和實時分析,支持http(https)、ftp、ping、udp、tcp、smtp、traceroute等多種協議,測量CDN效果及DNS狀態,全網全地域性能趨勢分析。最大的缺點就是收費!
三、阿里雲監控
官方網站:https://aliyun.com
阿里雲監控是一款免費網站監控產品,可監控站點和服務器,並提供多種告警方式:短信,旺旺,郵件。
注:只限阿里產品。
8.總結(附思惟導圖)
最終使用何種監控產品,監控方法,監控流程等,一切都須要以實際生產環境需求爲主。
架構也是不斷在演變的過程,隨着業務系統的迭代而迭代。此文章不必定適合全部的企業架構,好比說:大數據量、大規模業務流量、對預警有較高要求的場景。
本文只是對監控體系作一個初步的宏觀的基礎介紹與認識,讓你們知道一個監控體系或監控平臺如何從0到1的一個演變過程。建設監控告警是一條持續且漫長的路,坑也不少,本文介紹的一些基本的方法和規律仍然是能夠遵循的。
同時,也歡迎小夥伴們留言分享你的運維監控體系構建之路上的點點滴滴!
注:須要此圖原版文件的可聯繫民工哥。
點擊--> 民工哥技術之路 關注微信公衆號,對話框回覆關鍵字:1024 能夠獲取一份最新整理的 2048G 技術乾貨:包括系統運維、數據庫、redis、MogoDB、電子書、Java基礎課程、Java實戰項目、架構師綜合教程、架構師實戰項目、大數據、Docker容器、ELK Stack、機器學習、BAT面試精講視頻等。