日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

openfalcon架构及相关服务配置详解

發(fā)布時間:2023/12/10 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 openfalcon架构及相关服务配置详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?

一:openfalcon組件

? ? ? ? ? ? ? ? ? ??

?

?

?

1.falcon-agent

? ? ? ?數(shù)據(jù)采集組件

  agent內(nèi)置了一個http接口,會自動采集預(yù)先定義的各種采集項,每隔60秒,push到transfer。

2.transfer

? ? ? ?agent與transfer建立長連接,將數(shù)據(jù)匯報給tarnsfer

? ? ? ?transfer默認(rèn)監(jiān)聽在:8433端口上,agent會通過jsonrpc的方式來push數(shù)據(jù)上來

? ? ? ?transfer將數(shù)據(jù)發(fā)送給judge和graph

3.graph

? ? ?graph組件是存儲繪圖數(shù)據(jù)、歷史數(shù)據(jù)的組件。transfer會把接收到的數(shù)據(jù),轉(zhuǎn)發(fā)給graph。

  監(jiān)聽端口為6071,校驗方法如下,返回ok表示服務(wù)正常。

? ? #url?-s?"http://127.0.0.1:6071/health"

4.query

? ? 繪圖數(shù)據(jù)的查詢接口,因為graph是分片存儲的,如果要傳輸給dashboard,就需要query組件收集用戶的數(shù)據(jù)進(jìn)行聚合再返回給用戶。

5.dashboard

 dashboard是面向用戶的查詢界面,在這里,用戶可以看到push到graph中的所有數(shù)據(jù),并查看其趨勢圖。

6.judge

  告警判斷

7.alarm

  alarm模塊是處理報警事件的,judge產(chǎn)生的報警事件寫入redis,alarm從redis讀取數(shù)據(jù)。

8.sender

  調(diào)用各個公司提供的mail-privider和sms-privider,按照某個并發(fā)度,從redis讀取郵件,短信并發(fā)送,

? ? ? ?alarm生成的報警短信和報警郵件是直接寫入redis即可,由sender來發(fā)送。

9.mail-privider&&sms-provider

  發(fā)送郵件短信接口

10.protal

  配置報警策略的地方

11.HBS

  Heartbeat Server心跳服務(wù),只依賴Protal的DB

?

二:相關(guān)服務(wù)配置詳解

1.falcon-agent

1.進(jìn)程管理

./open-falcon start agent 啟動進(jìn)程 ./open-falcon stop agent 停止進(jìn)程 ./open-falcon monitor agent 查看日志

2.配置文件

