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 |