openfalcon+grafana安装配置手册及注意事项 下载本文

wget http://dinp.qiniudn.com/go1.4.1.linux-amd64.tar.gz tar zxf go1.4.1.linux-amd64.tar.gz

mkdir -p workspace/srcecho \.bashrcecho 'export GOROOT=$HOME/go' >> .bashrcecho 'export GOPATH=$HOME/workspace' >> .bashrcecho 'export PATH=$GOROOT/bin:$GOPATH/bin:$PATH' >> .bashrcecho \接下来clone代码,以备后用 cd $GOPATH/src

mkdir github.comcd github.com

git clone --recursive https://github.com/open-falcon/of-release.git

3.open-falcon安装

解压of-release-v0.1.0.tar.gz获得以下16个压缩包

每个压缩包对应一个组件,创建独立组件目录,将压缩包解压到相应目录即可。

4.组件配置使用

3.1 agent

agent用于采集机器负载监控指标,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push给Transfer。agent与Transfer建立了长连接,数据发送速度比较快,agent提供了一个http接口/v1/push用于接收用户手工push的一些数据,然后通过长连接迅速转发给Transfer。因此需要被监控的所有主机都需要使用该组件。

配置文件必须叫cfg.json,可以基于cfg.example.json修改

{

\控制一些debug信息的输出,生产环境通常设置为false \采集了数据发给transfer,endpoint就设置为了hostname,默认通过`hostname`获取,如果配置中配置了hostname,就用配置中的

\与hbs心跳的时候会把自己的ip地址发给hbs,agent会自动探测本机ip,如果不想让agent自动探测,可以手工修改该配置 \

\默认不开启插件机制

\把放置插件脚本的git repo clone到这个目录 \# 放置插件脚本的git repo地址

\\# 插件执行的log,如果插件执行有问题,可以去这个目录看log },

\

\此处enabled要设置为true

\的地址,端口是hbs的rpc端口 \心跳周期,单位是秒

\连接hbs的超时时间,单位是毫秒 }, \

\此处enabled要设置为true \\\

], # transfer的地址,端口是transfer的rpc端口, 可以支持写多个transfer的地址,agent会保证HA

\# 采集周期,单位是秒,即agent一分钟采集一次数据发给transfer

\连接transfer的超时时间,单位是毫秒 }, \

\是否要监听http端口 \如果监听的话,监听的地址 },

\

\[\\# 默认配置只会采集网卡名称前缀是eth、em的网卡流量,配置为空就会采集所有的,lo的也会采集。可以从/proc/net/dev看到各个网卡的流量信息 },

\默认采集了200多个metric,可以通过ignore设置为不采集 \\ } }

进程管理

./control start 启动进程 ./control stop 停止进程 ./control restart 重启进程 ./control status 查看进程状态

./control tail 用tail -f的方式查看var/app.log

验证

看var目录下的log是否正常,或者浏览器访问其1988端口。另外agent提供了一个--check参数,可以检查agent是否可以正常跑在当前机器上 ./falcon-agent --check

/v1/push接口

我们设计初衷是不希望用户直接连到Transfer发送数据,而是通过agent的/v1/push接口转发,接口使用范例:

ts=`date +%s`; curl -X POST -d \\\\

$ts,\\\\\\

3.2 transfer

transfer是数据转发服务。它接收agent上报的数据,然后按照哈希规则进行数据分片、并将分片后的数据分别push给graph&judge等组件。

# 校验服务,这里假定服务开启了6060的http监听端口。检验结果为ok表明服务正常启动。

curl -s \

服务启动后,可以通过日志查看服务的运行状态,日志文件地址为./var/app.log。可以通过调试脚本./test/debug查看服务器的内部状态数据,如 运行 bash ./test/debug 可以得到服务器内部状态的统计信息。 Configuration

debug: true/false, 如果为true,日志中会打印debug信息

http

- enable: true/false, 表示是否开启该http端口,该端口为控制端口,主要用来对transfer发送控制命令、统计命令、debug命令等 - listen: 表示监听的http端口 rpc

- enable: true/false, 表示是否开启该jsonrpc数据接收端口, Agent发送数据使用的就是该端口 - listen: 表示监听的http端口

socket #即将被废弃,请避免使用

- enable: true/false, 表示是否开启该telnet方式的数据接收端口,这是为了方便用户一行行的发送数据给transfer - listen: 表示监听的http端口

judge

- enable: true/false, 表示是否开启向judge发送数据

- batch: 数据转发的批量大小,可以加快发送速度,建议保持默认值