运维监控:openfalcon部署

作者: 李孝伟 | 来源:发表于2018-10-23 15:40 被阅读84次

    使用源码安装需要安装各种依赖,这里采用的是docker安装,直接拉取镜像启动。
    源码安装的小伙伴->官方直通车:https://github.com/open-falcon/falcon-plus/
    docker部署地址:
    https://github.com/open-falcon/falcon-plus/tree/master/docker

    1. 拉取mysql镜像并启动
        ## start mysql in container
        docker run -itd \
            --name falcon-mysql \
            -v /home/work/mysql-data:/var/lib/mysql \
            -e MYSQL_ROOT_PASSWORD=test123456 \
            -p 3306:3306 \
            mysql:5.7
    
        ## init mysql table before the first running
        cd /tmp && \
        git clone --depth=1 https://github.com/open-falcon/falcon-plus && \
        cd /tmp/falcon-plus/ && \
        for x in `ls ./scripts/mysql/db_schema/*.sql`; do
            echo init mysql table $x ...;
            docker exec -i falcon-mysql mysql -uroot -ptest123456 < $x;
        done
    
        rm -rf /tmp/falcon-plus/
    

    2.拉取redis并启动

    docker run --name falcon-redis -p6379:6379 -d redis:4-alpine3.8
    
    1. 拉取falconplus并启动
        ## pull images from hub.docker.com/openfalcon 拉取镜像
        docker pull openfalcon/falcon-plus:v0.2.1
        
        ## run falcon-plus container  启动镜像,主要mysql密码端口,以及映射的文件路径
        docker run -itd --name falcon-plus \
             --link=falcon-mysql:db.falcon \
             --link=falcon-redis:redis.falcon \
             -p 8433:8433 \
             -p 8080:8080 \
             -e MYSQL_PORT=root:test123456@tcp\(db.falcon:3306\) \
             -e REDIS_PORT=redis.falcon:6379  \
             -v /home/work/open-falcon/data:/open-falcon/data \
             -v /home/work/open-falcon/logs:/open-falcon/logs \
             openfalcon/falcon-plus:v0.2.1
        
        ## start falcon backend modules, such as graph,api,etc.  一次启动所有服务
        docker exec falcon-plus sh ctrl.sh start \
                graph hbs judge transfer nodata aggregator agent gateway api alarm
        
        ## or you can just start/stop/restart specific module as:  启动单个服务xxx
        docker exec falcon-plus sh ctrl.sh start/stop/restart xxx
    
        ## check status of backend modules 检测是否安装ok
        docker exec falcon-plus ./open-falcon check
        
        ## or you can check logs at /home/work/open-falcon/logs/ in your host 看下日志文件
        ls -l /home/work/open-falcon/logs/
    
       浏览器访问:
      http://ip:8081
    

    Agent 作为数据收集的模块,需要每台机器都部署,这个省不了。
    单独-agent地址:
    https://github.com/open-falcon-archive/agent
    需要go语言环境(!!!Go >= 1.6)

    https://dl.google.com/go/go1.10.linux-amd64.tar.gz
    tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz
    
    vi /etc/profile
    export PATH=$PATH:/usr/local/go/bin
    export GOPATH=/opt/gopath
    
    go version
    
    

    一次编译打包后,可以直接将包分发到其他机器,其他机器不需要go语言环境,直接解压启动即可,记得修改配置文件。

    # set $GOPATH and $GOROOT
    mkdir -p $GOPATH/src/github.com/open-falcon
    cd $GOPATH/src/github.com/open-falcon
    git clone https://github.com/open-falcon/agent.git
    cd agent
    go get ./...
    ./control build    编译
    ./control start    启动
    ./control pack  打包  
    
    ./falcon-agent --check 检查
    
    

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

    cp cfg.example.json 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, # 此处enabled要设置为true
            "addrs": [
                "127.0.0.1:8433"
            ], # transfer的地址,端口是transfer的rpc端口, 可以支持写多个transfer的地址,agent会保证HA
            "interval": 60, # 采集周期,单位是秒,即agent一分钟采集一次数据发给transfer
            "timeout": 1000 # 连接transfer的超时时间,单位是毫秒
        },
        "http": {
            "enabled": true, # 是否要监听http端口
            "listen": ":1988" # 如果监听的话,监听的地址
        },
        "collector": {
            "ifacePrefix": ["eth", "em"] # 默认配置只会采集网卡名称前缀是eth、em的网卡流量,配置为空就会采集所有的,lo的也会采集。可以从/proc/net/dev看到各个网卡的流量信息
        },
        "ignore": { # 默认采集了200多个metric,可以通过ignore设置为不采集
            "cpu.busy": true,
            "mem.swapfree": true
        }
    }
    

    相关文章

      网友评论

        本文标题:运维监控:openfalcon部署

        本文链接:https://www.haomeiwen.com/subject/lyrazftx.html