# 系统管理核心功能模块

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

## 功能概述

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

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库获取系统资源使用情况
- 基于日志记录提供错误和警告信息

## 使用方法

```python
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: 文件前缀 