02:openf-falcon安装

open-falcon其他篇

目录:

1.1 安装open-falcon环境准备     返回顶部

     环境准备:https://book.open-falcon.org/zh_0_2/quick_install/prepare.html

     参考博客:https://www.cnblogs.com/yaohong/p/8713723.html

  1、依赖组件

    1)安装一些基本工具(与open-falcon无关)

        yum install -y wget

        yum install -y vim

        yum install -y git

    2) 安装redis

        yum install -y redis

        systemctl start redis     # 启动redis

        systemctl enable redis      # 设置redis开机启动

        systemctl status redis    # 查看redis是否开启

    3)安装mysql

        wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm      # 下载repo源

        rpm -ivh mysql-community-release-el7-5.noarch.rpm                                    # 安装该rpm包

        yum install mysql-server -y                                                                           # 安装mysql

        systemctl start mysql

        systemctl status mysql

    4)初始化mysql表结构

cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git 
cd /tmp/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql
rm -rf /tmp/falcon-plus/

  2、安装Go语言开发环境 & 编译打包 open-falcon-v0.2.1.tar.gz

     注:https://book.open-falcon.org/zh_0_2/quick_install/prepare.html 中官方有提供编译包,如果编译过程不顺利可以直接下载编译包。

    1)安装go语言环境

        yum install -y epel-release

        yum install golang -y

        go version                   # 确认是否满足官方要求的Go >= 1.6

    2)设置环境变量GOROOT和GOPATH

        export GOROOT=/usr/lib/golang

        export GOPATH=/home

    3)将open-falcon的源码从github上get下来

        mkdir -p $GOPATH/src/github.com/open-falcon        # 创建GOPATH下的一个本地的路径

        cd $GOPATH/src/github.com/open-falcon                   # 进入该路径

        git clone https://github.com/open-falcon/falcon-plus.git                    # 将源码get到本地

    4)编译源码并打包 open-falcon-v0.2.1.tar.gz

        cd $GOPATH/src/github.com/open-falcon/falcon-plus/                     # 进入本地源码路径下

        go get github.com/open-falcon/rrdlite               # 使用go get获取rrdtool工具包(make过程卡壳的一个点)

        make all                                                          # 编译所有模块

        make pack                                                        # 打包

         注:$GOPATH/src/github.com/open-falcon/falcon-plus/ 目录下就多了刚才的压缩包 “open-falcon-v0.2.1.tar.gz”。

1.2 部署open-falcon后端     返回顶部

  https://book.open-falcon.org/zh_0_2/quick_install/backend.html

  1、创建工作目录

      export WORKSPACE=/home/work

      mkdir -p $WORKSPACE

  2、解压二进制包(包名根据实际进行修改) 

      cd $GOPATH/src/github.com/open-falcon/falcon-plus/

      tar -xzvf open-falcon-v0.2.1.tar.gz -C $WORKSPACE

      注:由于我是根据本教程编译源码获得的压缩包,故需要切换到“$GOPATH/src/github.com/open-falcon/falcon-plus/”路径下。

            包名由于make pack的时候就是open-falcon-v0.2.0.tar.gz,具体根据实际情况(17/12/6再部署时发现官方已有0.2.1)。

  3、修改配置文件说明

      下面这些模块需要使用mysql数据库,将下面文件的mysql用户名密码替换成真实的即可

模块 配置文件所在路径
aggregator    /home/work/aggregator/config/cfg.json
graph /home/work/graph/config/cfg.json
hbs /home/work/hbs/config/cfg.json
nodata /home/work/nodata/config/cfg.json
api /home/work/api/config/cfg.json
alarm /home/work/alarm/config/cfg.json

  4、启动后端命令

cd $WORKSPACE
./open-falcon start

# 检查所有模块的启动状况
./open-falcon check

