02:openf-falcon安裝

open-falcon其餘篇

目錄:

1.1 安裝open-falcon環境準備     返回頂部

     環境準備:https://book.open-falcon.org/zh_0_2/quick_install/prepare.htmlhtml

     參考博客:https://www.cnblogs.com/yaohong/p/8713723.html前端

  一、依賴組件node

    1)安裝一些基本工具(與open-falcon無關)python

        yum install -y wgetmysql

        yum install -y vimgit

        yum install -y gitgithub

    2) 安裝redisgolang

        yum install -y redisweb

        systemctl start redis     # 啓動redisredis

        systemctl enable redis      # 設置redis開機啓動

        systemctl status redis    # 查看redis是否開啓

    3)安裝mysql

        wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm      # 下載repo源

        rpm -ivh mysql-community-release-el7-5.noarch.rpm                                    # 安裝該rpm包

        yum install mysql-server -y                                                                           # 安裝mysql

        systemctl start mysql

        systemctl status mysql

    4)初始化mysql表結構

cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git 
cd /tmp/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql
rm -rf /tmp/falcon-plus/

  二、安裝Go語言開發環境 & 編譯打包 open-falcon-v0.2.1.tar.gz

     注:https://book.open-falcon.org/zh_0_2/quick_install/prepare.html 中官方有提供編譯包,若是編譯過程不順利能夠直接下載編譯包。

    1)安裝go語言環境

        yum install -y epel-release

        yum install golang -y

        go version                   # 確認是否知足官方要求的Go >= 1.6

    2)設置環境變量GOROOT和GOPATH

        export GOROOT=/usr/lib/golang

        export GOPATH=/home

    3)將open-falcon的源碼從github上get下來

        mkdir -p $GOPATH/src/github.com/open-falcon        # 建立GOPATH下的一個本地的路徑

        cd $GOPATH/src/github.com/open-falcon                   # 進入該路徑

        git clone https://github.com/open-falcon/falcon-plus.git                    # 將源碼get到本地

    4)編譯源碼並打包 open-falcon-v0.2.1.tar.gz

        cd $GOPATH/src/github.com/open-falcon/falcon-plus/                     # 進入本地源碼路徑下

        go get github.com/open-falcon/rrdlite               # 使用go get獲取rrdtool工具包(make過程卡殼的一個點)

        make all                                                          # 編譯全部模塊

        make pack                                                        # 打包

         注:$GOPATH/src/github.com/open-falcon/falcon-plus/ 目錄下就多了剛纔的壓縮包 「open-falcon-v0.2.1.tar.gz」。

1.2 部署open-falcon後端     返回頂部

  https://book.open-falcon.org/zh_0_2/quick_install/backend.html

  一、建立工做目錄

      export WORKSPACE=/home/work

      mkdir -p $WORKSPACE

  二、解壓二進制包(包名根據實際進行修改) 

      cd $GOPATH/src/github.com/open-falcon/falcon-plus/

      tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE

      注:因爲我是根據本教程編譯源碼得到的壓縮包,故須要切換到「$GOPATH/src/github.com/open-falcon/falcon-plus/」路徑下。

            包名因爲make pack的時候就是open-falcon-v0.2.0.tar.gz,具體根據實際狀況(17/12/6再部署時發現官方已有0.2.1)。

  三、修改配置文件說明

      下面這些模塊須要使用mysql數據庫,將下面文件的mysql用戶名密碼替換成真實的便可

模塊 配置文件所在路徑
aggregator    /home/work/aggregator/config/cfg.json
graph /home/work/graph/config/cfg.json
hbs /home/work/hbs/config/cfg.json
nodata /home/work/nodata/config/cfg.json
api /home/work/api/config/cfg.json
alarm /home/work/alarm/config/cfg.json

  四、啓動後端命令

cd $WORKSPACE
./open-falcon start # 檢查全部模塊的啓動情況 ./open-falcon check

