• Ubuntu下安装open-falcon-v0.2.1


    在Ubuntu下安装open-falcon和Centos下安装的方法有点区别,因为Ubuntu使用的包管理器是apt-get,而Centos下使用的是Yum,建议不要再Ubuntu下使用yum

    建议自己下载源码打包二进制包来安装,因为官方给出的二进制包应该是再centos下打包的,再Ubuntu下运行可能会出现问题

    1.安装Go,首先去官网下载,需要fq

    https://golang.org
    

    顺便安装Goland,注册服务器 http://idea.youbbs.org

    2.在/etc/profile中添加,后source /etc/profile

    #Go
    export GOROOT=/home/lintong/software/go
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    export GOPATH=/home/lintong/software/gopath
    

    验证是否安装成功

    go version
    go version go1.10.2 linux/amd64
    

    接下来参考

    Ubuntu 16.04 部署 open-falcon

    运维监控系统之Open-Falcon

    Open-falcon的官方README

     3.安装redis和mysql

    sudo apt-get install redis-server
    sudo apt-get install mysql-server
    

     确保两个服务已经启动

    systemctl status mysql redis-server
    

     

    4.下载open-falcon源码,地址

    https://github.com/open-falcon/falcon-plus
    

     初始化MySQL表结构

    mkdir -p $GOPATH/src/github.com/open-falcon
    cd $GOPATH/src/github.com/open-falcon/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
    

    5. 编译二进制包

    cd $GOPATH/src/github.com/open-falcon/falcon-plus/
    # make all modules
    make all
    # make specified module
    make agent
    # pack all modules
    make pack
    

     打包成功,在目录下多了文件open-falcon-v0.2.1.tar.gz

    lintong@lintong-B250M-DS3H:~/software/go/src/github.com/open-falcon/falcon-plus$ make all
    go build -o bin/agent/falcon-agent ./modules/agent
    go build -o bin/aggregator/falcon-aggregator ./modules/aggregator
    go build -o bin/graph/falcon-graph ./modules/graph
    go build -o bin/hbs/falcon-hbs ./modules/hbs
    go build -o bin/judge/falcon-judge ./modules/judge
    go build -o bin/nodata/falcon-nodata ./modules/nodata
    go build -o bin/transfer/falcon-transfer ./modules/transfer
    go build -o bin/gateway/falcon-gateway ./modules/gateway
    go build -o bin/api/falcon-api ./modules/api
    go build -o bin/alarm/falcon-alarm ./modules/alarm
    go build -ldflags "-X main.GitCommit=`git rev-parse --short HEAD` -X main.Version=0.2.1" -o open-falcon
    lintong@lintong-B250M-DS3H:~/software/go/src/github.com/open-falcon/falcon-plus$ make agent
    go build -o bin/agent/falcon-agent ./modules/agent
    lintong@lintong-B250M-DS3H:~/software/go/src/github.com/open-falcon/falcon-plus$ make pack
    go build -ldflags "-X main.GitCommit=`git rev-parse --short HEAD` -X main.Version=0.2.1" -o open-falcon
    tar -C out -zcf open-falcon-v0.2.1.tar.gz .
    

     6.解压到安装目录

    mkdir ~/software/open-falcon-v0.2.1
    tar -zxvf open-falcon-v0.2.1.tar.gz -C ~/software/open-falcon-v0.2.1/
    

     7.安装open-falcon的前端框架dashboard

    cd ~/software/open-falcon-v0.2.1
    git clone https://github.com/open-falcon/dashboard.git
    

    8.修改数据库密码,因为open-falcon需要操作数据库,这一步是官方教程中没有提到的

    如果没有进行修改的话,在open-falcon-v0.2.1目录下使用./open-falcon start命令进行启动之后,使用./open-falcon check检查组件的状态,有些使用mysql的组件的状态是down

    下面列出了使用mysql的组件,总共有6个:aggregator,graph、hbs、nodata、api、alarm模块

    需要对这些组件的配置文件进行修改:

    vim ~/software/open-falcon-v0.2.1/aggregator/config/cfg.json
    

    修改成

     

    其他配置文件的修改方式类似

    vim graph/config/cfg.json
    

    vim hbs/config/cfg.json
    

    vim nodata/config/cfg.json
    

     

    vim api/config/cfg.json # 5处全部修改
    

    vim alarm/config/cfg.json
    

    接下来需要在前端组件中,配置数据库密码

    cd ~/software/open-falcon-v0.2.1/dashboard/rrd
    vim config.py
    

     

    9.安装Python的依赖,在Ubuntu下不要使用Yum

    sudo apt-get install python-pip python-virtualenv
    sudo apt-get install python-dev
    sudo apt-get install ldap-utils
    sudo apt-get install libmysqld-dev
    

    10.安装virtualenv的运行环境,在服务器上是不建议直接pip安装的,因为Python包的冲突可能会影响到别人的服务

    ~/software/open-falcon-v0.2.1/dashboard
    virtualenv ./env
    ./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
    

     如果出现 Failed building wheel for python-ldap 的问题
    请参考      Installing python-ldap in Ubuntu 

    sudo apt-get install python-dev
    sudo apt-get install libldap2-dev
    sudo apt-get install libsasl2-dev
    # 然后再
    ./env/bin/pip install python-ldap
    

    请确保每个Python包都安装到位,成功如下

    ./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
    Looking in indexes: https://pypi.douban.com/simple
    Requirement already satisfied: Flask==0.10.1 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 1)) (0.10.1)
    Requirement already satisfied: Flask-Babel==0.9 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 2)) (0.9)
    Requirement already satisfied: Jinja2==2.7.2 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 3)) (2.7.2)
    Requirement already satisfied: Werkzeug==0.9.4 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 4)) (0.9.4)
    Requirement already satisfied: gunicorn==19.1.1 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 5)) (19.1.1)
    Requirement already satisfied: python-dateutil==2.2 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 6)) (2.2)
    Requirement already satisfied: requests==2.3.0 in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 7)) (2.3.0)
    Requirement already satisfied: mysql-python in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 8)) (1.2.5)
    Requirement already satisfied: python-ldap in ./env/lib/python2.7/site-packages (from -r pip_requirements.txt (line 9)) (3.0.0)
    Requirement already satisfied: itsdangerous>=0.21 in ./env/lib/python2.7/site-packages (from Flask==0.10.1->-r pip_requirements.txt (line 1)) (0.24)
    Requirement already satisfied: speaklater>=1.2 in ./env/lib/python2.7/site-packages (from Flask-Babel==0.9->-r pip_requirements.txt (line 2)) (1.3)
    Requirement already satisfied: Babel>=1.0 in ./env/lib/python2.7/site-packages (from Flask-Babel==0.9->-r pip_requirements.txt (line 2)) (2.5.3)
    Requirement already satisfied: markupsafe in ./env/lib/python2.7/site-packages (from Jinja2==2.7.2->-r pip_requirements.txt (line 3)) (1.0)
    Requirement already satisfied: six in ./env/lib/python2.7/site-packages (from python-dateutil==2.2->-r pip_requirements.txt (line 6)) (1.11.0)
    Requirement already satisfied: pyasn1-modules>=0.1.5 in ./env/lib/python2.7/site-packages (from python-ldap->-r pip_requirements.txt (line 9)) (0.2.1)
    Requirement already satisfied: pyasn1>=0.3.7 in ./env/lib/python2.7/site-packages (from python-ldap->-r pip_requirements.txt (line 9)) (0.4.2)
    Requirement already satisfied: pytz>=0a in ./env/lib/python2.7/site-packages (from Babel>=1.0->Flask-Babel==0.9->-r pip_requirements.txt (line 2)) (2018.4)
    

    11.启动open-falcon的后端,注意check的时候,每个组件需要都是up状态,down状态说明出了问题

    cd ~/software/open-falcon-v0.2.1
    ./open-falcon start
    
    [falcon-graph] 16736
    [falcon-hbs] 16749
    [falcon-judge] 16763
    [falcon-transfer] 16774
    [falcon-nodata] 16786
    [falcon-aggregator] 16797
    [falcon-agent] 16809
    [falcon-gateway] 16819
    [falcon-api] 16829
    [falcon-alarm] 16844
    
    ./open-falcon check
    
            falcon-graph         UP           16736 
              falcon-hbs         UP           16749 
            falcon-judge         UP           16763 
         falcon-transfer         UP           16774 
           falcon-nodata         UP           16786 
       falcon-aggregator         UP           16797 
            falcon-agent         UP           16809 
          falcon-gateway         UP           16819 
              falcon-api         UP           16829 
            falcon-alarm         UP           16844
    

     以开发者模式启动前端组件

    ./env/bin/python wsgi.py
    

    12.访问 127.0.0.1:8081,注册一个自己的账号和密码,然后登录,成功

     

  • 相关阅读:
    C#获取Excel Sheet名称,对特殊字符、重名进行了处理
    10个你必须知道的jQueryMobile代码片段
    HTML 5 学习之应用程序缓存
    JS取地址栏参数的两种方法
    关于AJAX+HTML5+ASHX进行全静态页面的数据交互
    重病后的重生
    非常值得学习的java 绘图板源代码
    C#开发者通用性代码审查清单
    【week3】四人小组项目—东师论坛
    【week2】结对编程-四则运算 及感想
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/8978710.html
Copyright © 2020-2023  润新知