celery-flower


Flower是一个用于监控和管理Celery分布式任务队列的工具。

主要特点包括:

  • 实时监控:可以实时查看Celery任务的执行状态、进度和结果。包括任务的开始时间、结束时间、执行时长等信息。
  • 任务列表:展示正在执行、已完成和失败的任务列表。方便快速定位和查看特定任务的详细情况。
  • 工作者监控:监控Celery工作者的状态,包括连接的工作者数量、处理任务的速率、内存和CPU使用情况等。
  • 任务调度:可以查看任务的调度情况,包括定时任务和周期性任务的执行计划。
  • 远程控制:可以远程控制工作者,如重启、停止或暂停工作者。还可以手动触发任务的执行。
  • 图形化界面:提供直观的图形化界面,方便用户查看和管理Celery任务队列。

使用方法:

  1. 安装:可以使用pip安装flower

bash pip install flower

  1. 启动:启动flower监控工具,可以在命令行中执行以下命令:

bash flower -A your_project_name --port=5555

其中your_project_name是你的Celery项目名称,--port参数指定flower的监听端口号。

  1. 访问:在浏览器中输入http://localhost:5555(根据实际端口号进行调整),即可访问flower的监控界面。

通过使用flower,可以方便地监控和管理Celery任务队列,及时发现和解决任务执行中的问题,提高系统的可靠性和稳定性。

flower

docs


一段话总结

Flower是一款用于监控和管理Celery集群开源Web应用,可提供Celery工作节点和任务状态的实时信息,其内容涵盖功能特性、入门指南、安装步骤、使用方法、配置方式(含命令行、配置文件、环境变量)、任务过滤、多种认证方式(HTTP基本认证、Google/OAuth等)、反向代理部署、Prometheus与Grafana集成方案、API参考等,且采用BSD 3-Clause许可证发布。


思维导图

## **Flower核心定位**
- 开源Web应用
- 监控管理Celery集群
- 提供实时状态信息
## **主要内容板块**
- Features
- Getting started
- Installation
- Usage
- Configuration
  - Command line
  - Configuration file
  - Environment variables
- Option Reference
- Tasks filtering
- Authentication
  - HTTP Basic Authentication
  - Google OAuth
  - GitHub OAuth
  - Okta OAuth
  - GitLab OAuth
- Running behind reverse proxy
- Prometheus Integration
  - 配置Prometheus抓取指标
  - 可用指标
  - 指标标签使用
  - 示例告警与Grafana仪表盘
- Grafana Integration Guide
  - 启动Celery Broker
  - 配置Celery应用
  - 启动Flower监控
  - 配置并启动Prometheus
  - 启动Grafana并添加数据源
  - 导入监控仪表盘
- API Reference
- LicenseBSD 3-Clause

详细总结

一、Flower概述

Flower是开源的Web应用程序,主要用于监控和管理Celery集群,能实时展示Celery工作节点(Workers)和任务(Tasks)的运行状态。

二、核心内容板块

  1. 功能特性(Features)
    提供Celery集群的实时监控数据,支持任务管理与状态追踪。

  2. 快速入门(Getting started)
    文档未详细展开,需参考后续安装与使用步骤。

  3. 安装(Installation)
    未在文档片段中明确具体步骤,需按官方指引操作。

  4. 使用方法(Usage)
    启动后通过Web界面访问Celery集群状态。

  5. 配置(Configuration)

  6. 命令行(Command line):通过命令行参数配置Flower。
  7. 配置文件(Configuration file):使用配置文件定义参数。
  8. 环境变量(Environment variables):通过环境变量传递配置项。

  9. 选项参考(Option Reference)
    未详细列出,需查阅完整文档。

  10. 任务过滤(Tasks filtering)
    支持对任务进行筛选和过滤,便于精准查看。

  11. 认证方式(Authentication)
    | 认证类型 | 说明 | |------------------|-------------------------------| | HTTP基本认证 | 基于用户名和密码的基础认证 | | Google OAuth | 集成Google账户认证 | | GitHub OAuth | 集成GitHub账户认证 | | Okta OAuth | 集成Okta身份认证服务 | | GitLab OAuth | 集成GitLab账户认证 |

  12. 反向代理部署(Running behind reverse proxy)
    支持通过反向代理部署,提升安全性与访问便利性。

  13. Prometheus集成(Prometheus Integration)

    • 配置Prometheus抓取Flower指标。
    • 提供可用指标列表、指标标签使用方法。
    • 示例Prometheus告警规则与Grafana仪表盘配置。
  14. Grafana集成指南(Grafana Integration Guide)

    • 启动Celery Broker(如RabbitMQ或Redis)。
    • 搭建Celery应用。
    • 启动Flower监控服务。
    • 配置并启动Prometheus作为数据收集器。
    • 启动Grafana,添加Prometheus为数据源。
    • 导入Celery监控仪表盘模板。
  15. API参考(API Reference)
    提供Flower的API接口文档,便于程序集成。

三、许可证

Flower采用BSD 3-Clause License开源协议,具体条款见License文件。


关键问题

  1. Flower的核心功能是什么?
    答:Flower的核心功能是实时监控和管理Celery集群,包括查看Celery工作节点的状态、任务执行情况,并支持任务过滤、配置管理及多种认证方式。

  2. Flower支持哪些认证方式?
    答:Flower支持HTTP基本认证和多种OAuth认证,包括Google OAuth、GitHub OAuth、Okta OAuth、GitLab OAuth,可满足不同场景的身份验证需求。

  3. 如何将Flower与Prometheus、Grafana集成?
    答:集成步骤包括:

  4. 配置Prometheus抓取Flower暴露的指标;
  5. 启动Grafana并将Prometheus设为数据源;
  6. 导入Celery监控仪表盘模板,实现集群状态的可视化监控。