1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
#!/bin/bash
#This is Open-Falcon install script
#Data is 2018/1/10
#Editer Zhanxing 
#本脚本使用Red 7和CentOS 7系统安装Open-Falcon
install_preparation()
{
yum 
install 
-y wget vim
yum 
install 
-y git  pip epel-release golang  redis 
python get-pip.py
pip 
install 
gunicorn
systemctl start redis
systemctl 
enable 
redis
systemctl stop firewalld
systemctl disable firewalld
sed 
-i 
"s/SELINUX=enforcing/SELINUX=disabled/"  
/etc/selinux/config
setenforce 0 
}
install_mysql()
{
wget -P 
/tmp 
http:
//repo
.mysql.com
/mysql-community-release-el7-5
.noarch.rpm
    
if 
[ $? -
eq 
0 ]; 
then
        
echo 
"mysql yum源下载成功"
    
else
        
echo 
"mysql yum源下载失败"
        
exit
    
fi
rpm -ivh 
/tmp/mysql-community-release-el7-5
.noarch.rpm
yum 
install 
mysql-server -y
    
if 
[ $? -
eq 
0 ]; 
then
        
echo 
"mysql 安装成功"
    
else
        
echo 
"mysql 安装失败"
        
exit
    
fi
systemctl start mysql
systemctl 
enable 
mysql
echo 
"自行设置MySQL密码,方便记录"
read 
-p 
"please input mysql password:"
pwd
mysqladmin -u root password 
"$pwd"
export 
GOROOT=
/usr/lib/golang
export 
GOPATH=
/home
mkdir 
-p $GOPATH
/src/github
.com
/open-falcon
cd 
$GOPATH
/src/github
.com
/open-falcon
git clone https:
//github
.com
/open-falcon/falcon-plus
.git
    
if 
[ $? -
eq 
0 ]; 
then
        
echo 
"git源码成功"
    
else
        
echo 
"git源码失败"
        
exit
    
fi
cd 
$GOPATH
/src/github
.com
/open-falcon/falcon-plus/scripts/mysql/db_schema/
#mysql -u root -p123.com  < /home/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p$
pwd 
< 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p$
pwd 
< 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p$
pwd 
< 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p$
pwd 
< 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p$
pwd 
< 5_alarms-db-schema.sql
cd 
$GOPATH
/src/github
.com
/open-falcon/falcon-plus/
go get github.com
/open-falcon/rrdlite
make 
all
make 
pack
}
install_after()
{
export 
WORKSPACE= 
mkdir 
-p $WORKSPACE
cd 
$GOPATH
/src/github
.com
/open-falcon/falcon-plus/
tar 
-xzvf *.
tar
.gz -C $WORKSPACE
sed 
-i 
's/root:/root:$pwd/g' 
/home/work/aggregator/config/cfg
.json
sed 
-i 
's/root:/root:$pwd/g' 
/home/work/graph/config/cfg
.json
sed 
-i 
's/root:/root:$pwd/g' 
/home/work/hbs/config/cfg
.json
sed 
-i 
's/root:/root:$pwd/g' 
/home/work/nodata/config/cfg
.json
sed 
-i 
's/root:/root:$pwd/g' 
/home/work/api/config/cfg
.json
sed 
-i 
's/root:/root:$pwd/g' 
/home/work/alarm/config/cfg
.json
cd 
$WORKSPACE
.
/open-falcon 
start
    
if 
[ $? -
eq 
0 ]; 
then
        
echo 
"open-falcon启动成功"
    
else
        
echo 
"open-falcon启动失败"
        
exit
    
fi
}
install_before()
{
export 
FRONTSPACE=
/home/front/open-falcon
mkdir 
-p $FRONTSPACE
cd 
$FRONTSPACE
git clone https:
//github
.com
/open-falcon/dashboard
.git
    
if 
[ $? -
eq 
0 ]; 
then
        
echo 
"git 前端代码成功"
    
else
        
echo 
"git 前端代码失败"
        
exit
    
fi
     
yum 
install 
-y python-virtualenv python-devel openldap-devel mysql-devel
yum groupinstall 
"Development tools" 
-y
cd 
$FRONTSPACE
/dashboard/
virtualenv .
/env
.
/env/bin/pip 
install 
-r pip_requirements.txt
bash 
control start
    
if 
[ $? -
eq 
0 ]; 
then
        
echo 
"dashboard启动成功"
    
else
        
echo 
"dashboard启动失败"
        
exit
    
fi
}
#检测网络
ping 
-c 1 -t 1 www.baidu.com >
/dev/null 
2>&1
if 
[[ \$? == 2 ]]; 
then
    
echo 
"nameserver 114.114.114.114
nameserver 8.8.8.8" > 
/etc/resolv
.conf
fi
ping 
-c 1 -t 1 www.baidu.com >
/dev/null 
2>&1
if 
[[ $? == 2 ]]; 
then
    
echo 
"Network problems,Please check!"
    
exit
fi
#更换阿里YUM源和fedora的epel仓库
yum 
install 
wget vim net-tools -y
mv 
/etc/yum
.repos.d
/CentOS-Base
.repo 
/etc/yum
.repos.d
/CentOS-Base
.repo.bak
wget -O 
/etc/yum
.repos.d
/CentOS-Base
.repo http:
//mirrors
.aliyun.com
/repo/Centos-7
.repo
yum clean all
yum makecache
yum 
install 
-y epel-release
#开始安装
echo 
"1 安装准备环境"
echo 
"2 安装MySQL"
echo 
"3 安装后端组件"
echo 
"4 安装前端组件"
echo 
"5 单机组合安装"
echo 
"输入您需要安装的组件编号[1-5]"
read 
aNum
case  
$aNum 
in
    
1) 
    
install_preparation
    
;;
    
2) 
    
install_mysql
    
;;
    
3) 
    
install_after
    
;;
    
4) 
    
install_before
    
;;
    
5) 
    
install_preparation 
    
install_mysql
    
install_after
    
install_before
    
echo 
"安装完成,请通过http://IP:8081进行访问"
    
;;
esac