1.2.1 agent配置文件     返回頂部

  一、agent(數據採集組件):golang項目

      1. 須要監控的服務器都要安裝falcon-agent,falcon-agent是一個golang開發的daemon程序,用於自發現的採集單機的各類數據和指標

      2. falcon-agent提供了一個proxy-gateway,用戶能夠方便的經過http接口,push數據到本機的gateway

      3. gateway會將用戶push的數據轉發到server端,全部自實現的插件都使用這個REST接口傳送數據。。

      4. 部署好agent後,能自動獲取到系統的基礎監控指標,並上報給transfer,agent與transfer創建了TCP長鏈接,每隔60秒發送一次數據到transfer。

  二、配置說明

      http://192.168.56.12:1988/ 

      vim /home/work/agent/config/cfg.json 

{
    "debug": true,    # 控制一些debug信息的輸出,生產環境一般設置爲false
    "hostname": "",   # agent採集了數據發給transfer,endpoint就設置爲了hostname,默認經過`hostname`獲取,若是配置中配置了hostname,就用配置中的
    "ip": "",         # agent與hbs心跳的時候會把本身的ip地址發給hbs,agent會自動探測本機ip,若是不想讓agent自動探測,能夠手工修改該配置
    "plugin": {
        "enabled": false,                   # 默認不開啓插件機制
        "dir": "./plugin",                  # 把放置插件腳本的git repo clone到這個目錄
        "git": "https://github.com/open-falcon/plugin.git", # 放置插件腳本的git repo地址
        "logs": "./logs"                                    # 插件執行的log,若是插件執行有問題,能夠去這個目錄看log
    },
    "heartbeat": {
        "enabled": true,                      # 此處enabled要設置爲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一分鐘採集一次數據發給transfer
        "timeout": 1000             # 鏈接transfer的超時時間,單位是毫秒
    },
    "http": {
        "enabled": true,            # 是否要監聽http端口
        "listen": ":1988",
        "backdoor": false
    },
    "collector": {
        "ifacePrefix": ["eth", "em"],  # 默認配置只會採集網卡名稱前綴是eth、em的網卡流量,配置爲空就會採集全部的,lo的也會採集。能夠從/proc/net/dev看到各個網卡的流量信息
        "mountPoint": []
    },
    "default_tags": {
    },
    "ignore": {                        # 默認採集了200多個metric,能夠經過ignore設置爲不採集
        "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
    }
}
agent配置文件

  三、進程管理

      ./open-falcon start agent                  啓動進程

      ./open-falcon stop agent                  中止進程

      ./open-falcon monitor agent             查看日誌

  四、驗證agent是否正常

      cd /home/work/agent/bin/

      ./falcon-agent --check

      curl 127.0.0.1:1988/config/reload       # 重載agent配置

  五、/v1/push接口,監控腳本定製

      ts=`date +%s`; curl -X POST -d "[{\"metric\": \"metric.demo\", \"endpoint\": \"qd-open-falcon-judge01.hd\", \"timestamp\": $ts,\"step\": 60,\"value\": 9,\"counterType\": \"GAUGE\",\"tags\": \"project=falcon,module=judge\"}]" http://127.0.0.1:1988/v1/push

1.2.2 transfer(數據上報)     返回頂部

  一、transfer(數據上報)

      1. transfer進程負責分發從agent上送的監控指標數據,並根據哈希分片。

      2. 將數據分發給judge進程和graph進程,供告警斷定和繪圖。

  二、服務管理

      ./open-falcon start transfer                     # 啓動服務

      curl -s "127.0.0.1:6060/health"              # 校驗服務,這裏假定服務開啓了6060的http監聽端口。檢驗結果爲ok代表服務正常啓動。

      ./open-falcon stop transfer                     # 中止服務

      ./open-falcon monitor transfer                # 查看日誌

  三、補充說明

      部署完成transfer組件後,請修改agent的配置,使其指向正確的transfer地址。

      在安裝完graph和judge後,請修改transfer的相應配置、使其可以正確尋址到這兩個組件。

  四、配置說明