1.2.1 agent配置文件     返回顶部

  1、agent(数据采集组件):golang项目

      1. 需要监控的服务器都要安装falcon-agent,falcon-agent是一个golang开发的daemon程序,用于自发现的采集单机的各种数据和指标

      2. falcon-agent提供了一个proxy-gateway,用户可以方便的通过http接口,push数据到本机的gateway

      3. gateway会将用户push的数据转发到server端,所有自实现的插件都使用这个REST接口传送数据。。

      4. 部署好agent后,能自动获取到系统的基础监控指标,并上报给transfer,agent与transfer建立了TCP长连接,每隔60秒发送一次数据到transfer。

  2、配置说明

      http://192.168.56.12:1988/ 

      vim /home/work/agent/config/cfg.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, 
        "addrs": [
            "127.0.0.1:18433"
        ],                          # transfer的地址,端口是transfer的rpc端口, 可以支持写多个transfer的地址,agent会保证HA
        "interval": 60,             # 采集周期,单位是秒,即agent一分钟采集一次数据发给transfer
        "timeout": 1000             # 连接transfer的超时时间,单位是毫秒
    },
    "http": {
        "enabled": true,            # 是否要监听http端口
        "listen": ":1988",
        "backdoor": false
    },
    "collector": {
        "ifacePrefix": ["eth", "em"],  # 默认配置只会采集网卡名称前缀是eth、em的网卡流量,配置为空就会采集所有的,lo的也会采集。可以从/proc/net/dev看到各个网卡的流量信息
        "mountPoint": []
    },
    "default_tags": {
    },
    "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
    }
}
agent配置文件

  3、进程管理

      ./open-falcon start agent                  启动进程

      ./open-falcon stop agent                  停止进程

      ./open-falcon monitor agent             查看日志

  4、验证agent是否正常

      cd /home/work/agent/bin/

      ./falcon-agent --check

      curl 127.0.0.1:1988/config/reload       # 重载agent配置

  5、/v1/push接口,监控脚本定制

      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

1.2.2 transfer(数据上报)     返回顶部

  1、transfer(数据上报)

      1. transfer进程负责分发从agent上送的监控指标数据,并根据哈希分片。

      2. 将数据分发给judge进程和graph进程,供告警判定和绘图。

  2、服务管理

      ./open-falcon start transfer                     # 启动服务

      curl -s "127.0.0.1:6060/health"              # 校验服务,这里假定服务开启了6060的http监听端口。检验结果为ok表明服务正常启动。

      ./open-falcon stop transfer                     # 停止服务

      ./open-falcon monitor transfer                # 查看日志

  3、补充说明

      部署完成transfer组件后,请修改agent的配置,使其指向正确的transfer地址。

      在安装完graph和judge后,请修改transfer的相应配置、使其能够正确寻址到这两个组件。

  4、配置说明

{
    "debug": true,      # 如果为true,日志中会打印debug信息
    "minStep": 30,      # 允许上报的数据最小间隔,默认为30秒
    "http": {
        "enabled": true,                # 表示是否开启该http端口,该端口为控制端口,主要用来对transfer发送控制命令、统计命令、debug命令等
        "listen": "0.0.0.0:6060"        # 表示监听的http端口
    },
    "rpc": {
        "enabled": true,                # 表示是否开启该jsonrpc数据接收端口, Agent发送数据使用的就是该端口
        "listen": "0.0.0.0:8433"        # 表示监听的http端口
    },
    "socket": {                         # 即将被废弃,请避免使用
        "enabled": true,
        "listen": "0.0.0.0:4444",
        "timeout": 3600
    },
    "judge": { 
        "enabled": true,                # 表示是否开启向judge发送数据
        "batch": 200,                   # 数据转发的批量大小,可以加快发送速度,建议保持默认值
        "connTimeout": 1000,            # 单位是毫秒,与后端建立连接的超时时间,可以根据网络质量微调,建议保持默认
        "callTimeout": 5000,            # 单位是毫秒,发送数据给后端的超时时间,可以根据网络质量微调,建议保持默认
        "maxConns": 32,                 # 连接池相关配置,最大连接数,建议保持默认
        "maxIdle": 32,                  # 连接池相关配置,最大空闲连接数,建议保持默认
        "replicas": 500,                # 这是一致性hash算法需要的节点副本数量,建议不要变更,保持默认即可
        "cluster": {                    # key-value形式的字典,表示后端的judge列表,其中key代表后端judge名字,value代表的是具体的ip:port
            "judge-00" : "0.0.0.0:6080"
        }
    },
    "graph": {
        "enabled": true,                # 表示是否开启向graph发送数据
        "batch": 200,
        "connTimeout": 1000,
        "callTimeout": 5000,
        "maxConns": 32,
        "maxIdle": 32,
        "replicas": 500,
        "cluster": {                      # key-value形式的字典,表示后端的graph列表,其中key代表后端graph名字,value代表的是具体的ip:port
            "graph-00" : "0.0.0.0:6070"   # (多个地址用逗号隔开, transfer会将同一份数据发送至各个地址,利用这个特性可以实现数据的多重备份)
        }
    },
    "tsdb": {
        "enabled": false,                 # 表示是否开启向open tsdb发送数据
        "batch": 200,
        "connTimeout": 1000,
        "callTimeout": 5000,
        "maxConns": 32,
        "maxIdle": 32,
        "retry": 3,                       # 连接后端的重试次数和发送数据的重试次数
        "address": "127.0.0.1:8088"       # tsdb地址或者tsdb集群vip地址, 通过tcp连接tsdb.
    }
}
transfer配置文件

