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语言的优势。在获取主机状态信息时,速度相当的快,资源占用也不好。赞一个。

Logo

更多推荐