17 - FastGPT 运维指南(开源AI知识库)

视频教程BV1eM4y1K7oP

视频链接BV1eM4y1K7oP
发布日期:2023-11-08
视频时长:14:30
播放量:1.5万
所属合集:FastGPT 教程系列

视频概要

FastGPT 运维进阶篇,重点讲解生产环境中的高级运维技巧:容器编排、集群部署、监控告警、故障恢复等。适合需要高可用部署的用户。


知识点清单

A. 高可用架构

生产环境推荐架构:

┌──────────────┐
│   Nginx/SLB  │  负载均衡 + SSL终止
└──────┬───────┘
       │
  ┌────┴────┐
  │         │
┌─┴──┐  ┌──┴─┐
│ FG1│  │ FG2│   FastGPT多实例
└─┬──┘  └──┬─┘
  │        │
┌─┴────────┴──┐
│  MongoDB RS  │   副本集模式
└──────┬──────┘
       │
┌──────┴──────┐
│  PostgreSQL  │   向量数据库
└─────────────┘

B. Docker Swarm / K8s 部署

# docker-compose.prod.yml
c version: '3.8'
services:
  fastgpt:
    image: fastgpt/fastgpt:latest
    deploy:
      replicas: 2           # 2个副本
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
      resources:
        limits:
          cpus: '2'
          memory: 4G
        reservations:
          memory: 1G
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3

C. 监控告警

监控指标阈值告警方式
CPU使用率> 80%邮件/钉钉
内存使用率> 85%邮件/钉花
磁盘使用率> 90%邮件/钉花
API响应时间> 5s钉花/企微
数据库连接数> 80%邮件
容器重启次数> 3次/小时电话
# 简单监控脚本
#!/bin/bash
while true; do
    # 检查容器状态
    if ! docker ps | grep -q fastgpt; then
        echo "[ALERT] FastGPT容器停止" | mail -s "告警" admin@example.com
        docker-compose up -d
    fi
    
    # 检查磁盘空间
    DISK_USAGE=$(df -h / | awk 'NR==2{print $5}' | sed 's/%//')
    if [ $DISK_USAGE -gt 90 ]; then
        echo "[ALERT] 磁盘使用率 ${DISK_USAGE}%" | mail -s "磁盘告警" admin@example.com
    fi
    
    sleep 60
done

D. 故障恢复

故障类型恢复步骤预防措施
容器崩溃docker-compose restart配置健康检查
数据库损坏从备份还原定期备份+副本集
磁盘满清理日志+旧镜像监控磁盘+自动清理
内存OOM增加内存或限制缓存配置swap+内存限制
网络不通检查防火墙+DNS多线路备份

常见问题

问题解答
多副本数据同步?MongoDB副本集自动同步,PostgreSQL需要配置流复制
如何实现零停机升级?滚动更新:逐个替换容器
负载均衡选哪个?小规模用Nginx,大规模用HAProxy或云SLB
日志太多怎么管理?使用logrotate定期轮转,或接入ELK

学习建议

  • 高可用架构对小团队来说可能过于复杂,按需选择
  • 监控是运维的眼睛,宁可多监控也不要漏监控
  • 故障恢复演练要定期做,不要等到真出事了才着急
  • 建议先掌握基础运维(16集),再学本集
返回首页