1.2.3 judge(告警判断)     返回顶部

  1、judge(告警判断)

      1.Judge从Heartbeat server获取所有的报警策略,并判断transfer推送的指标数据是否触发告警。

      2. 若触发了告警,judge将会产生告警事件,这些告警事件会写入Redis(使用Redis消息队列)。

      3. redis中告警事件,供处理告警事件的Alarm进程转发告警消息,或是Email,或是手机短信等。

  2、部署说明

      1. Judge监听了一个http端口,提供了一个http接口:/count,访问之,可以得悉当前Judge实例处理了多少数据量。

      2. 推荐的做法是一个Judge实例处理50万~100万数据,用个5G~10G内存,如果所用物理机内存比较大,比如有128G,可以在一个物理机上部署多个Judge实例。

  3、进程管理

      1. ./open-falcon start judge     # 启动

      2. ./open-falcon stop judge      # 停止

      3. ./open-falcon monitor judge         # 查看日志

  4、配置说明

{
    "debug": true,
    "debugHost": "nil",
    "remain": 11,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6081"
    },
    "rpc": {
        "enabled": true,
        "listen": "0.0.0.0:6080"
    },
    "hbs": {
        "servers": ["127.0.0.1:6030"],       # hbs最好放到lvs vip后面,所以此处最好配置为vip:port
        "timeout": 300,
        "interval": 60
    },
    "alarm": {
        "enabled": true,
        "minInterval": 300,                  # 连续两个报警之间至少相隔的秒数,维持默认即可
        "queuePattern": "event:p%v",
        "redis": {
            "dsn": "127.0.0.1:6379",         # 与alarm、sender使用一个redis
            "maxIdle": 5,
            "connTimeout": 5000,
            "readTimeout": 5000,
            "writeTimeout": 5000
        }
    }
}
judge配置文件

1.2.4 Alarm(告警)     返回顶部

  1、Alarm(告警)

      1. Alarm进程监听Redis中的消息队列,并将judge产生的告警事件转发给微信、短信和邮件三种REST接口,REST接口才是具体的发送动作。

      2. 另外,关于告警,每条告警策略都会定义不同的优先级,Redis中的消息队列也按优先级划分。

      3. Alarm不仅消费告警事件,优先级比较低的报警,其合并逻辑都是在alarm中做,所以目前Alarm进程只能部署一个实例。

      4. 已经发送出去的告警事件,Alarm将会负责写入MySQL。

      说明:

        1)我们在配置报警策略的时候配置了报警级别,比如P0/P1/P2等等,每个及别的报警都会对应不同的redis队列 

        2)alarm去读取这个数据的时候我们希望先读取P0的数据,再读取P1的数据,最后读取P5的数据,因为我们希望先处理优先级高的。

      注:alarm是个单点。对于未恢复的告警是放到alarm的内存中的,alarm还需要做报警合并,故而alarm只能部署一个实例。后期需要想办法改进。

  2、部署说明

      1. alarm是个单点,对于未恢复的告警是放到alarm的内存中的,alarm还需要做报警合并,故而alarm只能部署一个实例。需要对alarm的存活做好监控。

  3、进程管理

      ./open-falcon start alarm         # 启动

      ./open-falcon stop alarm           # 停止

      ./open-falcon monitor alarm     # 查看日志

  4、配置说明

