プロジェクト

全般

プロフィール

バグ #739

未完了

システム監視機能実装 - メトリクス収集・表示 (子チケット)

Redmine Admin さんが約13時間前に追加. 約4時間前に更新.

ステータス:
新規
優先度:
高め
担当者:
-
開始日:
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 さんが約6時間前に更新

📋 システム監視機能実装 - 現状・詳細仕様追記

🔍 現在の実装状況

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は完成済み。基本監視機能の実装進行中!

Redmine Admin さんが約4時間前に更新

🚀 システム監視機能開発継続

現状確認

  • 基本実装: システムメトリクス取得 🔄 開発中
  • WebSocket統合: ✅ リアルタイム配信基盤完成
  • API基盤: ✅ /api/v1/system/metrics 実装済み

🎯 開発継続タスク

今回実装予定

  1. 詳細システムメトリクス - CPU・メモリ・ディスク・ネットワーク詳細化
  2. プロセス監視 - 重要プロセス状況監視
  3. アラート機能 - 閾値ベースアラート
  4. 履歴データ保存 - メトリクス履歴管理
  5. WebSocket自動配信強化 - リアルタイム監視完成

実装範囲

  • システムメトリクス収集機能強化
  • アラート機能実装
  • 履歴データ管理(SQLite)
  • フロントエンド監視ダッシュボード

システム監視機能開発継続開始!

他の形式にエクスポート: Atom PDF