操作
バグ #739
未完了システム監視機能実装 - メトリクス収集・表示 (子チケット)
ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-26
期日:
進捗率:
0%
予定工数:
説明
システム監視機能実装 - メトリクス収集・表示¶
🎯 概要¶
VPS-ROOT環境のシステムリソース監視とパフォーマンスメトリクス収集機能を実装します。
📋 実装対象¶
1. API エンドポイント¶
-
GET /api/v1/system/metrics
- システムメトリクス取得 -
GET /api/v1/system/metrics/history
- 履歴データ取得 -
GET /api/v1/system/processes
- プロセス一覧取得 -
GET /api/v1/system/health
- ヘルスチェック -
POST /api/v1/system/alerts
- アラート設定 -
GET /api/v1/system/alerts
- アラート履歴取得
2. 主要関数¶
getSystemInfo(): Promise<SystemInfo>
getCPUUsage(): Promise<CPUMetrics>
getMemoryUsage(): Promise<MemoryMetrics>
getDiskUsage(): Promise<DiskMetrics>
collectMetrics(): Promise<MetricsCollection>
generateAlert(alert: AlertData): Promise<void>
3. UI コンポーネント¶
-
MonitoringPage.tsx
- システム監視画面 -
CPUUsageChart
- CPU使用率チャート -
MemoryUsageChart
- メモリ使用率チャート -
DiskUsageChart
- ディスク使用率チャート -
AlertHistoryTable
- アラート履歴テーブル
🔧 技術仕様¶
メトリクス収集¶
- CPU使用率・負荷平均
- メモリ使用量・利用可能量
- ディスク使用率・I/O統計
- ネットワークトラフィック
- プロセス情報・リソース使用量
リアルタイム監視¶
- WebSocket経由のリアルタイム更新
- 閾値ベースアラート生成
- 履歴データの自動保存
- 異常検知・予測分析
✅ 完了条件¶
- システム監視API実装完了
- メトリクス収集関数群実装完了
- 監視ダッシュボードUI実装完了
- リアルタイム更新機能動作確認
- アラート機能動作確認
🔗 関連チケット¶
親チケット: インフラヘルパーサービス基盤構築
📅 期限¶
Phase 1 - 基盤実装: 2025年6月30日まで
Redmine Admin さんが22分前に更新
📋 システム監視機能実装 - 現状・詳細仕様追記¶
🔍 現在の実装状況
API エンドポイント実装状況 (/api/v1/system
)¶
エンドポイント | メソッド | 実装状況 | パラメータ | レスポンス |
---|---|---|---|---|
/info |
GET | 🔄 開発中 | - |
{hostname, uptime, platform} |
/metrics |
GET | 🔄 開発中 | ?timeRange=1h |
{cpu, memory, disk, network} |
/metrics/history |
GET | 📋 設計完了 | ?start&end&interval |
{timeSeries} |
/health |
GET | ✅ 完成 | - |
{status, services, uptime} |
/processes |
GET | 📋 設計完了 | ?filter=name |
{processes[]} |
/processes/:pid |
DELETE | 📋 設計完了 | - |
{success} |
/alerts |
GET | 📋 設計完了 | ?active=true |
{alerts[]} |
/alerts |
POST | 📋 設計完了 | {rule, threshold} |
{alertId} |
関数実装状況 (6/12 開発中、5/12 設計完了、1/12 未着手)¶
ファイル: /src/services/monitoring/SystemMonitoringService.ts
🔄 システムメトリクス関数 (開発中)¶
// システム情報取得 - 開発中
async getSystemInfo(): Promise<SystemInfo> // 開発中
async getCPUUsage(): Promise<CPUMetrics> // 開発中
async getMemoryUsage(): Promise<MemoryMetrics> // 開発中
async getDiskUsage(): Promise<DiskMetrics> // 開発中
async getNetworkStats(): Promise<NetworkMetrics> // 開発中
📋 監視・アラート関数 (設計完了)¶
// 監視・アラート - 設計完了
async collectMetrics(): Promise<MetricsCollection> // 設計完了
async checkThresholds(metrics: MetricsCollection): Promise<Alert[]> // 設計完了
async generateAlert(alert: AlertData): Promise<void> // 設計完了
async processHealthChecks(): Promise<HealthCheckResult[]> // 設計完了
📋 履歴・分析関数 (設計完了)¶
// 履歴・分析 - 設計完了
async storeMetricsHistory(metrics: MetricsCollection): Promise<void> // 設計完了
async getMetricsHistory(timeRange: TimeRange): Promise<MetricsHistory> // 設計完了
⭕ 未実装機能¶
// 予測分析 - 未着手
async analyzeSystemTrends(period: string): Promise<TrendAnalysis> // 未着手
🔧 技術仕様詳細
メトリクス収集 (開発中)¶
- 🔄 CPU使用率・負荷平均
- 🔄 メモリ使用量・利用可能量
- 🔄 ディスク使用率・I/O統計
- 🔄 ネットワークトラフィック
- 📋 プロセス情報・リソース使用量
リアルタイム監視¶
- 📋 WebSocket経由のリアルタイム更新 (設計完了)
- 📋 閾値ベースアラート生成 (設計完了)
- 📋 履歴データの自動保存 (設計完了)
- ⭕ 異常検知・予測分析 (未着手)
📈 進捗サマリー
- API エンドポイント: 2/8 (25%) 開発中、1/8 (13%) 完成、5/8 (62%) 設計完了
- システム監視関数: 6/12 (50%) 開発中、5/12 (42%) 設計完了、1/12 (8%) 未着手
- UI コンポーネント: 要実装
- リアルタイム更新: 設計完了
システムメトリクス収集が開発中。ヘルスチェックAPIは完成済み。基本監視機能の実装進行中!
操作