infrastructure-monitor
v0.1.1
Published
Infrastructure-Monitor is a lightweight runtime monitoring library for web applications. It tracks client-side console output, failed network requests, and key performance metrics, then sends this data to a centralized monitoring endpoint. Ideal for detec
Maintainers
Readme
Infrastructure Monitor
Eine leichte Laufzeit-Überwachungsbibliothek für Webanwendungen. Infrastructure Monitor verfolgt clientseitige Konsolenausgaben, fehlgeschlagene Netzwerkanfragen und wichtige Leistungsmetriken und sendet diese Daten an einen zentralisierten Überwachungsendpunkt.
Features
- 🔍 Echtzeit-Überwachung: Verfolgt Konsolenausgaben, Fehler und Warnungen
- 🌐 Netzwerk-Monitoring: Erkennt fehlgeschlagene API-Anfragen
- 📊 Leistungsmetriken: Sammelt wichtige Performance-Daten
- 📡 Zentrale Datensammlung: Sendet alle Daten an einen konfigurierbaren Endpunkt
- 🔒 Sicher: Keine sensiblen Daten werden gesammelt
- 🚀 Leichtgewichtig: Minimale Auswirkungen auf die Anwendungsleistung
Installation
npm install infrastructure-monitorVerwendung
import { InfrastructureMonitor } from "infrastructure-monitor";
// Initialisierung
const monitor = new InfrastructureMonitor({
endpoint: "https://your-monitoring-endpoint.com/api",
applicationId: "your-app-id",
// Optionale Konfiguration
samplingRate: 0.1, // 10% der Ereignisse werden gesammelt
maxBatchSize: 100, // Maximale Anzahl von Ereignissen pro Batch
flushInterval: 5000, // Daten werden alle 5 Sekunden gesendet
});
// Starten der Überwachung
monitor.start();
// Beenden der Überwachung
monitor.stop();Konfiguration
| Option | Typ | Standard | Beschreibung | | ------------- | ------ | -------- | ----------------------------------------------- | | endpoint | string | - | URL des Überwachungsendpunkts (erforderlich) | | applicationId | string | - | Eindeutige ID der Anwendung (erforderlich) | | samplingRate | number | 1.0 | Rate der zu sammelnden Ereignisse (0.0 - 1.0) | | maxBatchSize | number | 100 | Maximale Anzahl von Ereignissen pro Batch | | flushInterval | number | 5000 | Intervall in Millisekunden zum Senden der Daten |
Test-Server
Für Entwicklungs- und Testzwecke enthält dieses Paket einen einfachen Express-Server, der die Monitoring-Daten empfängt und lokal speichert.
Server starten
# Entwicklungsmodus mit automatischem Neuladen
npm run dev:server
# Oder: Build und Start im Produktionsmodus
npm run build:server
npm run start:serverDer Server läuft standardmäßig auf Port 3000 und bietet folgende Endpunkte:
POST http://localhost:3000/api/monitoring- Empfängt Monitoring-DatenGET http://localhost:3000/api/status- Server-Status-Check
Gespeicherte Daten
Die empfangenen Daten werden im data-Verzeichnis als JSON-Dateien gespeichert. Der Dateiname enthält die Application-ID und den Zeitstempel.
Beispiel einer gespeicherten Datei:
{
"timestamp": "2024-03-02T15:30:00.000Z",
"events": [
{
"type": "console",
"level": "error",
"message": "API-Aufruf fehlgeschlagen",
"timestamp": "2024-03-02T15:29:59.000Z"
}
]
}Datenschutz
Infrastructure Monitor sammelt nur technische Daten, die für die Überwachung und Fehlerbehebung notwendig sind. Es werden keine personenbezogenen Daten oder sensible Informationen gesammelt.
Lizenz
Dieses Projekt ist unter der BSL (Business Source License) lizenziert. Weitere Informationen finden Sie in der LICENSE-Datei.
Beitragen
Beiträge sind willkommen! Bitte lesen Sie unsere Beitragsrichtlinien für Details.
Support
Bei Fragen oder Problemen öffnen Sie bitte ein Issue auf GitHub.
Autoren
- Steffen Bahrmann
Danksagung
Danke an alle Mitwirkenden, die zu diesem Projekt beigetragen haben.
