Skip to content

Guide system diagnosis

Skylite.Design edited this page Jan 25, 2026 · 1 revision

System Diagnosis Module - VollstΓ€ndiger Guide

Version: 3.1.0 βœ… (Neu)
Status: Produktionsbereit


πŸ“‹ Übersicht

Das VelinScript System Diagnosis Modul ist ein umfassendes Tool zur Überwachung und Analyse von Systemressourcen, Sicherheit und Services. Es bietet:

  • βœ… VollstΓ€ndige Systemressourcen-ÜberprΓΌfung (CPU, Memory, Disk, Network)
  • βœ… Umfassende SicherheitsprΓΌfungen (Auth, Encryption, Certificates, etc.)
  • βœ… Service-Status-Überwachung
  • βœ… Log-Analyse mit Pattern-Erkennung
  • βœ… Automatische Empfehlungen basierend auf Diagnose-Ergebnissen
  • βœ… Health-Score-Berechnung (0-100)
  • βœ… VollstΓ€ndige Test-Suite (20+ Tests)

πŸš€ Schnellstart

Installation

use system_diagnosis;
use security_checks;

VollstΓ€ndige Diagnose

// Alle Checks durchfΓΌhren
let report = system_diagnosis.runFullDiagnosis();

println("Status: " + report.overallStatus);
println("Score: " + report.score);
println("Empfehlungen: " + report.recommendations.length);

Einzelne Checks

// Nur Ressourcen
let resources = system_diagnosis.checkResources();

// Nur Sicherheit
let security = security_checks.runSecurityChecks();

// Nur Services
let services = system_diagnosis.checkServices();

Als API-Endpoint

@GET("/api/health")
fn getHealth(): string {
    let report = system_diagnosis.runFullDiagnosis();
    return json.stringify({
        status: report.overallStatus,
        score: report.score,
        timestamp: report.timestamp,
    });
}

πŸ“Š Hauptfunktionen

Systemdiagnose

Funktion Beschreibung
runFullDiagnosis() VollstΓ€ndige Systemdiagnose
checkResources() Alle Systemressourcen prΓΌfen
checkServices() Services ΓΌberprΓΌfen
analyzeLogs() Log-Analyse durchfΓΌhren
collectSystemInfo() System-Informationen sammeln

SicherheitsprΓΌfungen

Funktion Beschreibung
checkAuthentication() Authentifizierung prΓΌfen
checkEncryption() VerschlΓΌsselung prΓΌfen
checkCertificates() Zertifikate prΓΌfen
checkFirewall() Firewall-Status prΓΌfen
scanVulnerabilities() Nach Vulnerabilities scannen

πŸ” Systemressourcen

CPU-Überwachung

let cpu = resources.cpu;
println("Auslastung: " + cpu.usage + "%");
println("Kerne: " + cpu.cores);
println("Status: " + cpu.status);  // "healthy" | "warning" | "critical"

Memory-Überwachung

let mem = resources.memory;
println("Gesamt: " + mem.total + " bytes");
println("Benutzt: " + mem.used + " bytes");
println("Auslastung: " + mem.usagePercent + "%");

Disk-Überwachung

let disk = resources.disk;
println("Festplattenauslastung: " + disk.usagePercent + "%");
println("Partitionen: " + disk.partitions.length);

Network-Überwachung

let net = resources.network;
println("Latenz: " + net.latency + "ms");
println("Bytes empfangen: " + net.totalBytesIn);
println("Bytes gesendet: " + net.totalBytesOut);

πŸ”’ SicherheitsprΓΌfungen

Authentifizierung & Autorisierung

  • βœ… JWT/OAuth2-Verwendung
  • βœ… RBAC-System
  • βœ… Passwort-Richtlinien
  • βœ… Session-Sicherheit

VerschlΓΌsselung & Zertifikate

  • βœ… VerschlΓΌsselungs-Algorithmen
  • βœ… Zertifikats-GΓΌltigkeit
  • βœ… TLS-Konfiguration

Netzwerk-Sicherheit

  • βœ… Firewall-Status
  • βœ… Offene Ports
  • βœ… Netzwerk-VerschlΓΌsselung

Sicherheits-Score

let security = security_checks.runSecurityChecks();
println("Score: " + security.score);  // 0-100
println("Status: " + security.overallStatus);  // "secure" | "warning" | "vulnerable"

// Vulnerabilities ausgeben
for (vuln in security.vulnerabilities) {
    if (vuln.severity == "critical") {
        println("KRITISCH: " + vuln.name);
    }
}

πŸ“ˆ Health-Score-Berechnung

Der Health-Score wird aus folgenden Komponenten berechnet:

  • Ressourcen (40%): CPU, Memory, Disk, Network
  • Sicherheit (30%): Alle SicherheitsprΓΌfungen
  • Services (20%): Service-Status
  • Logs (10%): Fehlerrate in Logs

Score-Bereiche

  • 90-100: Exzellent 🟒
  • 70-89: Gut 🟑
  • 50-69: Akzeptabel 🟠
  • 30-49: Problematisch πŸ”΄
  • 0-29: Kritisch β›”

πŸ”§ Integration mit Monitoring

Prometheus

@GET("/metrics")
fn getMetrics(): string {
    let report = system_diagnosis.runFullDiagnosis();
    return "system_health_score " + report.score + "\n" +
           "system_cpu_usage " + report.resources.cpu.usage + "\n";
}

Grafana

Nutze die /metrics Endpoint mit Prometheus als Datenquelle.

Scheduled Monitoring

@scheduled("*/5 * * * *")  // Alle 5 Minuten
fn monitorSystem() {
    let report = system_diagnosis.runFullDiagnosis();
    
    metrics.record("system.health_score", report.score);
    metrics.record("system.cpu_usage", report.resources.cpu.usage);
    metrics.record("system.security_score", report.security.score);
    
    if (report.score < 50) {
        alerting.sendCritical("Health Score kritisch!");
    }
}

πŸ§ͺ Tests ausfΓΌhren

velin test examples/system-diagnosis/tests/system_diagnosis_test.velin

Test-Suite:

  • βœ… 20+ vollstΓ€ndige Tests
  • βœ… Systemdiagnose-Tests
  • βœ… Sicherheits-Tests
  • βœ… Integration-Tests
  • βœ… 100% Erfolgsquote

πŸ“š Weitere Ressourcen


Erstellt: 2026-02-02
Version: 3.1.0

Clone this wiki locally