001.Open-Falcon簡介

一 Open-Falcon簡介

監控系統是整個運維環節,乃至整個產品生命週期中最重要的一環,事前及時預警發現故障,過後提供翔實的數據用於追查定位問題。監控系統做爲一個成熟的運維產品,相對成熟的解決方案有 Nigos、Zabbix、Cacti 。隨着業務規模的持續快速增加,監控的對象也愈來愈多,愈來愈複雜,監控系統的使用對象也從最初少數的幾個SRE,擴大爲更多的DEVS,SRE。這時候,監控系統的容量和用戶的「使用效率」成了最爲突出的問題。
隨着業務的快速發展,以及互聯網公司特有的一些需求,現有的開源的監控系統在性能、擴展性、和用戶的使用效率方面,已經沒法支撐了。
Open-Falcon具備如下更優的特性:
  • 強大靈活的數據採集:agent自動發現,支持falcon-agent、snmp、支持用戶主動push、用戶自定義插件支持;
  • 高水平擴展能力:支持每一個週期上億次的數據採集、告警斷定、歷史數據存儲和查詢;
  • 高效率的告警策略管理:高效的portal、支持策略模板、模板繼承和覆蓋、多種告警方式、支持回調動做;
  • 人性化的告警設置:最大告警次數、告警級別、告警恢復通知、告警暫停、不一樣時段不一樣閾值、支持維護週期,支持告警合併;
  • 高效率的graph組件:單機支撐200萬metric的上報、歸檔、存儲(週期爲1分鐘);
  • 高效的歷史數據query組件:採用rrdtool的數據歸檔策略,秒級返回上百個metric一年的歷史數據;
  • 人性化Dashboard:多維度的數據展現,用戶自定義Screen等;
  • 架構設計高可用:整個系統無核心單點,易運維,易部署,可水平擴展;
  • 開發語言: 整個系統的後端,所有golang編寫,portal和dashboard使用python編寫。

二 Open-Falcon架構

2.1 官方架構圖

01

2.2 模塊架構

02
備註:虛線所在的aggregator組件還在設計開發階段。
因此須要監控的每臺服務器,須要安裝falcon-agent,falcon-agent是一個golang開發的daemon程序,用於自發現的採集單機的各類數據和指標,這些指標包括但不限於如下幾個方面,共計200多項指標:
  • CPU相關
  • 磁盤相關
  • IO
  • Load
  • 內存相關
  • 網絡相關
  • 端口存活、進程存活
  • ntp offset(插件)
  • 某個進程資源消耗(插件)
  • netstat、ss 等相關統計項採集
  • 機器內核配置參數
提示:安裝了falcon-agent的機器,就會自動開始採集各項指標,主動上報,不須要用戶在server作任何配置(區別於Zabbix),這樣作的好處,就是用戶維護方便,覆蓋率高。
Falcon-agent提供了一個proxy-gateway,用戶能夠方便的經過http接口,push數據到本機的gateway,gateway會協助高效率的轉發到server端。
falcon-agent可參考 : https://github.com/open-falcon/agent

2.3 數據流程圖

03
參考官方: http://book.open-falcon.org/zh_0_2/intro/
相關文章
相關標籤/搜索