{"debug": true, # 控制一些debug信息的輸出,生產(chǎn)環(huán)境通常設(shè)置為false"hostname": "", # agent采集了數(shù)據(jù)發(fā)給transfer,endpoint就設(shè)置為了hostname,默認(rèn)通過`hostname`獲取,如果配置中配置了hostname,就用配置中的"ip": "", # agent與hbs心跳的時候會把自己的ip地址發(fā)給hbs,agent會自動探測本機(jī)ip,如果不想讓agent自動探測,可以手工修改該配置"plugin": {"enabled": false, # 默認(rèn)不開啟插件機(jī)制"dir": "./plugin", # 把放置插件腳本的git repo clone到這個目錄"git": "https://github.com/open-falcon/plugin.git", # 放置插件腳本的git repo地址"logs": "./logs" # 插件執(zhí)行的log,如果插件執(zhí)行有問題,可以去這個目錄看log},"heartbeat": {"enabled": true, # 此處enabled要設(shè)置為true"addr": "127.0.0.1:6030", # hbs的地址,端口是hbs的rpc端口"interval": 60, # 心跳周期,單位是秒"timeout": 1000 # 連接hbs的超時時間,單位是毫秒},"transfer": {"enabled": true, "addrs": ["127.0.0.1:18433"], # transfer的地址,端口是transfer的rpc端口, 可以支持寫多個transfer的地址,agent會保證HA"interval": 60, # 采集周期,單位是秒,即agent一分鐘采集一次數(shù)據(jù)發(fā)給transfer"timeout": 1000 # 連接transfer的超時時間,單位是毫秒},"http": {"enabled": true, # 是否要監(jiān)聽http端口"listen": ":1988","backdoor": false},"collector": {"ifacePrefix": ["eth", "em"], # 默認(rèn)配置只會采集網(wǎng)卡名稱前綴是eth、em的網(wǎng)卡流量,配置為空就會采集所有的,lo的也會采集??梢詮?proc/net/dev看到各個網(wǎng)卡的流量信息"mountPoint": []},"default_tags": {},"ignore": { # 默認(rèn)采集了200多個metric,可以通過ignore設(shè)置為不采集"cpu.busy": true,"df.bytes.free": true,"df.bytes.total": true,"df.bytes.used": true,"df.bytes.used.percent": true,"df.inodes.total": true,"df.inodes.free": true,"df.inodes.used": true,"df.inodes.used.percent": true,"mem.memtotal": true,"mem.memused": true,"mem.memused.percent": true,"mem.memfree": true,"mem.swaptotal": true,"mem.swapused": true,"mem.swapfree": true} }

  ?

2.Transfer

1.進(jìn)程管理

# 校驗服務(wù),這里假定服務(wù)開啟了6060的http監(jiān)聽端口。檢驗結(jié)果為ok表明服務(wù)正常啟動。 curl -s "127.0.0.1:6060/health" # 啟動服務(wù) ./open-falcon start transfer # 停止服務(wù) ./open-falcon stop transfer # 查看日志 ./open-falcon monitor transfer

  

2.配置文件

? ? ? ? ? ?部署完成transfer組件后,請修改agent的配置,使其指向正確的transfer地址。在安裝完graph和judge后,請修改transfer的相應(yīng)配置、使其能夠正確尋址到這兩個組件。

debug: true/false, 如果為true,日志中會打印debug信息minStep: 30, 允許上報的數(shù)據(jù)最小間隔,默認(rèn)為30秒http- enabled: true/false, 表示是否開啟該http端口,該端口為控制端口,主要用來對transfer發(fā)送控制命令、統(tǒng)計命令、debug命令等- listen: 表示監(jiān)聽的http端口rpc- enabled: true/false, 表示是否開啟該jsonrpc數(shù)據(jù)接收端口, Agent發(fā)送數(shù)據(jù)使用的就是該端口- listen: 表示監(jiān)聽的http端口socket #即將被廢棄,請避免使用- enabled: true/false, 表示是否開啟該telnet方式的數(shù)據(jù)接收端口,這是為了方便用戶一行行的發(fā)送數(shù)據(jù)給transfer- listen: 表示監(jiān)聽的http端口 judge- enabled: true/false, 表示是否開啟向judge發(fā)送數(shù)據(jù)- batch: 數(shù)據(jù)轉(zhuǎn)發(fā)的批量大小,可以加快發(fā)送速度,建議保持默認(rèn)值- connTimeout: 單位是毫秒,與后端建立連接的超時時間,可以根據(jù)網(wǎng)絡(luò)質(zhì)量微調(diào),建議保持默認(rèn)- callTimeout: 單位是毫秒,發(fā)送數(shù)據(jù)給后端的超時時間,可以根據(jù)網(wǎng)絡(luò)質(zhì)量微調(diào),建議保持默認(rèn)- pingMethod: 后端提供的ping接口,用來探測連接是否可用,必須保持默認(rèn)- maxConns: 連接池相關(guān)配置,最大連接數(shù),建議保持默認(rèn)- maxIdle: 連接池相關(guān)配置,最大空閑連接數(shù),建議保持默認(rèn)- replicas: 這是一致性hash算法需要的節(jié)點(diǎn)副本數(shù)量,建議不要變更,保持默認(rèn)即可- cluster: key-value形式的字典,表示后端的judge列表,其中key代表后端judge名字,value代表的是具體的ip:port graph- enabled: true/false, 表示是否開啟向graph發(fā)送數(shù)據(jù)- batch: 數(shù)據(jù)轉(zhuǎn)發(fā)的批量大小,可以加快發(fā)送速度,建議保持默認(rèn)值- connTimeout: 單位是毫秒,與后端建立連接的超時時間,可以根據(jù)網(wǎng)絡(luò)質(zhì)量微調(diào),建議保持默認(rèn)- callTimeout: 單位是毫秒,發(fā)送數(shù)據(jù)給后端的超時時間,可以根據(jù)網(wǎng)絡(luò)質(zhì)量微調(diào),建議保持默認(rèn)- pingMethod: 后端提供的ping接口,用來探測連接是否可用,必須保持默認(rèn)- maxConns: 連接池相關(guān)配置,最大連接數(shù),建議保持默認(rèn)- maxIdle: 連接池相關(guān)配置,最大空閑連接數(shù),建議保持默認(rèn)- replicas: 這是一致性hash算法需要的節(jié)點(diǎn)副本數(shù)量,建議不要變更,保持默認(rèn)即可- cluster: key-value形式的字典,表示后端的graph列表,其中key代表后端graph名字,value代表的是具體的ip:port(多個地址用逗號隔開, transfer會將同一份數(shù)據(jù)發(fā)送至各個地址,利用這個特性可以實(shí)現(xiàn)數(shù)據(jù)的多重備份)tsdb- enabled: true/false, 表示是否開啟向open tsdb發(fā)送數(shù)據(jù)- batch: 數(shù)據(jù)轉(zhuǎn)發(fā)的批量大小,可以加快發(fā)送速度- connTimeout: 單位是毫秒,與后端建立連接的超時時間,可以根據(jù)網(wǎng)絡(luò)質(zhì)量微調(diào),建議保持默認(rèn)- callTimeout: 單位是毫秒,發(fā)送數(shù)據(jù)給后端的超時時間,可以根據(jù)網(wǎng)絡(luò)質(zhì)量微調(diào),建議保持默認(rèn)- maxConns: 連接池相關(guān)配置,最大連接數(shù),建議保持默認(rèn)- maxIdle: 連接池相關(guān)配置,最大空閑連接數(shù),建議保持默認(rèn)- retry: 連接后端的重試次數(shù)和發(fā)送數(shù)據(jù)的重試次數(shù)- address: tsdb地址或者tsdb集群vip地址, 通過tcp連接tsdb.

  

3.graph

1.進(jìn)程管理

# 啟動服務(wù) ./open-falcon start graph# 停止服務(wù) ./open-falcon stop graph# 查看日志 ./open-falcon monitor graph

2.配置文件

? ? ?部署完graph組件后,請修改transfer和api的配置,使這兩個組件可以尋址到graph。

{"debug": false, //true or false, 是否開啟debug日志"http": {"enabled": true, //true or false, 表示是否開啟該http端口,該端口為控制端口,主要用來對graph發(fā)送控制命令、統(tǒng)計命令、debug命令"listen": "0.0.0.0:6071" //表示監(jiān)聽的http端口},"rpc": {"enabled": true, //true or false, 表示是否開啟該rpc端口,該端口為數(shù)據(jù)接收端口"listen": "0.0.0.0:6070" //表示監(jiān)聽的rpc端口},"rrd": {"storage": "./data/6070" // 歷史數(shù)據(jù)的文件存儲路徑(如有必要,請修改為合適的路)},"db": {"dsn": "root:@tcp(127.0.0.1:3306)/graph?loc=Local&parseTime=true", //MySQL的連接信息,默認(rèn)用戶名是root,密碼為空,host為127.0.0.1,database為graph(如有必要,請修改)"maxIdle": 4 //MySQL連接池配置,連接池允許的最大連接數(shù),保持默認(rèn)即可},"callTimeout": 5000, //RPC調(diào)用超時時間,單位ms"migrate": { //擴(kuò)容graph時歷史數(shù)據(jù)自動遷移"enabled": false, //true or false, 表示graph是否處于數(shù)據(jù)遷移狀態(tài)"concurrency": 2, //數(shù)據(jù)遷移時的并發(fā)連接數(shù),建議保持默認(rèn)"replicas": 500, //這是一致性hash算法需要的節(jié)點(diǎn)副本數(shù)量,建議不要變更,保持默認(rèn)即可(必須和transfer的配置中保持一致)"cluster": { //未擴(kuò)容前老的graph實(shí)例列表"graph-00" : "127.0.0.1:6070"}} }

 

4.Api(query)

1.進(jìn)程管理

# 啟動服務(wù) ./open-falcon start api# 停止服務(wù) ./open-falcon stop api# 查看日志 ./open-falcon monitor api

  

2.相關(guān)配置

  • 部署完成api組件后,請修改dashboard組件的配置、使其能夠正確尋址到api組件。
  • 請確保api組件的graph列表 與 transfer的配置 一致。
{"log_level": "debug","db": { //數(shù)據(jù)庫相關(guān)的連接配置信息"faclon_portal": "root:@tcp(127.0.0.1:3306)/falcon_portal?charset=utf8&parseTime=True&loc=Local","graph": "root:@tcp(127.0.0.1:3306)/graph?charset=utf8&parseTime=True&loc=Local","uic": "root:@tcp(127.0.0.1:3306)/uic?charset=utf8&parseTime=True&loc=Local","dashboard": "root:@tcp(127.0.0.1:3306)/dashboard?charset=utf8&parseTime=True&loc=Local","alarms": "root:@tcp(127.0.0.1:3306)/alarms?charset=utf8&parseTime=True&loc=Local","db_bug": true},"graphs": { // graph模塊的部署列表信息"cluster": {"graph-00": "127.0.0.1:6070"},"max_conns": 100,"max_idle": 100,"conn_timeout": 1000,"call_timeout": 5000,"numberOfReplicas": 500},"metric_list_file": "./api/data/metric","web_port": ":8080", // http監(jiān)聽端口"access_control": true, // 如果設(shè)置為false,那么任何用戶都可以具備管理員權(quán)限"salt": "pleaseinputwhichyouareusingnow", //數(shù)據(jù)庫加密密碼的時候的salt"skip_auth": false, //如果設(shè)置為true,那么訪問api就不需要經(jīng)過認(rèn)證"default_token": "default-token-used-in-server-side", //用于服務(wù)端各模塊間的訪問授權(quán)"gen_doc": false,"gen_doc_path": "doc/module.html" }

  

5.Dashboard

1.進(jìn)程管理

#以開發(fā)者模式啟動 ./env/bin/python wsgi.py#以生產(chǎn)環(huán)境啟動 bash control start#停止dashboard運(yùn)行bash control stop#查看日志 bash control tail

2,.相關(guān)配置文件

dashbord沒有默認(rèn)創(chuàng)建任何賬號包括管理賬號,需要你通過頁面進(jìn)行注冊賬號。 想擁有管理全局的超級管理員賬號,需要手動注冊用戶名為root的賬號(第一個帳號名稱為root的用戶會被自動設(shè)置為超級管理員)。 超級管理員可以給普通用戶分配權(quán)限管理。 dashboard的配置文件為: 'rrd/config.py',請根據(jù)實(shí)際情況修改## API_ADDR 表示后端api組件的地址 API_ADDR = "http://127.0.0.1:8080/api/v1" ## 根據(jù)實(shí)際情況,修改PORTAL_DB_*, 默認(rèn)用戶名為root,默認(rèn)密碼為"" ## 根據(jù)實(shí)際情況,修改ALARM_DB_*, 默認(rèn)用戶名為root,默認(rèn)密碼為""

  

6.HBS

1.進(jìn)程管理

# 啟動 ./open-falcon start hbs# 停止 ./open-falcon stop hbs# 查看日志 ./open-falcon monitor hbs

  

2.相關(guān)配置

? ? ? ?如果你先部署了agent,后部署的hbs,那咱們部署完hbs之后需要回去修改agent的配置,把a(bǔ)gent配置中的heartbeat部分enabled設(shè)置為true,addr設(shè)置為hbs的rpc地址。

? ? ? ?如果hbs的配置文件維持默認(rèn),rpc端口就是6030,http端口是6031,agent中應(yīng)該配置為hbs的rpc端口,小心別弄錯了。

{"debug": true,"database": "root:password@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true", # Portal的數(shù)據(jù)庫地址"hosts": "", # portal數(shù)據(jù)庫中有個host表,如果表中數(shù)據(jù)是從其他系統(tǒng)同步過來的,此處配置為sync,否則就維持默認(rèn),留空即可"maxIdle": 100,"listen": ":6030", # hbs監(jiān)聽的rpc地址"trustable": [""],"http": {"enabled": true,"listen": "0.0.0.0:6031" # hbs監(jiān)聽的http地址} }

  

7.Judge

1.進(jìn)程管理

# 啟動 ./open-falcon start judge# 停止 ./open-falcon stop judge# 查看日志 ./open-falcon monitor judge

2.相關(guān)配置文件

{"debug": true,"debugHost": "nil","remain": 11,"http": {"enabled": true,"listen": "0.0.0.0:6081"},"rpc": {"enabled": true,"listen": "0.0.0.0:6080"},"hbs": {"servers": ["127.0.0.1:6030"], # hbs最好放到lvs vip后面,所以此處最好配置為vip:port"timeout": 300,"interval": 60},"alarm": {"enabled": true,"minInterval": 300, # 連續(xù)兩個報警之間至少相隔的秒數(shù),維持默認(rèn)即可"queuePattern": "event:p%v","redis": {"dsn": "127.0.0.1:6379", # 與alarm、sender使用一個redis"maxIdle": 5,"connTimeout": 5000,"readTimeout": 5000,"writeTimeout": 5000}} }

  

8.Alarm

1.進(jìn)程管理

# 啟動 ./open-falcon start alarm# 停止 ./open-falcon stop alarm# 查看日志 ./open-falcon monitor alarm

2.相關(guān)配置文件

{"log_level": "debug","http": {"enabled": true,"listen": "0.0.0.0:9912"},"redis": {"addr": "127.0.0.1:6379","maxIdle": 5,"highQueues": ["event:p0","event:p1","event:p2"],"lowQueues": ["event:p3","event:p4","event:p5","event:p6"],"userIMQueue": "/queue/user/im","userSmsQueue": "/queue/user/sms","userMailQueue": "/queue/user/mail"},"api": {"im": "http://127.0.0.1:10086/wechat", //微信發(fā)送網(wǎng)關(guān)地址"sms": "http://127.0.0.1:10086/sms", //短信發(fā)送網(wǎng)關(guān)地址"mail": "http://127.0.0.1:10086/mail", //郵件發(fā)送網(wǎng)關(guān)地址"dashboard": "http://127.0.0.1:8081", //dashboard模塊的運(yùn)行地址"plus_api":"http://127.0.0.1:8080", //falcon-plus api模塊的運(yùn)行地址"plus_api_token": "default-token-used-in-server-side" //用于和falcon-plus api模塊服務(wù)端之間的通信認(rèn)證token},"falcon_portal": {"addr": "root:@tcp(127.0.0.1:3306)/alarms?charset=utf8&loc=Asia%2FChongqing","idle": 10,"max": 100},"worker": {"im": 10,"sms": 10,"mail": 50},"housekeeper": {"event_retention_days": 7, //報警歷史信息的保留天數(shù)"event_delete_batch": 100} }

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/yaohong/p/9218400.html

總結(jié)

以上是生活随笔為你收集整理的openfalcon架构及相关服务配置详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。