open-falcon ---客戶機agent操作

散盡浮華發表於2017-08-15

 

open-falcon的agent用於採集機器負載監控指標,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push給Transfer。agent與Transfer建立了長連線,資料傳送速度比較快,agent提供了一個http介面/v1/push用於接收使用者手工push的一些資料,然後通過長連線迅速轉發給Transfer。agent專案之前是一個獨立專案名字叫falcon-eye ,其自帶有web頁面來自於linux-dash專案。參考:https://book.open-falcon.org/zh/quick_install/graph_components.html

客戶機上只需要配置啟動agent即可:
[root@IDC-Admin-02 ~]# cat /data/work/open-falcon/agent/cfg.json
{
    "debug": true,
    "hostname": "",
    "ip": "",
    "plugin": {
        "enabled": false,                                    #預設不開啟外掛機制
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
    "heartbeat": {
        "enabled": true,                                    #此處enabled要設定為true
        "addr": "127.0.0.1:6030",                           #hbs的地址,埠是hbs的rpc埠
        "interval": 60,
        "timeout": 1000
    },
    "transfer": {
        "enabled": true,                                   #此處enabled要設定為true
        "addrs": [
            "192.168.1.30:8433",                           #transfer的地址,這裡寫服務端的IP地址,因為transfer部署在服務端,埠是transfer的rpc埠
            "192.168.1.30:8433"
        ],
        "interval": 60,
        "timeout": 1000
    },
    "http": {
        "enabled": true,
        "listen": ":1988",
        "backdoor": false
    },
    "collector": {
        "ifacePrefix": ["bond", "em"]           #預設配置只會採集網路卡名稱字首是bond、em的網路卡流量,配置為空就會採集所有的,lo的也會採集。
    },
    "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
    }
}


[root@IDC-Admin-02 ~]# cd /data/work/open-falcon/agent/
[root@IDC-Admin-02 agent]# ./control start
falcon-agent started..., pid=183538
[root@IDC-Admin-02 agent]# ps -ef|grep 183538
root     183538      1  0 00:08 pts/0    00:00:00 ./falcon-agent -c cfg.json
root     183555 183270  0 00:08 pts/0    00:00:00 grep 183538
[root@IDC-Admin-02 agent]# lsof -i:1988
COMMAND      PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
falcon-ag 183538 root    4u  IPv6 9968490      0t0  TCP *:tr-rsrb-p2 (LISTEN)

驗證 
看var目錄下的log是否正常,或者瀏覽器訪問其1988埠。另外agent提供了一個--check引數,可以檢查agent是否可以正常跑在當前機器上。
[root@IDC-Admin-02 agent]# ./falcon-agent --check
cpustat  ... ok
disk.io  ... ok
memory   ... ok
ss -s    ... ok
netstat  ... ok
ss -tln  ... ok
ps aux   ... ok
du -bs   ... ok
kernel   ... ok
df.bytes ... ok
net.if   ... ok
loadavg  ... ok

開啟url  http://IP:1988可以檢視相關監控資訊   (假設這裡客戶機ip為192.168.1.22)

由於這臺客戶機的hostname為IDC-Admin-02。所以可以在服務端的dashboard介面裡搜尋Endpoint。(這裡是根據客戶機的hostname來匹配搜尋的,可以將客戶機的主機名按照一定的規則命名或者做hosts對映,比如web01.wang.com、web02.wang.com、backup.wang.com等*.wang.com,那麼這裡Endpoint搜尋的話,就根據wang.com進行搜尋,就會匹配出對應的客戶機)

相關文章