zoukankan      html  css  js  c++  java
  • 小米监控 open-falcon部署

    具体详情请参考官方文档  http://book.open-falcon.org/zh_0_2/quick_install/    centos6.8    建议centos7系统  否则后面按照官方文档来是有很多问题的   需要解决Python依赖问题    Python2.7 版本以上,由于centos6.8  pyhton默认版本是 2.6

    环境准备

    安装redis

    yum install -y redis
    

    安装mysql

    yum install -y mysql-server  #可以选择源码编译安装
    

    注意,请确保redis和MySQL已启动。

    初始化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/

    下载版本包

    https://github.com/open-falcon/falcon-plus/releases/download/v0.2.0/open-falcon-v0.2.0.tar.gz

    启动后端

    配置go语言开发环境

    yum install golang -y  #需要epel

     go version

    go version go1.9.4 linux/amd64

    [root@ db_schema]# find / -name go

    /etc/alternatives/go

    /var/lib/alternatives/go

    /usr/bin/go

    /usr/lib/golang/pkg/linux_amd64/cmd/go   

    /usr/lib/golang/pkg/linux_amd64/go

    /usr/lib/golang/bin/go

    /usr/lib/golang/src/cmd/go   #需要这个路劲

    /usr/lib/golang/src/go

    export GOROOT=/usr/lib/golang
    export GOPATH=/usr/local
    export FALCON_HOME=/usr/local
    export WORKSPACE=$FALCON_HOME/open-falcon

    创建工作目录

    创建工作目录

    export FALCON_HOME=/usr/local

    export WORKSPACE=$FALCON_HOME/open-falcon

    mkdir -p $WORKSPACE

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

    首先确认配置文件中数据库账号密码与实际相同,否则需要修改配置文件。

    cd $WORKSPACE
    grep -Ilr 3306  ./ | xargs -n1 -- sed -i 's/root:password/real_user:real_password/g'

    [root@sz_fy_nginx_haproxy_11_147 open-falcon]# cat aggregator/config/cfg.json 
    {
        "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",  #默认账户是root   密码为空   修改成对应的账户密码  并在mysql里面授权
            "idle": 10,
            "ids": [1, -1],
            "interval": 55
        },
        "api": {
            "connect_timeout": 500,
            "request_timeout": 2000,
            "plus_api": "http://127.0.0.1:8099",
            "plus_api_token": "default-token-used-in-server-side",
            "push_api": "http://127.0.0.1:1988/v1/push"
        }
    }

    mysql> grant all on falcon_portal.* to falcon@'localhost' identified by 'xxx';
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    
    

    mysql> grant all on graph.* to falcon@'localhost' identified by 'xxx';
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    
    

    mysql> grant all on alarms.* to falcon@'localhost' identified by 'xxx';
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    
    

    mysql> grant all on dashboard.* to falcon@'localhost' identified by 'xxx';
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    
    

    mysql> grant all on uic.* to falcon@'localhost' identified by 'xxx';
    Query OK, 0 rows affected, 1 warning (0.00 sec)

     

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

    更多的命令行工具用法

    # ./open-falcon [start|stop|restart|check|monitor|reload] module
    ./open-falcon start agent
    
    ./open-falcon check
            falcon-graph         UP           53007
              falcon-hbs         UP           53014
            falcon-judge         UP           53020
         falcon-transfer         UP           53026
           falcon-nodata         UP           53032
       falcon-aggregator         UP           53038
            falcon-agent         UP           53044
          falcon-gateway         UP           53050
              falcon-api         UP           53056
            falcon-alarm         UP           53063
    
    For debugging , You can check $WorkDir/$moduleName/log/logs/xxx.log

    安装前端,这里选择在一台机器上面部署
    cd $WORKSPACE
    git clone https://github.com/open-falcon/dashboard.git
    

    安装依赖包

    yum install -y python-virtualenv
    yum install -y python-devel
    yum install -y openldap-devel
    #yum install -y mysql-devel
    yum groupinstall "Development tools"
    
    
    cd $WORKSPACE/dashboard/
    virtualenv ./env
    
    ./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple   #centos6上面执行是通不过的 ,解决办法  升级Python2.7 (暂未验证,不建议随便升级系统Python版本,会影响系统稳定性)   或者如下操作

    解决

    wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py

     python ez_setup.py --insecure

    wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz

    [root@open-falcon-server dashboard]# tar xf pip-9.0.1.tar.gz

    [root@open-falcon-server dashboard]# cd pip-9.0.1

    [root@open-falcon-server pip-9.0.1]# python setup.py install

    [root@open-falcon-server dashboard]# pip install -r pip_requirements.txt

      Running setup.py install for python-dateutil ... done

      Running setup.py install for python-ldap ... done

    Successfully installed Babel-2.5.3 Flask-0.10.1 Flask-Babel-0.9 Jinja2-2.7.2 Werkzeug-0.9.4 gunicorn-19.1.1 itsdangerous-0.24 markupsafe-1.0 python-dateutil-2.2 python-ldap-2.5.2 pytz-2018.4 requests-2.3.0 six-1.11.0 speaklater-1.3

    
    

    修改配置

    dashboard的配置文件为: 'rrd/config.py',请根据实际情况修改
    
    ## API_ADDR 表示后端api组件的地址
    API_ADDR = "http://127.0.0.1:8080/api/v1" 
    
    ## 根据实际情况,修改PORTAL_DB_*, 默认用户名为root,默认密码为""
    ## 根据实际情况,修改ALARM_DB_*, 默认用户名为root,默认密码为""
    

    以开发者模式启动

    ./env/bin/python wsgi.py
    
    open http://127.0.0.1:8081 in your browser.
    

    在生产环境启动

    bash control start
    
    open http://127.0.0.1:8081 in your browser.
    

    停止dashboard运行

    bash control stop
    

    查看日志

    bash control tail
    访问测试  ip:8081
    
    

    dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
    想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
    超级管理员可以给普通用户分配权限管理。
    
    
  • 相关阅读:
    abs() 与fabs() 的区别辨析
    TCP服务端如何判断客户端断开连接学习
    数据结构与算法李春葆 第二章思维导图
    数据结构与算法思维导图第一章
    关于临时表的操作
    关于 ANSI_NULLS和QUOTED_IDENTIFIER
    临时表和视图的区别
    关于CancellationToken的解释
    在项目中添加signalr.js
    数据库存储过程的写法
  • 原文地址:https://www.cnblogs.com/hellojackyleon/p/9110128.html
Copyright © 2011-2022 走看看