【小米開源監控系統】open-falcon

來源:互聯網
上載者:User

標籤:open-falcon

1)優勢

·強大靈活的資料擷取:自動探索,支援falcon-agent、snmp、支援使用者主動push、使用者自訂外掛程式支援、opentsdb data model like(timestamp、endpoint、metric、key-value tags)·水平擴充能力:支援每個周期上億次的資料擷取、警示判定、曆史資料存放區和查詢·高效率的警示策略管理:高效的portal、支援原則範本、模板繼承和覆蓋、多種警示方式、支援callback調用·人性化的警示設定:最大警示次數、警示層級、警示恢複通知、警示暫停、不同時段不同閾值、支援維護周期·高效率的graph組件:單機支撐200萬metric的上報、歸檔、儲存(周期為1分鐘)·高效的曆史資料query組件:採用rrdtool的資料歸檔策略,秒級返回上百個metric一年的曆史資料·dashboard:多維度資料展示,使用者自訂Screen·高可用:整個系統無核心單點,易營運,易部署,可水平擴充·開發語言: 整個系統的後端,全部golang編寫,portal和dashboard使用python編寫

2)架構圖

2.1)官網架構圖

2.2)網友所畫架構圖

2.3)基礎組件


組件名稱(繪圖組件)
功能 備忘
agent

1.agent採集機器監控指標,每隔60秒push給Transfer

2.agent和tranfer建立長串連,傳輸資料比較快

3.agent提供了一個http介面/v1/push接收使用者手工push資料,然後轉寄給tranfer


graph

1.graph組件是儲存繪圖資料、曆史資料的組件

2.tranfer會把接收到的資料轉寄給granph

  1. 可部署多執行個體做叢集

  2. 需要串連資料庫graph

transfer 1.接收agent傳來的資料,轉寄資料到後端的Graph和Judge
query 1.查詢各個graph資料,提供了一個統一的http查詢介面:query組件接收到使用者的查詢請求後,會從後端的多個graph,查詢相應資料,彙總後,在返回給使用者
Task
  1. index更新;包括表徵圖索引的"全量更新"和"垃圾索引清理"

  2. falcon服務元件自身狀態資料擷取;主要採集tranfer、graph、task三個服務的內部狀態

  3. falcon自檢控任務

1.需要串連graph庫
dashboard 前端介面
  1. 需要python虛擬環境

  2. 需要串連資料庫dashboard

組件名稱(警示組件)
功能 備忘
Sender 1.警示發送模組,控制並發度,提供發送的緩衝queue
uic(fe) 1.使用者組管理,單點登入 1.需要串連資料庫uic
portal 1.配置警示策略,管理機器分組的web端
  1. 需要串連資料庫falcon-portal

  2. 需要python虛擬環境

hbs 1.心跳伺服器:hbs有2個地址,1個http地址,agent和hbs的rpc地址通訊 1.需要串連falcon-portal庫
judge 1.警示判斷模組,judge依賴於HBS,所以得先搭建HBS 1.可部署多執行個體
links 1.Links是為警示合并功能寫的組件。如果你不想使用警示合并功能,這個組件是無需安裝的 1.需要串連falcon_links
alarm 1.警示事件處理器 1.alarm模組是處理警示event的,judge產生的警示event寫入redis,alarm從redis讀取,這個模組被業務搞得很糟亂,各個公司可以根據自己公司的需求重寫
Nodata 1.nodata用於檢測監控資料的上報異常。nodata和即時警示judge模組協同工作,過程為: 配置了nodata的採集項逾時未上報資料,nodata產生一條預設的類比資料;使用者配置相應的警示策略,收到mock資料就產生警示。採集項上報異常檢測,作為judge模組的一個必要補充,能夠使judge的即時警示功能更加可靠、完善
Aggregator 1.叢集彙總模組。彙總某叢集下的所有機器的某個指標的值,提供一種叢集視角的監控體驗

3)安裝

*環境配置***安裝redis**源碼和rpm包都可以,視情況而定**安裝mysql**1.源碼和rpm包都可以,視情況而定2.初始化mysql表結構*mysql -uroot -proot < 1_uic-db-schema.sql/2_portal-db-schema.sql/3_dashboard-db-schema.sql/4_graph-db-schema.sql/5_alarms-db-schema.sql/links-db-schema.sql*********************************************************************************************************************************************後端配置***下載官方源碼包**1.下載open-falcon-v0.2.1.tar.gz、open-falcon-v0.2.0.tar.gz2.解壓到/home/work/open-falcon3.修改設定檔,一般都是需要指定"資料庫密碼"4.啟動open-falcon:./open-falcon start(啟動全部服務)  ./open-falcon check(檢查服務啟動狀態)*******************************************************************************************************************************************前端配置***下載源碼包**1.git clone 2.安裝依賴包:python-devel、openldap-devel、mysql-devel、virtualenv(python官網下載tar包)、yum groupinstall "Development tools"3.安裝前端flask模組:cat pip_requirements.txt Flask==0.10.1 Flask-Babel==0.9 Jinja2==2.7.2 Werkzeug==0.9.4 gunicorn==19.1.1 python-dateutil==2.2 requests==2.3.0 mysql-python python-ldap4.修改rrd/config.py設定檔 ## 根據實際情況,修改PORTAL_DB_*, 預設使用者名為root,預設密碼為"".還有資料庫主機 ## 根據實際情況,修改ALARM_DB_*, 預設使用者名為root,預設密碼為"",還有資料庫主機 ##  API_ADDR = os.environ.get("API_ADDR","http://10.59.2.133:8080/api/v1"),此處需要改為open-falcon的服務端ip5.啟動dashboard ./control start

4)監控用戶端主機

1.解壓open-falcon-v0.2.0.tar.gz2.修改agent設定檔 "heartbeat": {    "enabled": true,    "addr": "10.59.2.133:6030",  #服務端ip    "interval": 60,    "timeout": 1000},"transfer": {    "enabled": true,    "addrs": [        "10.59.2.133:8433"  #服務端ip    ],    "interval": 60,    "timeout": 1000    3.啟動agent服務即可 ./open-falcon start agent即可 *查看日誌:agent.log是否正常*


【小米開源監控系統】open-falcon

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.