wangxq f1cbb31560 Fix the problem of database access failure during user registration. 10 месяцев назад
..
README.md ff40167dac The first initialization of the project 10 месяцев назад
__init__.py ff40167dac The first initialization of the project 10 месяцев назад
auth.py f1cbb31560 Fix the problem of database access failure during user registration. 10 месяцев назад
config.py ff40167dac The first initialization of the project 10 месяцев назад
health.py ff40167dac The first initialization of the project 10 месяцев назад

README.md

系统管理核心功能模块

本模块提供系统管理相关的核心业务逻辑,包括系统健康检查、配置管理和系统信息获取等功能。

功能概述

系统管理核心模块是整个平台的基础设施之一,负责监控和管理系统的运行状态、配置和环境信息。主要提供以下功能:

  1. 系统健康检查:监控和报告系统各组件的健康状态
  2. 配置管理:获取、验证和过滤系统配置信息
  3. 系统信息收集:获取系统运行环境的详细信息

主要功能

1. 系统健康检查

1.1 Neo4j连接检查 (check_neo4j_connection)

检查与Neo4j图数据库的连接状态,确保数据库服务正常运行。

1.2 系统健康状态检查 (check_system_health)

检查系统各核心组件的健康状态,返回包含依赖服务状态的完整报告。

1.3 系统信息获取 (get_system_info)

收集系统运行环境的详细信息,包括操作系统、Python版本、CPU和内存使用情况等。

2. 配置管理

2.1 获取系统配置 (get_system_config)

获取过滤后的系统配置信息,确保不会泄露敏感信息。

2.2 验证配置有效性 (validate_config)

验证系统配置的完整性和有效性,确保必要的配置项都已正确设置。

2.3 获取配置文件路径 (get_config_file_paths)

获取系统中所有配置文件的路径,用于配置管理和审计。

技术实现

模块使用以下技术和库实现其功能:

  • 基于Python标准库实现系统信息收集
  • 使用Neo4j驱动检查数据库连接
  • 使用psutil库获取系统资源使用情况
  • 基于日志记录提供错误和警告信息

使用方法

from app.core.system import check_neo4j_connection, check_system_health, get_system_info

# 检查Neo4j连接
is_connected = check_neo4j_connection()
print(f"Neo4j连接状态: {'正常' if is_connected else '异常'}")

# 获取系统健康状态
health_status = check_system_health()
print(f"系统状态: {health_status['status']}")

# 获取系统信息
system_info = get_system_info()
print(f"操作系统: {system_info['os']['name']} {system_info['os']['version']}")
print(f"Python版本: {system_info['python']['version']}")
print(f"CPU使用率: {system_info['resources']['cpu']['usage_percent']}%")

配置依赖

模块依赖于app/config/config.py中的Config类,需要以下配置项:

  • NEO4J_URI: Neo4j数据库连接URI
  • NEO4J_USER: Neo4j用户名
  • NEO4J_PASSWORD: Neo4j密码
  • NEO4J_ENCRYPTED: 是否使用加密连接
  • ENVIRONMENT: 运行环境(开发、测试、生产)
  • DEBUG: 是否启用调试模式
  • PORT: 应用程序端口
  • PLATFORM: 平台标识
  • UPLOAD_FOLDER: 文件上传目录
  • BUCKET_NAME: MinIO存储桶名称
  • PREFIX: 文件前缀