{
    "log_level": "debug",
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:9912"
    },
    "redis": {
        "addr": "127.0.0.1:6379",
        "maxIdle": 5,
        "highQueues": [
            "event:p0",
            "event:p1",
            "event:p2"
        ],
        "lowQueues": [
            "event:p3",
            "event:p4",
            "event:p5",
            "event:p6"
        ],
        "userIMQueue": "/queue/user/im",
        "userSmsQueue": "/queue/user/sms",
        "userMailQueue": "/queue/user/mail"
    },
    "api": {
        "im": "http:#127.0.0.1:10086/wechat",      #微信发送网关地址
        "sms": "http:#127.0.0.1:10086/sms",        #短信发送网关地址
        "mail": "http:#127.0.0.1:10086/mail",      #邮件发送网关地址
        "dashboard": "http:#127.0.0.1:8081",       #dashboard模块的运行地址
        "plus_api":"http:#127.0.0.1:8080",         #falcon-plus api模块的运行地址
        "plus_api_token": "default-token-used-in-server-side"       #用于和falcon-plus api模块服务端之间的通信认证token
    },
    "falcon_portal": {
        "addr": "root:@tcp(127.0.0.1:3306)/alarms?charset=utf8&loc=Asia%2FChongqing",
        "idle": 10,
        "max": 100
    },
    "worker": {
        "im": 10,
        "sms": 10,
        "mail": 50
    },
    "housekeeper": {
        "event_retention_days": 7,    #报警历史信息的保留天数
        "event_delete_batch": 100
    }
}
alarm配置文件

  5、报警合并

      1. 如果某个核心服务挂了,可能会造成大面积报警,为了减少报警短信数量,我们做了报警合并功能。

      2. 把报警信息写入dashboard模块,然后dashboard返回一个url地址给alarm,alarm将这个url链接发给用户,
          这样用户只要收到一条短信(里边是个url地址),点击url进去就是多条报警内容。

      3. highQueues中配置的几个event队列中的事件是不会做报警合并的,因为那些是高优先级的报警,报警合并只是针对lowQueues中的事件。

      4. 如果所有的事件都不想做报警合并,就把所有的event队列都配置到highQueues中即可

1.2.5 graph(数据存储&归档)     返回顶部

  1、graph(数据存储&归档)

      1. graph进程接收从transfer推送来的指标数据,操作rrd文件存储监控数据。

      2. graph也为API进程提供查询接口,处理query组件的查询请求、返回绘图数据。

  2、进程管理

      ./open-falcon start graph            # 启动服务

      ./open-falcon stop graph             # 停止服务    

      ./open-falcon monitor graph        # 查看日志

      注:部署完graph组件后,请修改transfer和api的配置,使这两个组件可以寻址到graph。

  3、配置说明

{
    "debug": false,                  #true or false, 是否开启debug日志
    "http": {
        "enabled": true,             #true or false, 表示是否开启该http端口,该端口为控制端口,主要用来对graph发送控制命令、统计命令、debug命令
        "listen": "0.0.0.0:6071"     #表示监听的http端口
    },
    "rpc": {
        "enabled": true,             #true or false, 表示是否开启该rpc端口,该端口为数据接收端口
        "listen": "0.0.0.0:6070"     #表示监听的rpc端口
    },
    "rrd": {
        "storage": "./data/6070"     # 历史数据的文件存储路径(如有必要,请修改为合适的路)
    },
    "db": {
        "dsn": "root:@tcp(127.0.0.1:3306)/graph?loc=Local&parseTime=true", #MySQL的连接信息,默认用户名是root,密码为空,host为127.0.0.1,database为graph(如有必要,请修改)
        "maxIdle": 4                 #MySQL连接池配置,连接池允许的最大连接数,保持默认即可
    },
    "callTimeout": 5000,             #RPC调用超时时间,单位ms
    "ioWorkerNum": 64,               #底层io.Worker的数量, 注意: 这个功能是v0.2.1版本之后引入的,v0.2.1版本之前的配置文件不需要该参数
    "migrate": {                     #扩容graph时历史数据自动迁移
        "enabled": false,            #true or false, 表示graph是否处于数据迁移状态
        "concurrency": 2,            #数据迁移时的并发连接数,建议保持默认
        "replicas": 500,             #这是一致性hash算法需要的节点副本数量,建议不要变更,保持默认即可(必须和transfer的配置中保持一致)
        "cluster": {                 #未扩容前老的graph实例列表
            "graph-00" : "127.0.0.1:6070"
        }
    }
}
graph配置文件

