首页
/ Open-Falcon监控系统Docker化部署指南

Open-Falcon监控系统Docker化部署指南

2025-07-07 04:19:24作者:劳婵绚Shirley

前言

Open-Falcon是一款企业级、高可用、可扩展的开源监控解决方案。本文将详细介绍如何使用Docker容器化部署Open-Falcon监控系统,帮助运维人员和开发者快速搭建监控环境。

系统架构概述

Open-Falcon采用模块化设计,主要包含以下核心组件:

  • Falcon-Plus:后端核心服务,包括数据采集、存储、告警等功能
  • Dashboard:可视化监控面板
  • Agent:部署在被监控主机上的数据收集器
  • MySQL:存储配置和告警信息
  • Redis:缓存和消息队列服务

部署准备

在开始部署前,请确保:

  1. 已安装Docker环境
  2. 服务器资源充足(建议4核CPU,8GB内存)
  3. 准备持久化存储目录(如/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 .

运维管理

  1. 服务状态检查

    docker exec falcon-plus ./open-falcon check
    
  2. 日志查看

    ls -l /home/work/open-falcon/logs/
    
  3. 模块管理

    # 启动/停止/重启特定模块
    docker exec falcon-plus sh ctrl.sh start/stop/restart 模块名
    

注意事项

  1. 生产环境请修改默认密码(test123456)
  2. 数据目录(/home/work)建议使用独立磁盘
  3. 监控数据量较大时,需调整MySQL和Redis配置
  4. 高可用部署需要额外配置集群模式

通过以上步骤,您已成功部署Open-Falcon监控系统。后续可根据实际需求进行配置调整和功能扩展。