二、监控之open-falcon

二、open-falcon安装(单机版)

官方文档:https://book.open-falcon.org/zh_0_2/quick_install/

部署环境:
系统均为:centos7.6

102:open-falcon
103:agent mysql
104:agent msyql
105:agent nginx/redis mysql
106:agent nginx 

2.1、安装redis(epel源)

yum install redis -y

2.2、安装mysql

1、安装mysql

yum install mysql-server -y

2、数据库初始化

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/
# 下载open-falcon源码
cd /root/ && git clone https://github.com/open-falcon/falcon-plus.git 

# 导入表结构
vim /root/into_mysql.sh

SQL_DIR=/root/falcon-plus/scripts/mysql/db_schema/
MYSQL_HOST='127.0.0.1'
MYSQL_USER='openfalcon'
MYSQL_PASSWD='openfalcon'

for i in `ls ${SQL_DIR}`
do
    mysql -h ${MYSQL_HOST} -u${MYSQL_USER} -p${MYSQL_PASSWD} < ${SQL_DIR}$i
done

# 授权
chmod 755 /root/into_mysql.sh
sh  /root/into_mysql.sh

2.4、安装go环境

1、下载go安装包

cd /usr/local/src/
wget https://dl.google.com/go/go1.14.linux-amd64.tar.gz

2、解压包

tar xf go1.14.linux-amd64.tar.gz 

3、添加go的环境变量

vim /etc/profile
# 在最后添加如下一行
export PATH=$PATH:/usr/local/src/go/bin
# 重新加载配置文件
source /etc/profile

验证

[root@open-falcon-master falcon-plus]# go
Go is a tool for managing Go source code.

Usage:

	go <command> [arguments]

The commands are:

#有以上信息即为go环境安装成功

4、更换go源成阿里云源

go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/

# 检查是否更改成功,出现如下成功

go env | grep GOPROXY
GOPROXY="https://mirrors.aliyun.com/goproxy/"

5、执行go包存放地址创建目录

cd /usr/local/src/falcon-plus/
go get # 等几秒钟,ctrl +c 终止命令 

观察/root/目录下是否出现go文件夹

6、项目源代码迁移

cp -rf /usr/local/src/falcon-plus/ /root/go/src/github.com/open-falcon/
cd /root/go/src/github.com/open-falcon/falcon-plus/

#执行编译
make all

#执行打包

make pack

有如下提示则为成功

7、创建工作目录里并解压二进制包到工作目录里中

mkdir work
cd /root/go/src/github.com/open-falcon/falcon-plus
tar -xzvf open-falcon-v0.3.x.tar.gz -C /root/work

8、启动所有后端组件

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

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

2、启动

[root@open-falcon-master]./open-falcon start
[falcon-graph] 14848
[falcon-hbs] 14856
[falcon-judge] 14864
[falcon-transfer] 14870
[falcon-nodata] 14876
[falcon-aggregator] 14883
[falcon-agent] 14891
[falcon-gateway] 14897
[falcon-api] 14903
[falcon-alarm] 14917

3、检查模块启动情况

[root@open-falcon-master]./open-falcon check
        falcon-graph         UP           14848
          falcon-hbs         UP           14856
        falcon-judge         UP           14864
     falcon-transfer         UP           14870
       falcon-nodata         UP           14876
   falcon-aggregator         UP           14883
        falcon-agent         UP           14891
      falcon-gateway         UP           14897
          falcon-api         UP           14903
        falcon-alarm         UP           14917

2.5、安装open-falcon前端

1、创建工作目录

mkdir /root/qwork

2、克隆前端dashboard组件代码

cd /root/qwork
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"

4、创建python虚拟环境

cd dashboard/
virtualenv ./env

5、安装python依赖包,pip依赖

./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple


# 如果有类似提示

You are using pip version 9.0.1, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
# 更新pip,然后重新执行上面命令即可
./env/bin/pip install --upgrade pip

6、修改配置文件

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

## API_ADDR 表示后端api组件的地址
API_ADDR = "http://127.0.0.1:8080/api/v1" 

## 根据实际情况,修改PORTAL_DB_*, 默认用户名为root,默认密码为""
## 根据实际情况,修改ALARM_DB_*, 默认用户名为root,默认密码为""

配置详情

vim rrd/config

# portal database
# TODO: read from api instead of db
PORTAL_DB_HOST = os.environ.get("PORTAL_DB_HOST","127.0.0.1")
PORTAL_DB_PORT = int(os.environ.get("PORTAL_DB_PORT",3306))
PORTAL_DB_USER = os.environ.get("PORTAL_DB_USER","root")
PORTAL_DB_PASS = os.environ.get("PORTAL_DB_PASS","")
PORTAL_DB_NAME = os.environ.get("PORTAL_DB_NAME","falcon_portal")

# alarm database
# TODO: read from api instead of db
ALARM_DB_HOST = os.environ.get("ALARM_DB_HOST","127.0.0.1")
ALARM_DB_PORT = int(os.environ.get("ALARM_DB_PORT",3306))
ALARM_DB_USER = os.environ.get("ALARM_DB_USER","root")
ALARM_DB_PASS = os.environ.get("ALARM_DB_PASS","")
ALARM_DB_NAME = os.environ.get("ALARM_DB_NAME","alarms")


2.7、启动

1、以开发者启动

./env/bin/python wsgi.py

open http://127.0.0.1:8081 in your browser.

2、在生产环境启动

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

# 停止dashboard运行
bash control stop

# 查看日志
bash control tail

注意

- dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
- `想拥有管理全局的超级管理员账号`,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
- 超级管理员可以给普通用户分配权限管理

小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。 只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。 当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可
原文地址:https://www.cnblogs.com/pansn/p/13054522.html