docker部署open-falcon项目
直接上干货:
- docker启动mysql
docker run -itd \
--name falcon-mysql \
-v /home/work/mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=test123456 \
-p 3306:3306 \
mysql:5.7
- 下载open-falcon项目源码,并在本地mysql执行sql文件
cd /tmp/tmp && \ git clone --depth=1 https://github.com/open-falcon/falcon-plus && \ cd /tmp/tmp/falcon-plus/ && \ for x in `ls ./scripts/mysql/db_schema/*.sql`; do echo init mysql table $x ...; docker exec -i falcon-mysql mysql -uroot -ptest123456 < $x; done
- docker部署redis
docker run --name falcon-redis -p6379:6379 -d redis:4-alpine3.8
- 拉取open-falcon项目镜像
docker run -itd --hostname="falcon-plus" --name falcon-plus \ --link=falcon-mysql:db.falcon \ --link=falcon-redis:redis.falcon \ -p 8433:8433 \ -p 8080:8080 \ -p 6055:6055 \ -p 6071:6071 \ -p 6070:6070 \ -p 6031:6031 \ -p 6030:6030 \ -p 6081:6081 \ -p 6080:6080 \ -p 6090:6090 \ -p 6060:6060 \ -p 4000:4000 \ -e MYSQL_PORT=root:***@tcp\(db.falcon:3306\) \ -e REDIS_PORT=redis.falcon:6379 \ -v /home/work/open-falcon/data:/open-falcon/data \ -v /home/work/open-falcon/logs:/open-falcon/logs \ openfalcon/falcon-plus:v0.2.1
- 启动后端系统
docker exec falcon-plus sh ctrl.sh start graph hbs judge transfer nodata aggregator agent gateway api alarm
- 后端启动状态检查
docker exec falcon-plus ./open-falcon check
- 启动agent镜像
docker run -d --restart always --hostname="***" --name falcon-agent -p 1988:1988 -e NUX_ROOTFS=/rootfs -v /:/rootfs:ro openfalcon/falcon-plus:v0.2.1 ./agent/bin/falcon-agent -c /open-falcon/agent/config/cfg.json
- 拉取前端代码dashboard
cd /tmp/tmp && git clone https://github.com/open-falcon/dashboard && cd /tmp/tmp/dashboard/
- 启动前端dashboard
docker run -itd --name falcon-dashboard \ -p 8081:8081 \ --link=falcon-mysql:db.falcon \ --link=falcon-plus:api.falcon \ -e API_ADDR=http://api.falcon:8080/api/v1 \ -e PORTAL_DB_HOST=db.falcon \ -e PORTAL_DB_PORT=3306 \ -e PORTAL_DB_USER=root \ -e PORTAL_DB_PASS=test123456 \ -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=*** \ -e ALARM_DB_NAME=alarms \ -w /open-falcon/dashboard openfalcon/falcon-dashboard:v0.2.1 \ './control startfg'