1. 程式人生 > >open-falcon agent安裝使用

open-falcon agent安裝使用

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

一、原始碼安裝

  1. cd $GOPATH/src/github.com/open-falcon/agent
  2. go get ./...
  3. ./control build
  4. ./control pack

最後一步會pack出一個tar.gz的安裝包,拿著這個包去部署服務即可。需要注意的是在原始碼編譯時:

1、需要主機配置GOPATH環境變數(一般可以配置為使用者家家目錄);

2、需要主機可以連線外網,通過go get下載相關原始碼包。

3、編譯pack 出的包,在其他agent主機上部署時,無需連線外網 ,pack出的包,可以類似的理解為由c原始碼編譯後得出的二進位制檔案。

二、配置說明

配置檔案必須叫cfg.json,可以基於cfg.example.json修改,預設該檔案並不存在,通過./control start時自動會從cfg.example.json複製一份為cfg.json 。

  1. {
  2. "debug": true,
  3. "hostname": "",
  4. "ip": "",
  5. "plugin": {
  6. "enabled": false, # 預設不開啟外掛機制
  7. "dir": "./plugin",
  8. "git": "https://coding.net/ulricqin/plugin.git",
  9. "logs": "./logs"
  10. },
  11. "heartbeat": {
  12. "enabled": true, # 此處enabled要設定為true
  13. "addr": "127.0.0.1:6030", # hbs的地址,埠是hbs的rpc埠
  14. "interval": 60,
  15. "timeout": 1000
  16. },
  17. "transfer": {
  18. "enabled": true, # 此處enabled要設定為true
  19. "addr": "127.0.0.1:8433", # transfer的地址,埠是transfer的rpc埠
  20. "interval": 60,
  21. "timeout": 1000
  22. },
  23. "http": {
  24. "enabled": true,
  25. "listen": ":1988"
  26. },
  27. "collector": {
  28. "ifacePrefix": ["eth", "em"] # 預設配置只會採集網絡卡名稱字首是eth、em的網絡卡流量,配置為空就會採集所有的,lo的也會採集。可以從/proc/net/dev看到各個網絡卡的流量資訊
  29. },
  30. "ignore": { # 預設採集了200多個metric,可以通過ignore設定為不採集
  31. "cpu.busy": true,
  32. "mem.swapfree": true
  33. }
  34. }

三、程序管理

  1. ./control start 啟動程序
  2. ./control stop 停止程序
  3. ./control restart 重啟程序
  4. ./control status 檢視程序狀態
  5. ./control tail tail -f的方式檢視var/app.log

驗證 

看var目錄下的log是否正常,或者瀏覽器訪問其1988埠。另外agent提供了一個--check引數,可以檢查agent是否可以正常跑在當前機器上。

  1. ./falcon-agent --check

/v1/push介面

該介面暫未用到,不過這裡還是接官方wiki原話先摘錄備忘下:“ 我們設計初衷是不希望使用者直接連到Transfer傳送資料,而是通過agent的/v1/push介面轉發,介面使用範例 ”。

  1. 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

開啟url  http://IP:1988可以檢視相關監控資訊,上張圖(點選圖片看大圖):

xiaomi-agent

這裡要吐槽下,使用firefox和IE瀏覽器都可以正常檢視該頁面。使用360極速瀏覽器時無法正常檢視該頁面 ,好垃圾的瀏覽器。

open-falcon agent(獨立該專案來講)和之前介紹的linux-dash同屬於可以檢視單機當前資訊狀態的一個工具,不過open-falcon agent由於使用go語言的優勢。在獲取主機狀態資訊時,速度相當的快,資源佔用也不好。贊一個。