{
    "debug": true,      # 若是爲true,日誌中會打印debug信息
    "minStep": 30,      # 容許上報的數據最小間隔,默認爲30秒
    "http": {
        "enabled": true,                # 表示是否開啓該http端口,該端口爲控制端口,主要用來對transfer發送控制命令、統計命令、debug命令等
        "listen": "0.0.0.0:6060"        # 表示監聽的http端口
    },
    "rpc": {
        "enabled": true,                # 表示是否開啓該jsonrpc數據接收端口, Agent發送數據使用的就是該端口
        "listen": "0.0.0.0:8433"        # 表示監聽的http端口
    },
    "socket": {                         # 即將被廢棄,請避免使用
        "enabled": true,
        "listen": "0.0.0.0:4444",
        "timeout": 3600
    },
    "judge": { 
        "enabled": true,                # 表示是否開啓向judge發送數據
        "batch": 200,                   # 數據轉發的批量大小,能夠加快發送速度,建議保持默認值
        "connTimeout": 1000,            # 單位是毫秒,與後端創建鏈接的超時時間,能夠根據網絡質量微調,建議保持默認
        "callTimeout": 5000,            # 單位是毫秒,發送數據給後端的超時時間,能夠根據網絡質量微調,建議保持默認
        "maxConns": 32,                 # 鏈接池相關配置,最大鏈接數,建議保持默認
        "maxIdle": 32,                  # 鏈接池相關配置,最大空閒鏈接數,建議保持默認
        "replicas": 500,                # 這是一致性hash算法須要的節點副本數量,建議不要變動,保持默認便可
        "cluster": {                    # key-value形式的字典,表示後端的judge列表,其中key表明後端judge名字,value表明的是具體的ip:port
            "judge-00" : "0.0.0.0:6080"
        }
    },
    "graph": {
        "enabled": true,                # 表示是否開啓向graph發送數據
        "batch": 200,
        "connTimeout": 1000,
        "callTimeout": 5000,
        "maxConns": 32,
        "maxIdle": 32,
        "replicas": 500,
        "cluster": {                      # key-value形式的字典,表示後端的graph列表,其中key表明後端graph名字,value表明的是具體的ip:port
            "graph-00" : "0.0.0.0:6070"   # (多個地址用逗號隔開, transfer會將同一份數據發送至各個地址,利用這個特性能夠實現數據的多重備份)
        }
    },
    "tsdb": {
        "enabled": false,                 # 表示是否開啓向open tsdb發送數據
        "batch": 200,
        "connTimeout": 1000,
        "callTimeout": 5000,
        "maxConns": 32,
        "maxIdle": 32,
        "retry": 3,                       # 鏈接後端的重試次數和發送數據的重試次數
        "address": "127.0.0.1:8088"       # tsdb地址或者tsdb集羣vip地址, 經過tcp鏈接tsdb.
    }
}
transfer配置文件

1.2.3 judge(告警判斷)     返回頂部

  一、judge(告警判斷)

      1.Judge從Heartbeat server獲取全部的報警策略,並判斷transfer推送的指標數據是否觸發告警。

      2. 若觸發了告警,judge將會產生告警事件,這些告警事件會寫入Redis(使用Redis消息隊列)。

      3. redis中告警事件,供處理告警事件的Alarm進程轉發告警消息,或是Email,或是手機短信等。

  二、部署說明

      1. Judge監聽了一個http端口,提供了一個http接口:/count,訪問之,能夠得悉當前Judge實例處理了多少數據量。

      2. 推薦的作法是一個Judge實例處理50萬~100萬數據,用個5G~10G內存,若是所用物理機內存比較大,好比有128G,能夠在一個物理機上部署多個Judge實例。

  三、進程管理

      1. ./open-falcon start judge     # 啓動

      2. ./open-falcon stop judge      # 中止

      3. ./open-falcon monitor judge         # 查看日誌

  四、配置說明

{
    "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,                  # 連續兩個報警之間至少相隔的秒數,維持默認便可
        "queuePattern": "event:p%v",
        "redis": {
            "dsn": "127.0.0.1:6379",         # 與alarm、sender使用一個redis
            "maxIdle": 5,
            "connTimeout": 5000,
            "readTimeout": 5000,
            "writeTimeout": 5000
        }
    }
}
judge配置文件

