Open-Falcon监控系统Docker化部署指南
2025-07-07 04:19:24作者:劳婵绚Shirley
前言
Open-Falcon是一款企业级、高可用、可扩展的开源监控解决方案。本文将详细介绍如何使用Docker容器化部署Open-Falcon监控系统,帮助运维人员和开发者快速搭建监控环境。
系统架构概述
Open-Falcon采用模块化设计,主要包含以下核心组件:
- Falcon-Plus:后端核心服务,包括数据采集、存储、告警等功能
- Dashboard:可视化监控面板
- Agent:部署在被监控主机上的数据收集器
- MySQL:存储配置和告警信息
- Redis:缓存和消息队列服务
部署准备
在开始部署前,请确保:
- 已安装Docker环境
- 服务器资源充足(建议4核CPU,8GB内存)
- 准备持久化存储目录(如/home/work)
详细部署步骤
1. MySQL服务部署
MySQL用于存储Open-Falcon的配置数据和告警信息。
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
初始化数据库表结构:
git clone --depth=1 <falcon-plus仓库地址> && \
cd falcon-plus/ && \
for x in `ls ./scripts/mysql/db_schema/*.sql`; do
echo "初始化MySQL表 $x ...";
docker exec -i falcon-mysql mysql -uroot -ptest123456 < $x;
done
2. Redis服务部署
Redis用于缓存和消息队列:
docker run --name falcon-redis -p6379:6379 -d redis:4-alpine3.8
3. Falcon-Plus核心服务部署
拉取官方镜像:
docker pull openfalcon/falcon-plus:v0.3
运行容器并连接MySQL和Redis:
docker run -itd --name falcon-plus \
--link=falcon-mysql:db.falcon \
--link=falcon-redis:redis.falcon \
-p 8433:8433 \
-p 8080:8080 \
-e MYSQL_PORT=root:test123456@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.3
启动核心模块:
docker exec falcon-plus sh ctrl.sh start \
graph hbs transfer nodata aggregator agent gateway api alarm
4. 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=test123456 \
-e ALARM_DB_NAME=alarms \
-w /open-falcon/dashboard openfalcon/falcon-dashboard:v0.2.1 \
'./control startfg'
5. Agent部署
Agent用于收集主机监控数据:
docker run -d --restart always --name falcon-agent \
-e NUX_ROOTFS=/rootfs \
-v /:/rootfs:ro \
openfalcon/falcon-plus:v0.3 \
./agent/bin/falcon-agent -c /open-falcon/agent/config/cfg.json
自定义镜像构建
如需从源码构建镜像,可执行以下步骤:
构建Falcon-Plus镜像
git clone <falcon-plus仓库地址> && \
cd falcon-plus/ && \
docker build -t falcon-plus:v0.3 .
构建Dashboard镜像
git clone <dashboard仓库地址> && \
cd dashboard/ && \
docker build -t falcon-dashboard:v0.2.1 .
运维管理
-
服务状态检查:
docker exec falcon-plus ./open-falcon check
-
日志查看:
ls -l /home/work/open-falcon/logs/
-
模块管理:
# 启动/停止/重启特定模块 docker exec falcon-plus sh ctrl.sh start/stop/restart 模块名
注意事项
- 生产环境请修改默认密码(test123456)
- 数据目录(/home/work)建议使用独立磁盘
- 监控数据量较大时,需调整MySQL和Redis配置
- 高可用部署需要额外配置集群模式
通过以上步骤,您已成功部署Open-Falcon监控系统。后续可根据实际需求进行配置调整和功能扩展。