open-falcon架構(gòu)介紹

open-falcon整體架構(gòu)

下圖是open-falcon的整體架構(gòu),模塊比較多,可以看完整篇文章介紹再回頭看這個(gè)架構(gòu)圖。

image

簡化版架構(gòu)圖

簡化的falcon基本工作流程可描述如下圖所示:

image

下面就根據(jù)這個(gè)簡化版流程圖,介紹下open-falcon到底是怎么工作的。

agent

功能:數(shù)據(jù)采集上報(bào),部署在每臺物理機(jī)上。
數(shù)據(jù)到底是什么樣的?

{
        'endpoint': hostname-of-machine,
        "metric": cpu.busy,
        "timestamp": 1540286013,
        "value": 1.234
}

注:為了簡化,進(jìn)行了字段精簡

怎么采集?
基本上都是通過解析linux系統(tǒng)目錄/proc下的文件,舉例:

cpu: /proc/stat
load: /proc/loadavg
net: /proc/net/dev

怎么上報(bào)?
定時(shí)采集(默認(rèn)每分鐘一次),采集完通過rpc調(diào)用,發(fā)送給transfer模塊

transfer

主要功能:數(shù)據(jù)轉(zhuǎn)發(fā)
啥叫數(shù)據(jù)轉(zhuǎn)發(fā)?到底干啥的?

接收數(shù)據(jù)->非法數(shù)據(jù)過濾->緩存在內(nèi)存中->發(fā)送給不同模塊(graph、judge、opentsdb)

graph

功能:基于環(huán)形數(shù)據(jù)庫rrdtool,存儲監(jiān)控?cái)?shù)據(jù),并提供查詢接口
rrdtool是啥玩意?

1\. 存儲數(shù)據(jù)之時(shí),設(shè)置了數(shù)據(jù)保存的時(shí)間,比如一個(gè)月,超過一個(gè)月的數(shù)據(jù)會被刪除。
2\. 數(shù)據(jù)以文件的形式存儲在磁盤上

rrdtool數(shù)據(jù)的底層結(jié)構(gòu)是啥?

數(shù)據(jù)保存在以rrd結(jié)尾的文件中,內(nèi)容格式為 時(shí)間戳:值,舉例如下:
1540286013  1.12
1540286073  2.34
1540286133  1.35

是不是很簡單

怎么查詢數(shù)據(jù)?
假設(shè)要查詢hostname1,最近30分鐘,load情況

1\. 根據(jù)查詢參數(shù)生成文件名:hostname1_load.rrd
2\. 讀取這個(gè)文件內(nèi)容并返回時(shí)間戳為30分鐘之內(nèi)的數(shù)據(jù)

注:這里對文件名規(guī)則進(jìn)行了簡化

judge

功能:根據(jù)配置的報(bào)警策略,判斷是否需要報(bào)警
策略是什么樣的?
以hostname為維度,保存每個(gè)機(jī)器配置的所有策略

hostname:[策略1,策略2,...,策略n]

策略舉例:

all(#3) load > 20

意思是:連續(xù)三次負(fù)載超過20就報(bào)警

報(bào)警怎么發(fā)出去?
根據(jù)策略,將需要報(bào)警的事件寫入redis。由alarm模塊定期讀取并發(fā)送出去
寫入redis的數(shù)據(jù)可簡化如下:

{
  'hostname': 'hostname-of-machine',
  '時(shí)間':1540286013,
  '值':1.234
  '策略':'all(#3) load > 20 報(bào)警接收人:張三',
  '報(bào)警次數(shù)':'第三次報(bào)警'
}

注:為方便理解,對真實(shí)的結(jié)構(gòu)進(jìn)行了改造

alarm

功能:報(bào)警發(fā)送
這個(gè)模塊比較簡單,主要實(shí)現(xiàn)以下功能:

1.格式化報(bào)警內(nèi)容
2.簡單的報(bào)警合并
3.報(bào)警發(fā)送:短信、郵件、IM

最后附上一個(gè)官網(wǎng)的完整架構(gòu)

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容