1.2.4 Alarm(告警)     返回頂部

  一、Alarm(告警)

      1. Alarm進程監聽Redis中的消息隊列,並將judge產生的告警事件轉發給微信、短信和郵件三種REST接口,REST接口才是具體的發送動做。

      2. 另外,關於告警,每條告警策略都會定義不一樣的優先級,Redis中的消息隊列也按優先級劃分。

      3. Alarm不只消費告警事件,優先級比較低的報警,其合併邏輯都是在alarm中作,因此目前Alarm進程只能部署一個實例。

      4. 已經發送出去的告警事件,Alarm將會負責寫入MySQL。

      說明:

        1)咱們在配置報警策略的時候配置了報警級別,好比P0/P1/P2等等,每一個及別的報警都會對應不一樣的redis隊列 

        2)alarm去讀取這個數據的時候咱們但願先讀取P0的數據,再讀取P1的數據,最後讀取P5的數據,由於咱們但願先處理優先級高的。

      注:alarm是個單點。對於未恢復的告警是放到alarm的內存中的,alarm還須要作報警合併,故而alarm只能部署一個實例。後期須要想辦法改進。

  二、部署說明

      1. alarm是個單點,對於未恢復的告警是放到alarm的內存中的,alarm還須要作報警合併,故而alarm只能部署一個實例。須要對alarm的存活作好監控。

  三、進程管理

      ./open-falcon start alarm         # 啓動

      ./open-falcon stop alarm           # 中止

      ./open-falcon monitor alarm     # 查看日誌

  四、配置說明

{
    "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",      #微信發送網關地址
        "sms": "http:#127.0.0.1:10086/sms",        #短信發送網關地址
        "mail": "http:#127.0.0.1:10086/mail",      #郵件發送網關地址
        "dashboard": "http:#127.0.0.1:8081",       #dashboard模塊的運行地址
        "plus_api":"http:#127.0.0.1:8080",         #falcon-plus api模塊的運行地址
        "plus_api_token": "default-token-used-in-server-side"       #用於和falcon-plus api模塊服務端之間的通訊認證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,    #報警歷史信息的保留天數
        "event_delete_batch": 100
    }
}
alarm配置文件

  五、報警合併

      1. 若是某個核心服務掛了,可能會形成大面積報警,爲了減小報警短信數量,咱們作了報警合併功能。

      2. 把報警信息寫入dashboard模塊,而後dashboard返回一個url地址給alarm,alarm將這個url連接發給用戶,
          這樣用戶只要收到一條短信(裏邊是個url地址),點擊url進去就是多條報警內容。

      3. highQueues中配置的幾個event隊列中的事件是不會作報警合併的,由於那些是高優先級的報警,報警合併只是針對lowQueues中的事件。

      4. 若是全部的事件都不想作報警合併,就把全部的event隊列都配置到highQueues中便可

1.2.5 graph(數據存儲&歸檔)     返回頂部

  一、graph(數據存儲&歸檔)

      1. graph進程接收從transfer推送來的指標數據,操做rrd文件存儲監控數據。

      2. graph也爲API進程提供查詢接口,處理query組件的查詢請求、返回繪圖數據。

  二、進程管理

      ./open-falcon start graph            # 啓動服務

      ./open-falcon stop graph             # 中止服務    

      ./open-falcon monitor graph        # 查看日誌

      注:部署完graph組件後,請修改transfer和api的配置,使這兩個組件能夠尋址到graph。

  三、配置說明

