open falcon mysql_open-falcon安装(一)

1、二进制包安装

2、源码安装

前提:推荐使用普通账号安装

1、安装redis:yum install redis -y

2、安装mysql(二进制mariadb包安装)

3、初始化mysql数据库与表结构

export HOME=/home/work

export WORKSPACE=$HOME/open-falcon

mkdir -p $WORKSPACE

cd $WORKSPACE

git clone https://github.com/open-falcon/scripts.git

cd ./scripts/

mysql -h localhost -u root -p < db_schema/graph-db-schema.sql

mysql -h localhost -u root -p < db_schema/dashboard-db-schema.sql

mysql -h localhost -u root -p < db_schema/portal-db-schema.sql

mysql -h localhost -u root -p < db_schema/links-db-schema.sql

mysql -h localhost -u root -p < db_schema/uic-db-schema.sql

4、初始化go语言环境

golang包下载:https://golang.org/dl/

cd ~ && tar xf go1.4.1.linux-amd64.tar.gz

echo "export HOME=/home/work" >> .bashrc

echo "export GOROOT=$HOME/go" >> .bashrc

echo "export GOPATH=$HOME/workspace" >> .bashrc

echo "export WORKSPACE=$HOME/open-falcon" >> .bashrc

echo "export PATH=$GOROOT/bin:$GOPATH/bin:$PATH" >> .bashrc

source .bashrc

mkdir -p $GOPATH/src/github.com/

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

注意:如果是rpm包安装的golang(centos6是1.7的版本)GOROOT环境变量设置需要改变:

# echo "export GOROOT=/usr/lib/golang" >> .bashrc

一、安装agent

cd $GOPATH/src/github.com/of-release/agent

go get ./...

报错:

# github.com/of-release/agent

./main.go:34: undefined: g.InitLocalIps

1、yum 安装go环境是1.7报错

2、go二进制包安装环境版本是1.4.1依然爆这个错误

这是在逗我吗?

go get ./...

./control build

./control pack

最后一步会出一个.tar.gz包,拿去安装即可。

agent配置文件:基于cfg.example.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, # 此处enabled要设置为true

"addrs": [

"127.0.0.1:8433",

"127.0.0.1:8433"

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

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

"timeout": 1000 # 连接transfer的超时时间,单位是毫秒

},

"http": {

"enabled": true, # 是否要监听http端口

"listen": ":1988" # 如果监听的话,监听的地址,收集到数据通过agent的v1/push接口转发

},

"collector": {

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

},

"ignore": { # 默认采集了200多个metric,可以通过ignore设置为不采集

"cpu.busy": true,

"mem.swapfree": true

}

}

接口使用范式:

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

必要的数据结构:

metric: 最核心的字段,代表这个采集项具体度量的是什么, 比如是cpu_idle呢,还是memory_free, 还是qps

endpoint: 标明Metric的主体(属主),比如metric是cpu_idle,那么Endpoint就表示这是哪台机器的cpu_idle

timestamp: 表示汇报该数据时的unix时间戳,注意是整数,代表的是秒

value: 代表该metric在当前时间点的值,float64

step: 表示该数据采集项的汇报周期,这对于后续的配置监控策略很重要,必须明确指定。

counterType: 只能是COUNTER或者GAUGE二选一,前者表示该数据采集项为计时器类型,后者表示其为原值 (注意大小写)

GAUGE:即用户上传什么样的值,就原封不动的存储

COUNTER:指标在存储和展现的时候,会被计算为speed,即(当前值 - 上次值)/ 时间间隔

tags: 一组逗号分割的键值对, 对metric进一步描述和细化, 可以是空字符串. 比如idc=lg,比如service=xbox等,多个tag之间用逗号分割

有疑问加站长微信联系(非本文作者)

5c5fbae790ec0313d6ee17e8b3dd9ba1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值