1.2.6 API     返回顶部

  1、API提供统一的restAPI操作接口) :go的后端模块

      1. API组件,提供统一的绘图数据查询入口 (提供http接口))。

      2. API组件接收查询请求,根据一致性哈希算法去相应的graph实例查询不同metric的数据,然后汇总拿到的数据,最后统一返回给用户。

      补充说明:

        部署完成api组件后,请修改dashboard组件的配置、使其能够正确寻址到api组件。

        请确保api组件的graph列表 与 transfer的配置 一致。

  2、进程管理

      ./open-falcon start api                # 启动服务

      ./open-falcon stop api                # 停止服务

      ./open-falcon monitor api           # 查看日志

  3、配置说明

{
    "log_level": "debug",
    "db": {                       //数据库相关的连接配置信息
        "faclon_portal": "root:@tcp(127.0.0.1:3306)/falcon_portal?charset=utf8&parseTime=True&loc=Local",
        "graph": "root:@tcp(127.0.0.1:3306)/graph?charset=utf8&parseTime=True&loc=Local",
        "uic": "root:@tcp(127.0.0.1:3306)/uic?charset=utf8&parseTime=True&loc=Local",
        "dashboard": "root:@tcp(127.0.0.1:3306)/dashboard?charset=utf8&parseTime=True&loc=Local",
        "alarms": "root:@tcp(127.0.0.1:3306)/alarms?charset=utf8&parseTime=True&loc=Local",
        "db_bug": true
    },
    "graphs": {                  // graph模块的部署列表信息
        "cluster": {
            "graph-00": "127.0.0.1:6070"
        },
        "max_conns": 100,
        "max_idle": 100,
        "conn_timeout": 1000,
        "call_timeout": 5000,
        "numberOfReplicas": 500
    },
    "metric_list_file": "./api/data/metric",
    "web_port": ":8080",                       // http监听端口
    "access_control": true,                    // 如果设置为false,那么任何用户都可以具备管理员权限
    "salt": "pleaseinputwhichyouareusingnow",  //数据库加密密码的时候的salt
    "skip_auth": false,                        //如果设置为true,那么访问api就不需要经过认证
    "default_token": "default-token-used-in-server-side",         //用于服务端各模块间的访问授权
    "gen_doc": false,
    "gen_doc_path": "doc/module.html"
}
API配置说明

1.2.7 Aggregator     返回顶部

  1、Aggregator

      1. 集群聚合模块,聚合某集群下的所有机器的某个指标的值,提供一种集群视角的监控体验。

  2、进程管理

      ./open-falcon start aggregator                  # 启动服务

      ./open-falcon monitor aggregator              # 检查log

      ./open-falcon stop aggregator                 # 停止服务

  3、配置说明

{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6055"
    },
    "database": {
        "addr": "root:@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true",
        "idle": 10,
        "ids": [1, -1],
        "interval": 55
    },
    "api": {
        "connect_timeout": 500,
        "request_timeout": 2000,
        "plus_api": "http://127.0.0.1:8080",                           #falcon-plus api模块的运行地址
        "plus_api_token": "default-token-used-in-server-side",         #和falcon-plus api 模块交互的认证token
        "push_api": "http://127.0.0.1:1988/v1/push"                    #push数据的http接口,这是agent提供的接口
    }
}
Aggregator配置说明

1.2.8 Nodata     返回顶部

  1、Nodata

      1. nodata用于检测监控数据的上报异常。

      2. nodata和实时报警judge模块协同工作,过程为: 配置了nodata的采集项超时未上报数据,nodata生成一条默认的模拟数据;

      3. 用户配置相应的报警策略,收到mock数据就产生报警。

      4. 采集项上报异常检测,作为judge模块的一个必要补充,能够使judge的实时报警功能更加可靠、完善。

  2、进程管理

      ./open-falcon start nodata              # 启动服务

      ./open-falcon stop nodata             # 停止服务

      ./open-falcon monitor nodata          # 检查日志

  3、配置说明