{
    "debug": false,                  #true or false, 是否開啓debug日誌
    "http": {
        "enabled": true,             #true or false, 表示是否開啓該http端口,該端口爲控制端口,主要用來對graph發送控制命令、統計命令、debug命令
        "listen": "0.0.0.0:6071"     #表示監聽的http端口
    },
    "rpc": {
        "enabled": true,             #true or false, 表示是否開啓該rpc端口,該端口爲數據接收端口
        "listen": "0.0.0.0:6070"     #表示監聽的rpc端口
    },
    "rrd": {
        "storage": "./data/6070"     # 歷史數據的文件存儲路徑(若有必要,請修改成合適的路)
    },
    "db": {
        "dsn": "root:@tcp(127.0.0.1:3306)/graph?loc=Local&parseTime=true", #MySQL的鏈接信息,默認用戶名是root,密碼爲空,host爲127.0.0.1,database爲graph(若有必要,請修改)
        "maxIdle": 4                 #MySQL鏈接池配置,鏈接池容許的最大鏈接數,保持默認便可
    },
    "callTimeout": 5000,             #RPC調用超時時間,單位ms
    "ioWorkerNum": 64,               #底層io.Worker的數量, 注意: 這個功能是v0.2.1版本以後引入的,v0.2.1版本以前的配置文件不須要該參數
    "migrate": {                     #擴容graph時歷史數據自動遷移
        "enabled": false,            #true or false, 表示graph是否處於數據遷移狀態
        "concurrency": 2,            #數據遷移時的併發鏈接數,建議保持默認
        "replicas": 500,             #這是一致性hash算法須要的節點副本數量,建議不要變動,保持默認便可(必須和transfer的配置中保持一致)
        "cluster": {                 #未擴容前老的graph實例列表
            "graph-00" : "127.0.0.1:6070"
        }
    }
}
graph配置文件

1.2.6 API     返回頂部

  一、API提供統一的restAPI操做接口) :go的後端模塊

      1. API組件,提供統一的繪圖數據查詢入口 (提供http接口))。

      2. API組件接收查詢請求,根據一致性哈希算法去相應的graph實例查詢不一樣metric的數據,而後彙總拿到的數據,最後統一返回給用戶。

      補充說明:

        部署完成api組件後,請修改dashboard組件的配置、使其可以正確尋址到api組件。

        請確保api組件的graph列表 與 transfer的配置 一致。

  二、進程管理

      ./open-falcon start api                # 啓動服務

      ./open-falcon stop api                # 中止服務

      ./open-falcon monitor api           # 查看日誌

  三、配置說明

{
    "log_level": "debug",
    "db": {                       //數據庫相關的鏈接配置信息
        "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監聽端口
    "access_control": true,                    // 若是設置爲false,那麼任何用戶均可以具有管理員權限
    "salt": "pleaseinputwhichyouareusingnow",  //數據庫加密密碼的時候的salt
    "skip_auth": false,                        //若是設置爲true,那麼訪問api就不須要通過認證
    "default_token": "default-token-used-in-server-side",         //用於服務端各模塊間的訪問受權
    "gen_doc": false,
    "gen_doc_path": "doc/module.html"
}
API配置說明

1.2.7 Aggregator     返回頂部

  一、Aggregator

      1. 集羣聚合模塊,聚合某集羣下的全部機器的某個指標的值,提供一種集羣視角的監控體驗。

  二、進程管理

      ./open-falcon start aggregator                  # 啓動服務

      ./open-falcon monitor aggregator              # 檢查log

      ./open-falcon stop aggregator                 # 中止服務

  三、配置說明

{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6055"
    },
    "database": {
        "addr": "root:@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",
        "idle": 10,
        "ids": [1, -1],
        "interval": 55
    },
    "api": {
        "connect_timeout": 500,
        "request_timeout": 2000,
        "plus_api": "http://127.0.0.1:8080",                           #falcon-plus api模塊的運行地址
        "plus_api_token": "default-token-used-in-server-side",         #和falcon-plus api 模塊交互的認證token
        "push_api": "http://127.0.0.1:1988/v1/push"                    #push數據的http接口,這是agent提供的接口
    }
}
Aggregator配置說明

