改用docker部署,简单方便,并且风险小,后期想要使用的话也更加简单;
测试了很多次,最后分为三个部分的镜像部署,mysql端,后端,前端;
只需要下载以下文件,解压后,一次分别进入f-mysql、f-back 、f-front 三个目录,执行目录下的init.sh脚本即可;环境为安装了docker的centos7服务器;
下载以下文件
链接:https://pan.baidu.com/s/1UiRT_9h6m30tw_i7DL82Fg
提取码:9a43
传到服务器上,解压
tar xvf open-falcon.tar
1 mysql端
执行init.sh脚本即可;脚本内容如下:
#!/bin/bash
docker pull mysql:5.7
mkdir data logs conf
docker run --name falcon-mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/data:/var/lib/mysql \
-v $PWD/logs:/var/log \
-e MYSQL_ROOT_PASSWORD="admin123" -d mysql:5.7
while :
do
this_str=`docker exec -it falcon-mysql mysql -h127.0.0.1 -uroot -padmin123 -e "grant all privileges on *.* to 'root'@'%' identified by 'admin123';"`
if [[ $this_str =~ "2003" ]];then
echo "waiting......."
else
echo $this_str
echo "success"
break
fi
sleep 2
done
cp -r ./db_schema ./logs
sleep 2
for li in `ls ./db_schema`;
do
docker exec -it falcon-mysql mysql -uroot -padmin123 -e "source /var/log/db_schema/$li;"
done
2 后端
需要构建镜像;执行init.sh脚本即可;
- init.sh
#!/bin/bash
work_path=$(dirname $0)
cd $work_path
rm -rf data logs rrddata
mkdir data logs rrddata
read -p 'input version:' app_version
docker build -t openfalcon-back:$app_version .
cd config
bash set-mail.sh
cd $work_path
docker run -itd --name falcon-back \
--link=falcon-mysql:db.falcon \
-p 8433:8433 \
-p 6030:6030 \
-p 5050:5050 \
-p 8080:8080 \
-p 6060:6060 \
-p 5090:5090 \
-v $PWD/data:/home/work/open-falcon/graph/data \
-v $PWD/logs:/home/work/open-falcon/logs \
-v $PWD/rrddata:/home/work/open-falcon/data \
-v $PWD/config/cfg.json:/home/work/open-falcon/mail-provider/cfg.json \
openfalcon-back:$app_version
- Dockerfile
FROM ubuntu:trusty
ADD scripts /scripts
RUN sh /scripts/env_prepare.sh
RUN sh /scripts/mail.sh
RUN sh /scripts/env_clean.sh
EXPOSE 8433 6030 5050 8080 6060 5090 4000
ENTRYPOINT ["sh","/home/work/open-falcon/entrypoint.sh"]
3 前端
执行init.sh脚本即可
#!/bin/bash
docker pull openfalcon/falcon-dashboard:v0.2.1
mkdir data
cd dashboard
#read -p 'input version:' app_version
#docker build -t openfalocon-front:$app_version .
cd ../
docker run -itd --name falcon-front \
-p 8081:8081 \
--link=falcon-back:back.falcon \
--link=falcon-mysql:db.falcon \
-e API_ADDR=http://back.falcon:8080/api/v1 \
-e PORTAL_DB_HOST=db.falcon \
-e PORTAL_DB_PORT=3306 \
-e PORTAL_DB_USER=root \
-e PORTAL_DB_PASS=admin123 \
-e PORTAL_DB_NAME=falcon_portal \
-e ALARM_DB_HOST=db.falcon \
-e ALARM_DB_PORT=3306 \
-e ALARM_DB_USER=root \
-e ALARM_DB_PASS=admin123 \
-e ALARM_DB_NAME=alarms \
-w /open-falcon/dashboard \
openfalcon/falcon-dashboard:v0.2.1 \
'./control startfg'
5 测试
配置
templates
邮件报警正常
网友评论