{
    "debug": true,
    "http": {
        "enabled": true,
        "listen": "0.0.0.0:6090"
    },
    "plus_api":{
        "connectTimeout": 500,
        "requestTimeout": 2000,
        "addr": "http://127.0.0.1:8080",                 #falcon-plus api模块的运行地址
        "token": "default-token-used-in-server-side"     #用于和falcon-plus api模块的交互认证token
    },
    "config": {
        "enabled": true,
        "dsn": "root:@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true&wait_timeout=604800",
        "maxIdle": 4
    },
    "collector":{
        "enabled": true,
        "batch": 200,
        "concurrent": 10
    },
    "sender":{
        "enabled": true,
        "connectTimeout": 500,
        "requestTimeout": 2000,
        "transferAddr": "127.0.0.1:6060",                #transfer的http监听地址,一般形如"domain.transfer.service:6060"
        "batch": 500
    }
}
Nodata配置说明

1.3 部署前端(dashboard)     返回顶部

  1、创建工作目录

export FRONTSPACE=/home/front/open-falcon
mkdir -p $FRONTSPACE

  2、克隆前端组件代码

cd $FRONTSPACE
git clone https://github.com/open-falcon/dashboard.git

  3、安装依赖包

yum install -y python-virtualenv
yum install -y python-devel
yum install -y openldap-devel
yum install -y mysql-devel
yum groupinstall "Development tools" -y

cd $FRONTSPACE/dashboard/
virtualenv ./env

./env/bin/pip install -r pip_requirements.txt

  4、修改配置

      注:由于前端后台搭在一台虚拟机里,且暂时不接入LDAP,且数据库root的密码为空,故先不修改配置文件。

# dashboard的配置文件为: '/home/front/open-falcon/dashboard/rrd/config.py',请根据实际情况修改

#1、portal database
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","1")

#2、alarm database
ALARM_DB_USER = os.environ.get("ALARM_DB_USER","root")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","1")

  5、启动服务

    浏览器打开: http://192.168.56.12:8081

    1)开发者模式启动

        cd $FRONTSPACE/dashboard/

        ./env/bin/python wsgi.py

    2)在生产环境启动

        bash control start            # 在生产环境启动

        bash control stop         # 停止dashboard运行

        bash control tail             # 查看日志

1.4 被监控主机安装open-falcon agent     返回顶部

    参考博客: https://blog.csdn.net/qq_27384769/article/details/79569776 

  1、在被监控服务器中创建工作目录

# 1、在被监控服务器中创建工作目录
mkdir -p /home/work/

# 2、将server端agent文件夹和启动脚本 拷贝到被监控服务器上
scp -r /home/work/agent/ root@192.168.56.13:/home/work/                 # 拷贝agent目录
scp -r /home/work/open-falcon root@192.168.56.13:/home/work/            # 拷贝启动脚本

# 3、修改配置文件
vim /home/work/agent/config/cfg.json
{
    "debug": true,
    "hostname": "",
    "ip": "",
    "plugin": {
        "enabled": false,
        "dir": "./plugin",
        "git": "https://github.com/open-falcon/plugin.git",
        "logs": "./logs"
    },
    "heartbeat": {
        "enabled": true,
        "addr": "192.168.56.12:6030",
        "interval": 60,
        "timeout": 1000
    },
    "transfer": {
        "enabled": true,
        "addrs": [
            "192.168.56.12:8433"
        ],
        "interval": 60,
        "timeout": 1000
    },
    "http": {
        "enabled": true,
        "listen": ":1988",
        "backdoor": false
    },
    "collector": {
        "ifacePrefix": ["eth", "em"],
        "mountPoint": []
    },
    "default_tags": {
    },
    "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
    }
}
/home/work/agent/config/cfg.json

  2、agent进程管理

      ./open-falcon start agent                  启动进程

      ./open-falcon stop agent                  停止进程

      ./open-falcon monitor agent             查看日志

 

posted @ 2019-03-21 09:29  不做大哥好多年  阅读(905)  评论(0编辑  收藏  举报