1.2.8 Nodata     返回頂部

  一、Nodata

      1. nodata用於檢測監控數據的上報異常。

      2. nodata和實時報警judge模塊協同工做,過程爲: 配置了nodata的採集項超時未上報數據,nodata生成一條默認的模擬數據;

      3. 用戶配置相應的報警策略,收到mock數據就產生報警。

      4. 採集項上報異常檢測,做爲judge模塊的一個必要補充,可以使judge的實時報警功能更加可靠、完善。

  二、進程管理

      ./open-falcon start nodata              # 啓動服務

      ./open-falcon stop nodata             # 中止服務

      ./open-falcon monitor nodata          # 檢查日誌

  三、配置說明

{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6090"
    },
    "plus_api":{
        "connectTimeout": 500,
        "requestTimeout": 2000,
        "addr": "http://127.0.0.1:8080",                 #falcon-plus api模塊的運行地址
        "token": "default-token-used-in-server-side"     #用於和falcon-plus api模塊的交互認證token
    },
    "config": {
        "enabled": true,
        "dsn": "root:@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true&wait_timeout=604800",
        "maxIdle": 4
    },
    "collector":{
        "enabled": true,
        "batch": 200,
        "concurrent": 10
    },
    "sender":{
        "enabled": true,
        "connectTimeout": 500,
        "requestTimeout": 2000,
        "transferAddr": "127.0.0.1:6060",                #transfer的http監聽地址,通常形如"domain.transfer.service:6060"
        "batch": 500
    }
}
Nodata配置說明

1.3 部署前端(dashboard)     返回頂部

  一、建立工做目錄

export FRONTSPACE=/home/front/open-falcon
mkdir -p $FRONTSPACE

  二、克隆前端組件代碼

cd $FRONTSPACE
git clone https://github.com/open-falcon/dashboard.git

  三、安裝依賴包

yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools" -y

cd $FRONTSPACE/dashboard/
virtualenv ./env

./env/bin/pip install -r pip_requirements.txt

  四、修改配置

      注:因爲前端後臺搭在一臺虛擬機裏,且暫時不接入LDAP,且數據庫root的密碼爲空,故先不修改配置文件。

# dashboard的配置文件爲: '/home/front/open-falcon/dashboard/rrd/config.py',請根據實際狀況修改

#一、portal database
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","1")

#二、alarm database
ALARM_DB_USER = os.environ.get("ALARM_DB_USER","root")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","1")

  五、啓動服務

    瀏覽器打開: http://192.168.56.12:8081

    1)開發者模式啓動

        cd $FRONTSPACE/dashboard/

        ./env/bin/python wsgi.py

    2)在生產環境啓動

        bash control start            # 在生產環境啓動

        bash control stop         # 中止dashboard運行

        bash control tail             # 查看日誌

1.4 被監控主機安裝open-falcon agent     返回頂部

    參考博客: https://blog.csdn.net/qq_27384769/article/details/79569776 

  一、在被監控服務器中建立工做目錄

# 一、在被監控服務器中建立工做目錄
mkdir -p /home/work/

# 二、將server端agent文件夾和啓動腳本 拷貝到被監控服務器上
scp -r /home/work/agent/ root@192.168.56.13:/home/work/                 # 拷貝agent目錄
scp -r /home/work/open-falcon root@192.168.56.13:/home/work/            # 拷貝啓動腳本

# 三、修改配置文件
vim /home/work/agent/config/cfg.json
{
    "debug": true,
    "hostname": "",
    "ip": "",
    "plugin": {
        "enabled": false,
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
    "heartbeat": {
        "enabled": true,
        "addr": "192.168.56.12:6030",
        "interval": 60,
        "timeout": 1000
    },
    "transfer": {
        "enabled": true,
        "addrs": [
            "192.168.56.12:8433"
        ],
        "interval": 60,
        "timeout": 1000
    },
    "http": {
        "enabled": true,
        "listen": ":1988",
        "backdoor": false
    },
    "collector": {
        "ifacePrefix": ["eth", "em"],
        "mountPoint": []
    },
    "default_tags": {
    },
    "ignore": {
        "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
    }
}
/home/work/agent/config/cfg.json

  二、agent進程管理

      ./open-falcon start agent                  啓動進程

      ./open-falcon stop agent                  中止進程

      ./open-falcon monitor agent             查看日誌

相關文章
相關標籤/搜索