refactoring(infra-monitoring)

This commit is contained in:
2025-08-15 23:00:21 +02:00
parent 69ca3faf91
commit 689e3bf8e7
8 changed files with 1028 additions and 29 deletions
@@ -45,5 +45,27 @@ Das vollständige Monitoring-Setup besteht aus mehreren Teilen:
Diese Kombination aus Micrometer, Prometheus, Zipkin und Grafana bildet einen leistungsstarken, branchenüblichen "Observability Stack".
## Neue Funktionen und Optimierungen
### Sicherheitsverbesserungen
* **Umgebungsvariablen für Credentials**: Alle hardcodierten Passwörter und API-Schlüssel wurden durch Umgebungsvariablen ersetzt
* **Alertmanager-Konfiguration**: SMTP- und Slack-Einstellungen nutzen jetzt sichere Umgebungsvariablen
* **Prometheus-Authentifizierung**: Metriken-Endpunkte sind durch Benutzername/Passwort geschützt
### Performance-Optimierungen
* **Konfigurierbare Tracing-Sampling-Rate**: Standard 100% für Entwicklung, über `TRACING_SAMPLING_PROBABILITY` anpassbar für Produktion
* **Optimierte Prometheus-Konfiguration**: Korrigierte Metriken-Pfade und eliminierte doppelte Jobs
* **Verbesserte Speicher-Retention**: Produktion nutzt 30 Tage Retention und WAL-Komprimierung
### Erweiterte Dashboards
* **Application Overview Dashboard**: Zentrale Anwendungsmetriken (Request Rate, Response Times, Error Rate, Status)
* **Infrastructure Components Dashboard**: Überwachung von PostgreSQL, Redis, Kafka, System-Metriken
* **JVM Dashboard**: Bestehende JVM-Metriken für Java-Anwendungen
### Konfigurationsverbesserungen
* **Einheitliche Endpunkt-Pfade**: Verwendung von `/actuator/prometheus` für alle Services
* **Umgebungsspezifische Konfiguration**: Getrennte Einstellungen für Entwicklung und Produktion
* **Erweiterte ELK-Integration**: Vollständige Logging-Pipeline mit Elasticsearch und Logstash
---
**Letzte Aktualisierung**: 31. Juli 2025
**Letzte Aktualisierung**: 15. August 2025
@@ -12,8 +12,9 @@ management.endpoints.web.exposure.include=health,info,prometheus
# --- Micrometer Tracing ---
# Aktiviert das Tracing
management.tracing.enabled=true
# Definiert, dass Traces immer gesammelt werden sollen (1.0 = 100%)
management.tracing.sampling.probability=1.0
# Definiert Sampling-Rate für Traces (kann per Umgebungsvariable überschrieben werden)
# Entwicklung: 1.0 (100%), Produktion sollte niedriger sein (z.B. 0.1 = 10%)
management.tracing.sampling.probability=${TRACING_SAMPLING_PROBABILITY:1.0}
# --- Micrometer Observation (für Metriken UND Tracing) ---
# aktiviert die "Beobachtung" von HTTP Server Requests.
@@ -24,6 +24,7 @@ dependencies {
// Abhängigkeiten für den Zipkin-Server und seine UI.
implementation(libs.zipkin.server)
implementation(libs.zipkin.autoconfigure.ui)
// Stellt alle Test-Abhängigkeiten gebündelt bereit.
testImplementation(projects.platform.platformTesting)
@@ -19,6 +19,6 @@ class MonitoringServerApplicationTest {
@Test
fun `context loads successfully`() {
// Test ist bestanden, wenn der Kontext ohne Exception startet.
// Der Test ist bestanden, wenn der Kontext ohne Exception startet.
}
}