1602 lines
60 KiB
Markdown
1602 lines
60 KiB
Markdown
# IT Nexus – Systemdokumentation
|
||
|
||
**Version:** 2.0 | **Stand:** Mai 2026 | **Entwickelt von:** Simon Grüßing, Cereda Systems GmbH
|
||
|
||
---
|
||
|
||
## Inhaltsverzeichnis
|
||
|
||
1. [Systemübersicht](#1-systemübersicht)
|
||
2. [Zugang & Benutzerrollen](#2-zugang--benutzerrollen)
|
||
3. [Ticketsystem – Übersicht](#3-ticketsystem--übersicht)
|
||
4. [Ticket erstellen](#4-ticket-erstellen)
|
||
5. [Ticket-Ansichten](#5-ticket-ansichten)
|
||
6. [Ticket-Detail & Bearbeitung](#6-ticket-detail--bearbeitung)
|
||
7. [Kommentare & Kommunikation](#7-kommentare--kommunikation)
|
||
8. [KI-Integration](#8-ki-integration)
|
||
9. [User-Portal (Benutzer)](#9-user-portal-benutzer)
|
||
10. [E-Mail-Integration](#10-e-mail-integration)
|
||
11. [Benachrichtigungen](#11-benachrichtigungen)
|
||
12. [Admin-Einstellungen](#12-admin-einstellungen)
|
||
13. [Weitere Module](#13-weitere-module)
|
||
14. [IT Nexus Scanner App (Android)](#14-it-nexus-scanner-app-android)
|
||
15. [Rollen-Berechtigungsmatrix](#15-rollen-berechtigungsmatrix)
|
||
16. [ISO 27001 Zertifizierungsplanung](#16-iso-27001-zertifizierungsplanung)
|
||
17. [Risikoanalyse](#17-risikoanalyse)
|
||
18. [Entra ID Rechteverwaltung](#18-entra-id-rechteverwaltung)
|
||
19. [Agent Monitoring](#19-agent-monitoring)
|
||
20. [Externe Monitoring-Alerts](#20-externe-monitoring-alerts)
|
||
21. [Patch Management](#21-patch-management)
|
||
22. [Ankündigungen](#22-ankündigungen)
|
||
|
||
---
|
||
|
||
## 1. Systemübersicht
|
||
|
||
IT Nexus ist ein internes IT-Ticketsystem und Verwaltungsportal der Cereda Systems GmbH. Es ermöglicht Mitarbeitern, IT-Probleme zu melden, und dem IT-Support-Team, diese effizient zu bearbeiten.
|
||
|
||
**Erreichbar unter:** `https://it-nexus.cereda-systems.de`
|
||
|
||
### Kernfunktionen
|
||
|
||
| Modul | Beschreibung |
|
||
|---|---|
|
||
| **Ticketsystem** | Erstellen, Bearbeiten und Verwalten von IT-Supportanfragen |
|
||
| **User-Portal** | Vereinfachte Oberfläche für Endnutzer zur Anfragenstellung |
|
||
| **KI-Assistent** | Claude-basierte Analysen, Lösungsvorschläge und Chat-Hilfe |
|
||
| **E-Mail-Integration** | Eingehende Mails werden automatisch zu Tickets |
|
||
| **Asset-Verwaltung** | Hardware und Software-Inventar |
|
||
| **FIDO-Keys** | Verwaltung von Sicherheitsschlüsseln |
|
||
| **Lifecycle** | On- und Offboarding-Prozesse |
|
||
| **IT Übersicht** | Strategische IT-Themen für monatliche GF-Meetings (JF IT) |
|
||
| **Wissensdatenbank** | Dokumentierte Lösungen für häufige Probleme |
|
||
| **ISO 27001 Planung** | Fortschrittsverfolgung der ISO-Zertifizierungsaufgaben |
|
||
| **Risikoanalyse** | Manuelle und automatische IT-Risikoerfassung mit M365-Sync |
|
||
| **Entra ID Rechte** | Übersicht und Verwaltung von Benutzerrechten in Microsoft Entra ID |
|
||
| **Agent Monitoring** | Echtzeit-Überwachung aller Windows-Geräte via C# .NET Agent (v2.0.0) |
|
||
| **Patch Management** | Staged Rollout von Windows Updates mit Gruppen, Policies und Befehlen |
|
||
| **Ankündigungen** | Desktop-Benachrichtigungen auf verwalteten Geräten via Agent |
|
||
|
||
---
|
||
|
||
## 2. Zugang & Benutzerrollen
|
||
|
||
### Login
|
||
|
||
1. `https://it-nexus.cereda-systems.de/login` aufrufen
|
||
2. Benutzername und Passwort eingeben
|
||
3. Bei erstem Login: Passwort-Änderung erforderlich
|
||
|
||
### Benutzerrollen
|
||
|
||
Das System kennt 8 Rollen mit unterschiedlichen Berechtigungen:
|
||
|
||
| Rolle | Bezeichnung | Zugang |
|
||
|---|---|---|
|
||
| **super_admin** | 👑 Super Administrator | Vollzugriff auf alle Funktionen inkl. Systemeinstellungen |
|
||
| **admin** | 🛡️ Administrator | Vollzugriff, außer einige Super-Admin-Funktionen |
|
||
| **support** | 🎧 IT-Support | Tickets bearbeiten, kommentieren, zuweisen; sieht IT-Aufgaben im Onboarding |
|
||
| **bearbeiter** | 🔧 Bearbeiter | Assets und FIDO-Keys verwalten, Tickets einsehen |
|
||
| **techniker** | 🏭 Techniker / Produktion | Assets (Maschinen, Werkzeuge) anlegen und Prüfprotokoll führen; vereinfachter Wizard |
|
||
| **benutzer** | 👤 Endnutzer | Nur User-Portal – eigene Anfragen stellen und einsehen |
|
||
| **hr_personal** | 🧑💼 HR / Personal | Sieht und bearbeitet HR-Aufgaben im Onboarding-Protokoll |
|
||
| **buchhaltung** | 💶 Buchhaltung / Lohn | Sieht und bearbeitet Buchhaltungs-Aufgaben im Onboarding-Protokoll |
|
||
|
||
> **Hinweis:** Endnutzer sehen nach dem Login automatisch das User-Portal (`/portal`) statt das Dashboard.
|
||
|
||
### Passwort-Anforderungen
|
||
|
||
- Mindestens 8 Zeichen
|
||
- Mindestens 1 Großbuchstabe, 1 Kleinbuchstabe, 1 Zahl, 1 Sonderzeichen
|
||
|
||
---
|
||
|
||
## 3. Ticketsystem – Übersicht
|
||
|
||
### Ticket-Status
|
||
|
||
Jedes Ticket durchläuft folgende Status-Stufen:
|
||
|
||
```
|
||
Offen → In Bearbeitung → Warten auf Mitarbeiter ⟺ Warten auf Support → Geschlossen
|
||
```
|
||
|
||
| Status | Beschreibung | Farbe |
|
||
|---|---|---|
|
||
| **Offen** | Neu eingegangen, noch nicht bearbeitet | Grau |
|
||
| **In Bearbeitung** | Support hat das Ticket übernommen | Blau |
|
||
| **Warten auf Mitarbeiter** | Support hat geantwortet, wartet auf Rückmeldung | Orange |
|
||
| **Warten auf Support** | Nutzer hat geantwortet, Support ist dran | Gelb |
|
||
| **Geschlossen** | Problem gelöst | Grün |
|
||
|
||
#### Automatische Status-Änderungen beim Kommentieren
|
||
|
||
- **Support schreibt** öffentlichen Kommentar → Status wechselt zu „Warten auf Mitarbeiter"
|
||
- **Nutzer/Bearbeiter schreibt** → Status wechselt zu „Warten auf Support"
|
||
- **Nutzer schreibt** auf geschlossenes Ticket → Ticket wird automatisch **wieder geöffnet**
|
||
|
||
### Prioritäten
|
||
|
||
| Priorität | Symbol | Einsatz |
|
||
|---|---|---|
|
||
| 🟢 Niedrig | Grün | Keine Dringlichkeit, kein Produktionsausfall |
|
||
| 🔵 Mittel | Blau | Standard-Anfragen |
|
||
| 🟠 Hoch | Orange | Wichtige Systeme betroffen |
|
||
| 🔴 Kritisch | Rot | Produktionsausfall, sofortiger Handlungsbedarf |
|
||
|
||
### SLA-Überwachung
|
||
|
||
Das System überwacht automatisch die Bearbeitungszeit:
|
||
- **> 24 Stunden** ohne Reaktion → orangefarbene SLA-Warnung auf der Ticket-Karte
|
||
- **> 48 Stunden** → rote SLA-Warnung
|
||
|
||
---
|
||
|
||
## 4. Ticket erstellen
|
||
|
||
### Über die Tickets-Seite (Staff)
|
||
|
||
1. **Tickets** in der Sidebar anklicken
|
||
2. **+ Neues Ticket** Button klicken
|
||
3. Formular ausfüllen:
|
||
|
||
| Feld | Pflicht | Beschreibung |
|
||
|---|---|---|
|
||
| **Vorlage** | Nein | Vorausgefüllte Vorlage wählen (z.B. Passwort-Reset) |
|
||
| **Titel** | Ja | Kurze Beschreibung des Problems |
|
||
| **Beschreibung** | Nein | Detaillierte Schilderung |
|
||
| **Kategorie** | Ja | Themenbereich (konfigurierbar in Einstellungen) |
|
||
| **Priorität** | Ja | Dringlichkeit (Standard: Mittel) |
|
||
| **Betroffenes Asset** | Nein | Verknüpfung mit einem Gerät/Asset |
|
||
| **Anfragender Name** | Nein | Wird automatisch aus dem Login befüllt |
|
||
| **Anfragender E-Mail** | Nein | Für externe Benachrichtigungen |
|
||
|
||
4. **Ticket erstellen** klicken
|
||
|
||
### Über das User-Portal (Endnutzer)
|
||
|
||
Endnutzer können Anfragen über das vereinfachte Portal stellen:
|
||
1. **Neue Anfrage stellen** klicken
|
||
2. Thema wählen (Assistent führt durch häufige Probleme)
|
||
3. Geführte Fragen beantworten → Ticket wird automatisch ausgefüllt
|
||
4. Alternativ: Freies Formular für individuelle Anfragen
|
||
|
||
### Ticket-Vorlagen
|
||
|
||
Standard-Vorlagen erleichtern das Erstellen wiederkehrender Anfragen:
|
||
- Passwort-Reset
|
||
- VPN-Probleme
|
||
- Drucker defekt
|
||
- Neues Gerät einrichten
|
||
- Software-Installation
|
||
- SelectLine Fehler
|
||
- E-Mail Problem
|
||
- Netzwerk-Ausfall
|
||
|
||
> Vorlagen können unter **⚙️ → System → Einstellungen** angepasst werden.
|
||
|
||
### Ticket-Nummer
|
||
|
||
Jedes Ticket erhält automatisch eine eindeutige Nummer im Format **TK-XXXX** (z.B. `TK-0042`).
|
||
|
||
---
|
||
|
||
## 5. Ticket-Ansichten
|
||
|
||
### Tabellen-Ansicht
|
||
|
||
Standardansicht mit allen Tickets als Liste:
|
||
- Spalten: Ticket-Nr., Titel, Status, Priorität, Kategorie, Zugewiesen an, Erstellt
|
||
- Klick auf eine Zeile öffnet die Detail-Ansicht
|
||
|
||
### Kanban-Board
|
||
|
||
Visuelles Board mit 4 Spalten (eine pro Status, ohne „Geschlossen"):
|
||
|
||
```
|
||
[ Offen ] [ In Bearbeitung ] [ Warten auf Mitarbeiter ] [ Warten auf Support ]
|
||
```
|
||
|
||
- Tickets können per **Drag & Drop** zwischen Spalten verschoben werden
|
||
- Schnell-Status-Buttons direkt auf der Karte
|
||
- Ticket schließen über „✓ Schließen" mit optionalem Abschluss-Kommentar
|
||
|
||
### Metriken-Ansicht
|
||
|
||
Dashboard mit Kennzahlen:
|
||
- Gesamt / Offen / In Bearbeitung / Kritisch
|
||
- Klick auf Kacheln filtert die Ticket-Liste
|
||
|
||
### Suche & Filter
|
||
|
||
- **Freitextsuche**: Sucht in Titel, Beschreibung, Ticket-Nr., Anfragender
|
||
- **Status-Filter**: Schnellfilter per Klick auf Status-Badge
|
||
- **Priorität**: Dropdown-Filter
|
||
- **Kategorie**: Dropdown-Filter
|
||
|
||
### Bulk-Aktionen
|
||
|
||
Mehrere Tickets gleichzeitig bearbeiten:
|
||
1. Checkboxen aktivieren
|
||
2. Aktion wählen: Status setzen, Priorität setzen, Zuweisen, Schließen, Löschen
|
||
3. Ausführen klicken
|
||
|
||
---
|
||
|
||
## 6. Ticket-Detail & Bearbeitung
|
||
|
||
Die Detail-Seite eines Tickets (`/tickets/:id`) zeigt:
|
||
|
||
### Kopfbereich
|
||
- Ticket-Nummer, Titel, Status-Badge, Priorität
|
||
- Erstellt von / Erstellt am / Zugewiesen an
|
||
- Anfragender (Name + E-Mail)
|
||
- Betroffenes Asset (falls verknüpft)
|
||
|
||
### Bearbeitungsbereich (Staff)
|
||
|
||
**Status ändern:** Dropdown direkt im Header
|
||
**Priorität ändern:** Dropdown direkt im Header
|
||
**Zuweisen:** Mitarbeiter aus der Dropdown-Liste auswählen → Benachrichtigung geht automatisch raus
|
||
**Kategorie:** Änderbar im Bearbeitungsmodus
|
||
|
||
### KI-Analyse
|
||
|
||
Neue Tickets werden automatisch von Claude analysiert. Im Detail werden angezeigt:
|
||
- **Erkannte Kategorie** (automatisch)
|
||
- **Empfohlene Priorität**
|
||
- **Lösungsvorschlag** basierend auf dem Problem und der Wissensdatenbank
|
||
|
||
### Ticket-Verknüpfungen
|
||
|
||
Tickets können miteinander verknüpft werden (z.B. „Verwandt mit TK-0023").
|
||
|
||
### PDF-Export
|
||
|
||
Ticket als PDF exportieren über den **PDF**-Button (inkl. Kommentarverlauf).
|
||
|
||
### Ticket schließen
|
||
|
||
- Über **Schließen**-Button oder Status-Änderung
|
||
- Optionaler Abschluss-Kommentar
|
||
- Geschlossene Tickets erscheinen nur noch in der Wissensdatenbank
|
||
|
||
---
|
||
|
||
## 7. Kommentare & Kommunikation
|
||
|
||
### Öffentliche Kommentare
|
||
|
||
Sichtbar für alle (inkl. Anfragenden via E-Mail-Benachrichtigung):
|
||
- Werden als E-Mail an den Anfragenden gesendet
|
||
- Lösen Auto-Status-Änderungen aus
|
||
|
||
### Interne Notizen
|
||
|
||
Nur für Staff-Rollen sichtbar, erkennbar an grauem Hintergrund:
|
||
- Kein E-Mail-Versand
|
||
- Für interne Abstimmung
|
||
|
||
### Markdown-Unterstützung
|
||
|
||
Kommentare unterstützen einfaches Markdown:
|
||
- `**fett**`, `*kursiv*`
|
||
- `` `code` ``
|
||
- Zeilenumbrüche
|
||
|
||
### Live-Updates (SSE)
|
||
|
||
Die Kommentar-Sektion aktualisiert sich in Echtzeit ohne Browser-Reload (Server-Sent Events). Neue Kommentare erscheinen sofort.
|
||
|
||
### KI-Antwort
|
||
|
||
**KI-Antwort vorschlagen** Button generiert eine vorformulierte Antwort an den Nutzer basierend auf dem Ticket-Inhalt und der Wissensdatenbank. Text kann vor dem Absenden bearbeitet werden.
|
||
|
||
---
|
||
|
||
## 8. KI-Integration
|
||
|
||
IT Nexus integriert Claude (claude-sonnet-4-6) von Anthropic für intelligente Ticket-Unterstützung.
|
||
|
||
### Automatische Ticket-Analyse
|
||
|
||
Bei jedem neuen Ticket analysiert die KI automatisch (im Hintergrund):
|
||
- Passendes Themengebiet / Kategorie
|
||
- Empfohlene Priorität
|
||
- Ersten Lösungsvorschlag
|
||
|
||
Das Ergebnis erscheint als **„KI-Vorschlag"** im Ticket-Detail.
|
||
|
||
### KI-Assistent Chat (`/ai`)
|
||
|
||
Interaktive Chat-Seite für Staff-Rollen:
|
||
- Freie Fragen zum IT-Support stellen
|
||
- KI hat Zugriff auf die Wissensdatenbank
|
||
- Konversationsverlauf im Browser-Tab
|
||
|
||
### Wissensdatenbank
|
||
|
||
Unter **Wissensdatenbank** können Admins Artikel verwalten und per KI-Import befüllen. Die KI nutzt alle Einträge als Kontext bei Ticket-Analysen und Chat-Antworten.
|
||
|
||
#### Import-Funktionen
|
||
| Methode | Beschreibung |
|
||
|---|---|
|
||
| **Text einfügen** | Direkt Text/Dokumentation einfügen → KI erstellt Artikel |
|
||
| **Datei hochladen** | PDF, DOCX, EML, TXT → KI extrahiert Artikel |
|
||
| **URL importieren** | Einzelne Webseite abrufen und importieren |
|
||
| **Website crawlen** | BFS-Crawler folgt Links auf gleicher Domain (bis 100 Seiten) |
|
||
|
||
Bereits importiert: **SelectLine Online-Hilfe** (Wawi, Rewe, Produktion, CRM, Kasse, Artikelmanager, Mobile) → 335 Artikel.
|
||
|
||
### Floating Chat-Widget
|
||
|
||
Kleines Chat-Icon unten rechts (nur für Staff):
|
||
- Schneller KI-Zugriff ohne Seitenwechsel
|
||
- Nicht sichtbar auf öffentlichen Seiten (/health, /login)
|
||
|
||
---
|
||
|
||
## 9. User-Portal (Benutzer)
|
||
|
||
Endnutzer gelangen nach dem Login direkt zum Portal unter `/portal`.
|
||
|
||
### Übersicht (Header-Kacheln)
|
||
|
||
| Kachel | Inhalt |
|
||
|---|---|
|
||
| **Anfragen** | Anzahl aller eigenen Tickets |
|
||
| **Aktiv** | Offene / in Bearbeitung befindliche Tickets |
|
||
| **Geräte** | Zugewiesene Unternehmensgeräte |
|
||
| **FIDO-Keys** | Eigene Sicherheitsschlüssel |
|
||
|
||
### Schnellzugriff
|
||
|
||
- **Neue Anfrage stellen** – Öffnet Ticket-Erstellungsassistent
|
||
- **KI-Hilfe** – Öffnet KI-Chat-Tab direkt im Portal
|
||
|
||
### Tab-Navigation
|
||
|
||
**Anfragen-Tab:**
|
||
- Alle eigenen Tickets mit Status und Datum
|
||
- Filter: Aktiv / Alle
|
||
- Klick auf Anfrage öffnet die Detail-Seite
|
||
|
||
**Geräte-Tab:**
|
||
- Zugewiesene Assets/Geräte
|
||
|
||
**FIDO-Keys-Tab:**
|
||
- Eigene Sicherheitsschlüssel einsehen
|
||
|
||
**KI-Hilfe-Tab:**
|
||
- Direkter KI-Chat integriert im Portal
|
||
|
||
**Einstellungen-Tab:**
|
||
- E-Mail-Benachrichtigungen aktivieren/deaktivieren (globaler Toggle)
|
||
- Bei aktivierten Benachrichtigungen erhält der Nutzer E-Mails bei: Ticket-Bestätigung, neuen Kommentaren, Statusänderungen und Zufriedenheits-Umfragen
|
||
|
||
> **Hinweis:** Staff-Benutzer (admin, support, bearbeiter) verwalten ihre Benachrichtigungen unter **Mein Konto** (Hover auf Benutzername → Mein Konto).
|
||
|
||
### Ticket-Assistent (Wizard)
|
||
|
||
Der Assistent führt Nutzer durch häufige Probleme:
|
||
|
||
1. **Thema wählen**: Passwort, E-Mail, VPN, Drucker, Software, Hardware, Netzwerk, Sonstiges
|
||
2. **Geführte Fragen**: Konkrete Fragen zum gewählten Thema (z.B. „Welche Fehlermeldung erscheint?")
|
||
3. **Ticket wird automatisch ausgefüllt** und kann vor dem Absenden noch bearbeitet werden
|
||
|
||
Bei Auswahl „Defektes Gerät" wird direkt ein Foto-Upload-Formular angeboten.
|
||
|
||
---
|
||
|
||
## 10. E-Mail-Integration
|
||
|
||
### Eingehende E-Mails → Tickets
|
||
|
||
Das System überwacht ein E-Mail-Postfach alle 30 Sekunden und erstellt aus eingehenden Mails automatisch Tickets:
|
||
|
||
- **Betreff** → Ticket-Titel
|
||
- **Absender** → Anfragender
|
||
- **Nachrichtentext** → Beschreibung
|
||
- **Anhänge** → werden gespeichert und verknüpft
|
||
|
||
Antwortet ein Nutzer später per E-Mail auf eine Ticket-Benachrichtigung, wird die Antwort automatisch als Kommentar hinzugefügt.
|
||
|
||
**Bounce-Schutz:** Automatische Antworten und Bounce-Mails werden erkannt und ignoriert.
|
||
|
||
### Ausgehende Benachrichtigungen
|
||
|
||
Das System sendet automatisch E-Mails bei:
|
||
|
||
| Ereignis | Empfänger |
|
||
|---|---|
|
||
| Ticket erstellt | Anfragender (Bestätigung mit TK-Nummer) |
|
||
| Ticket erstellt | Staff mit aktiviertem „Neues Ticket"-Toggle |
|
||
| Ticket zugewiesen | Zugewiesener Mitarbeiter (wenn Toggle aktiv) |
|
||
| Öffentlicher Kommentar von Support | Anfragender |
|
||
| Antwort des Anfragenden | Zugewiesener Staff (wenn Toggle aktiv) |
|
||
| Ticket geschlossen | Anfragender |
|
||
| Ticket eskaliert (SLA überschritten) | Admin-Team |
|
||
|
||
### Wöchentlicher Bericht
|
||
|
||
Jeden Montag um 08:00 Uhr wird ein Wochen-Zusammenfassungsbericht an Staff-Mitglieder mit aktiviertem Wochenbericht-Toggle versendet.
|
||
|
||
---
|
||
|
||
## 11. Benachrichtigungen
|
||
|
||
### Browser-Benachrichtigungen (Staff)
|
||
|
||
Das System überprüft alle 15 Sekunden auf neue Tickets und Aktivitäten:
|
||
- **Glocken-Icon** in der Topbar zeigt Anzahl neuer Ereignisse (roter Badge)
|
||
- Klick öffnet Benachrichtigungs-Dropdown
|
||
- Browser-Benachrichtigungen (falls Berechtigung erteilt)
|
||
|
||
Benachrichtigungen erscheinen bei:
|
||
- Neuen Tickets
|
||
- Status-Änderungen
|
||
- Neuen Kommentaren
|
||
|
||
### E-Mail-Benachrichtigungen (Staff – Mein Konto)
|
||
|
||
Staff-Benutzer können ihre E-Mail-Benachrichtigungen granular steuern unter **Mein Konto** (Hover auf Benutzername oben rechts → 👤 Mein Konto):
|
||
|
||
| Benachrichtigung | Standard | Beschreibung |
|
||
|---|---|---|
|
||
| Neues Ticket eingegangen | Aus | Wenn ein neues Ticket erstellt wird |
|
||
| Ticket zugewiesen | Ein | Wenn dir ein Ticket zugewiesen wird |
|
||
| Neue Antwort auf Ticket | Ein | Wenn ein Mitarbeiter auf ein zugewiesenes Ticket antwortet |
|
||
| Wöchentlicher Report | Ein | Montags: Zusammenfassung offener/geschlossener Tickets |
|
||
|
||
---
|
||
|
||
## 12. Admin-Einstellungen
|
||
|
||
Erreichbar über: **⚙️ (Zahnrad) → System → Einstellungen**
|
||
Zugang: nur `super_admin` und `admin`
|
||
|
||
### Tab: Kategorien
|
||
|
||
Ticket-Kategorien verwalten:
|
||
|
||
| Aktion | Beschreibung |
|
||
|---|---|
|
||
| **+ Kategorie hinzufügen** | Name + Emoji-Icon festlegen |
|
||
| **Bearbeiten** | Name oder Icon ändern |
|
||
| **Löschen** | Kategorie entfernen (bestehende Tickets behalten die Kategorie als Text) |
|
||
|
||
**Standard-Kategorien:** Allgemein, Software, Hardware, Netzwerk, SelectLine
|
||
|
||
### Tab: Vorlagen
|
||
|
||
Ticket-Vorlagen für häufige Anfragen verwalten:
|
||
|
||
| Feld | Beschreibung |
|
||
|---|---|
|
||
| **Anzeige-Name** | Text im Dropdown „Vorlage wählen" |
|
||
| **Ticket-Titel** | Wird als Titel vorausgefüllt |
|
||
| **Beschreibung** | Vorlagentext mit Lücken für den Nutzer |
|
||
| **Kategorie** | Automatisch zugewiesene Kategorie |
|
||
| **Priorität** | Standard-Priorität für diesen Typ |
|
||
|
||
---
|
||
|
||
## 13. Weitere Module
|
||
|
||
### System-Übersicht (`/system`)
|
||
|
||
Hub für Admin-Funktionen:
|
||
- **Server Health**: Echtzeit-Status aller Services (API, Datenbank, Antwortzeit)
|
||
- **Wartungskalender**: Überfällige Asset-Prüfungen
|
||
- **Einstellungen**: Kategorien & Vorlagen
|
||
- **API Dokumentation**: Alle 78 API-Endpunkte mit Beschreibung und Beispielen
|
||
|
||
### Asset-Verwaltung (`/assets`)
|
||
|
||
Die Asset-Verwaltung deckt Hardware-Inventar für IT und Produktion ab. Admins und Bearbeiter sehen alle Assets; die Rolle `techniker` sieht und verwaltet nur Produktions-/Techniker-Assets über einen vereinfachten Wizard.
|
||
|
||
#### Asset-Typen
|
||
|
||
| Bereich | Typen |
|
||
|---|---|
|
||
| **IT** | Notebook, Monitor, Headset, Other |
|
||
| **Produktion / Techniker** | Maschine ⚙️, Werkzeug 🔧, Sonstiges 📦 |
|
||
|
||
#### Abteilungen (Bereich)
|
||
|
||
Assets werden einem Bereich zugeordnet: **IT**, **Produktion** oder **Techniker**.
|
||
|
||
#### Asset anlegen – IT-Rolle
|
||
|
||
Standardformular mit: Typ, Name, Bereich, Seriennummer (Pflicht), Modell, Status, Kaufdatum, Beschreibung, TeamViewer-ID sowie Wartungsdaten.
|
||
|
||
#### Asset anlegen – Techniker/Produktion-Rolle (Wizard)
|
||
|
||
Für die Rolle `techniker` öffnet sich ein 3-stufiger Wizard statt des Standardformulars:
|
||
|
||
| Schritt | Inhalt |
|
||
|---|---|
|
||
| **1. Vorlage** | Vorlage wählen: Maschine ⚙️, Werkzeug 🔧, Sonstiges 📦 |
|
||
| **2. Details** | Typ, Name*, Bereich (Produktion/Techniker), Modell, Seriennummer (optional – wird automatisch vergeben wenn leer), Status, Kaufdatum, Beschreibung |
|
||
| **3. Wartung** | Letzte Wartung, Nächste Prüfung (auto-berechnet), Intervall (Monate), Wartungsnotizen |
|
||
|
||
> **Seriennummer:** Wenn leer, wird automatisch eine eindeutige Seriennummer im Format `AUTO-{Timestamp}-{Zufallszahl}` vergeben.
|
||
|
||
> **Bearbeitung:** Beim Bearbeiten eines bestehenden Assets startet der Wizard direkt bei Schritt 2 (Vorlage-Schritt wird übersprungen).
|
||
|
||
#### Automatische Berechnung der nächsten Prüfung
|
||
|
||
Sobald **Letzte Wartung** und **Intervall (Monate)** gesetzt sind, berechnet das System automatisch das nächste Fälligkeitsdatum:
|
||
|
||
```
|
||
Nächste Prüfung = Letzte Wartung + Intervall (Monate)
|
||
```
|
||
|
||
Die Berechnung erfolgt sowohl im Wizard (clientseitig) als auch im Backend (serverseitig) als Fallback.
|
||
|
||
#### Wartungs-E-Mail-Benachrichtigung
|
||
|
||
Das System sendet täglich um **08:00 Uhr** eine E-Mail-Benachrichtigung an alle aktiven Benutzer mit der Rolle `techniker`, wenn für Assets (Bereich: Produktion oder Techniker) die nächste Prüfung **heute fällig** ist.
|
||
|
||
Die E-Mail enthält eine Liste aller fälligen Assets mit Name, Typ und Seriennummer.
|
||
|
||
#### Prüfprotokoll
|
||
|
||
Jedes Asset verfügt über ein Prüfprotokoll (erreichbar über das **⋮ Menü → 🔍 Prüfprotokoll**):
|
||
|
||
- **Prüfungshistorie**: Alle vergangenen Prüfungen chronologisch sortiert (neueste zuerst)
|
||
- **Farbcodierung**: Grüner Rand = bestanden, roter Rand = nicht bestanden
|
||
- **Neue Prüfung erfassen** (Toggle-Formular):
|
||
|
||
| Feld | Beschreibung |
|
||
|---|---|
|
||
| **Prüfdatum** | Datum der Prüfung (Standard: heute) |
|
||
| **Ergebnis** | Bestanden / Nicht bestanden |
|
||
| **Nächste Fälligkeit** | Optionales Datum der nächsten Prüfung (überschreibt Asset-Feld) |
|
||
| **Notizen** | Prüfer, Befunde, VDE-/UVV-Prüfung etc. |
|
||
|
||
Nach dem Speichern einer Prüfung wird das Feld `next_maintenance_date` des Assets automatisch aktualisiert, sofern eine nächste Fälligkeit angegeben wurde.
|
||
|
||
#### Aktionen-Menü (⋮)
|
||
|
||
Alle Aktionen pro Asset sind in einem **⋮ Dropdown-Menü** zusammengefasst:
|
||
|
||
| Aktion | Symbol | Beschreibung |
|
||
|---|---|---|
|
||
| Asset bearbeiten | ✏️ | Bearbeitungsformular/-Wizard öffnen |
|
||
| Übergabeprotokoll | 📋 | Übergabe-PDF generieren und herunterladen |
|
||
| Asset-Label | 🏷️ | Label/Aufkleber-PDF generieren |
|
||
| Prüfprotokoll | 🔍 | Prüfhistorie und neue Prüfung erfassen |
|
||
| Asset zuweisen | 👤 | Asset einem Mitarbeiter zuweisen |
|
||
| Asset freigeben | ↩️ | Zuweisung aufheben |
|
||
| Asset löschen | 🗑️ | Asset unwiderruflich löschen |
|
||
|
||
#### Typ-Filter (rollenbasiert)
|
||
|
||
Der Typ-Filter in der Asset-Tabelle zeigt nur die für die jeweilige Rolle relevanten Typen:
|
||
- **Techniker-Rolle**: nur Maschine, Werkzeug, Sonstiges
|
||
- **Alle anderen Rollen**: alle Typen (Notebook, Monitor, Headset, Other, Maschine, Werkzeug, Sonstiges)
|
||
|
||
#### Anlagevermögen-Felder (optional, pro Asset)
|
||
|
||
Jedes Asset kann mit buchhalterischen Feldern ergänzt werden:
|
||
|
||
| Feld | Beschreibung |
|
||
|---|---|
|
||
| **Inventarnummer** | Eindeutige Kennnummer im Format `ANL-0001`; wird beim Anlegen automatisch vergeben (überschreibbar) |
|
||
| **Anschaffungswert (€)** | Kaufpreis des Assets |
|
||
| **Nutzungsdauer (Jahre)** | Planmäßige Nutzungsdauer für die AfA-Berechnung |
|
||
| **Restwert (€)** | Erwarteter Restwert nach Ablauf der Nutzungsdauer (Standard: 0) |
|
||
|
||
Diese Felder erscheinen im AssetModal unter dem ausklappbaren Abschnitt **„Anlagevermögen (optional)"** sowie in Schritt 3 des Produktion-Wizards. Nur Rollen mit Schreibrecht auf Assets (super_admin, admin, bearbeiter) können diese Felder bearbeiten.
|
||
|
||
#### Weitere Funktionen
|
||
|
||
- Zuweisung an Mitarbeiter mit Übergabeprotokoll-PDF
|
||
- Asset-Label/Aufkleber-PDF (QR-Code + Details)
|
||
- CSV-Export aller Assets
|
||
- Intune-Import (Azure/Microsoft Endpoint Manager)
|
||
- Verlaufshistorie der Zuweisungen pro Asset
|
||
|
||
---
|
||
|
||
### Anlagevermögen (`/anlagevermoegen`)
|
||
|
||
Buchhalterische Übersicht aller Assets mit eingetragenem Kaufpreis. Zugänglich für `super_admin`, `admin` und `buchhaltung`.
|
||
|
||
#### AfA-Berechnung (lineare Abschreibung)
|
||
|
||
```
|
||
AfA/Jahr = (Anschaffungswert − Restwert) ÷ Nutzungsdauer
|
||
Buchwert heute = MAX(Restwert, Anschaffungswert − AfA/Jahr × vergangene Jahre)
|
||
Abgeschrieben am = Kaufdatum + Nutzungsdauer Jahre
|
||
```
|
||
|
||
Die Berechnung erfolgt ausschließlich im Frontend (keine neuen Backend-Endpunkte).
|
||
|
||
#### Übersichts-Kacheln
|
||
|
||
| Kachel | Inhalt |
|
||
|---|---|
|
||
| **Gesamtanschaffungswert** | Summe aller Kaufpreise |
|
||
| **Buchwert heute** | Summe der aktuellen Buchwerte |
|
||
| **Kumulierte AfA** | Summe der bereits abgeschriebenen Beträge |
|
||
|
||
#### Tabellenspalten
|
||
|
||
Inv.-Nr. · Name · Typ · Bereich · Kaufdatum · Anschaffungswert · Nutzungsdauer · AfA/Jahr · Buchwert heute · Abgeschrieben am · Status (Aktiv / Abgeschrieben)
|
||
|
||
#### CSV-Export
|
||
|
||
- Dateiname: `anlagevermoegen_YYYY-MM-DD.csv`
|
||
- Encoding: UTF-8 mit BOM (für korrekte Excel-Öffnung)
|
||
- Separator: `;`
|
||
- Dezimaltrennzeichen: `,` (deutsche Notation)
|
||
- Enthält alle sichtbaren Tabellenfelder inkl. Inventarnummer
|
||
|
||
#### Inventarnummer-Automatik
|
||
|
||
Beim Erstellen eines neuen Assets wird automatisch die nächste freie Nummer vergeben:
|
||
|
||
```
|
||
ANL-0001, ANL-0002, ANL-0003, …
|
||
```
|
||
|
||
Die Nummer kann im Modal manuell überschrieben werden. Beim Aktualisieren eines bestehenden Assets bleibt die vorhandene Nummer erhalten.
|
||
|
||
### FIDO-Keys (`/fido-keys`)
|
||
|
||
- Sicherheitsschlüssel verwalten (Yubikey, etc.)
|
||
- Zuweisung an Benutzer
|
||
- Status: aktiv / inaktiv
|
||
|
||
### Lifecycle (`/lifecycle`)
|
||
|
||
Onboarding, Offboarding und Prozess-Konfiguration in einer Seite mit drei Tabs:
|
||
|
||
| Tab | Inhalt |
|
||
|---|---|
|
||
| 🟢 Onboarding | Liste aller Onboarding-Protokolle |
|
||
| 🔴 Offboarding | Liste aller Offboarding-Protokolle |
|
||
| ⚙️ Prozesse | Konfigurierbares Checklisten-System |
|
||
|
||
#### Onboarding-Wizard
|
||
|
||
Neues Onboarding wird per 2-stufigem Wizard angelegt:
|
||
|
||
**Schritt 1 – Persönliche Daten:**
|
||
- Vor- und Nachname, private E-Mail, Telefon, Adresse
|
||
- **Abteilung**: Dropdown aus konfigurierbaren Firmenabteilungen (Wartung, TBO/Service, Vertrieb AD, Vertrieb ID, KAW, IT, Verwaltung, Produktion – verwaltbar im Tab ⚙️ Prozesse)
|
||
- Position, Startdatum, Arbeitsort (Büro / Homeoffice / Hybrid)
|
||
- Stundenmodell (Vollzeit 40h/38h, Teilzeit 30h/20h, Minijob)
|
||
- Urlaubsmodell (25–30 Tage oder gesetzlich)
|
||
- Interne Notizen
|
||
|
||
**Schritt 2 – Abteilungen & Vorgesetzter:**
|
||
- Vorgesetzter (VG): Namenssuche in Microsoft Entra (Azure AD) – Name eingeben, „Suchen", aus Trefferliste wählen; alternativ aus IT-Nexus-Systembenutzern wählbar
|
||
|
||
#### Konfigurierbares Checklisten-System (Tab ⚙️ Prozesse)
|
||
|
||
Jede Firmenabteilung hat eine eigene Checkliste, die von den zuständigen Rollen gepflegt wird:
|
||
|
||
**Struktur:**
|
||
- **Links (Sidebar)**: Firmenabteilungen (wo der MA eingesetzt wird)
|
||
- **Rechts**: Aufgaben der gewählten Abteilung, gruppiert nach zuständigem Team
|
||
|
||
**Zuständige Teams:**
|
||
|
||
| Team | Icon | Bearbeitet von Rolle |
|
||
|---|---|---|
|
||
| IT | 💻 | `support` |
|
||
| HR / Personal | 🧑💼 | `hr_personal` |
|
||
| Buchhaltung | 💶 | `buchhaltung` |
|
||
|
||
- Jede Rolle sieht und bearbeitet **nur die Aufgaben ihres Teams**
|
||
- `admin` / `super_admin` sehen alle Teams mit Team-Filter
|
||
- Abteilungen können nur von Admins hinzugefügt/bearbeitet/gelöscht werden
|
||
- Aufgaben per Drag & Drop umsortierbar
|
||
- Jede Aufgabe hat Priorität (Standard / Wichtig / Kritisch) und gilt für Onboarding, Offboarding oder beides
|
||
|
||
**Standard-Aufgaben (je Abteilung, werden beim ersten Start automatisch angelegt):**
|
||
|
||
*IT (Onboarding):* AD-Account, E-Mail, Hardware beschaffen & aufsetzen, Software, Telefon, Hardware-Übergabe, Ersten Login begleiten
|
||
|
||
*IT (Offboarding):* Konten deaktivieren, Zugriffsrechte entziehen, Hardware zurücknehmen, E-Mail-Weiterleitung
|
||
|
||
*HR (Onboarding):* Personalakte, Abteilungen informieren, Willkommens-E-Mail, Formulare, Pflichtunterweisungen, Empfang, Formulare unterzeichnen
|
||
|
||
*HR (Offboarding):* Abschlussgespräch, Arbeitszeugnis, Personalakte abschließen, SV abmelden
|
||
|
||
*Buchhaltung (Onboarding):* DATEV anlegen, Bankdaten & Steuerklasse, Lohnkonto, SV anmelden, Gehaltsabrechnung vorbereiten
|
||
|
||
*Buchhaltung (Offboarding):* Letzte Gehaltsabrechnung, DATEV-Austritt, Offene Spesen
|
||
|
||
#### Rollensichtbarkeit in der Checkliste
|
||
|
||
| Rolle | Kann abhaken |
|
||
|---|---|
|
||
| `hr_personal` | HR / Personal-Aufgaben |
|
||
| `support` | IT-Aufgaben |
|
||
| `buchhaltung` | Buchhaltungs-Aufgaben |
|
||
| `admin` / `super_admin` | Alle Aufgaben |
|
||
|
||
Aufgaben anderer Teams werden ausgegraut angezeigt (nicht editierbar).
|
||
|
||
#### Bestätigungs-E-Mail (Onboarding)
|
||
|
||
Nach Abschluss des Onboardings kann dem Mitarbeiter eine Bestätigungs-E-Mail mit einem personalisierten Link gesendet werden:
|
||
|
||
1. Onboarding-Protokoll öffnen → **📧 Protokoll zusenden**
|
||
2. Mitarbeiter erhält E-Mail mit „✅ Übergabe bestätigen"-Button
|
||
3. Klick auf den Link setzt das Protokoll auf **Abgeschlossen** und speichert den Bestätigungszeitpunkt
|
||
4. Status wird in der Tabelle und im Protokoll angezeigt (✅ Bestätigt [Datum] oder ⏳ Ausstehend)
|
||
5. E-Mail kann beliebig oft neu gesendet werden (jeder neue Link ersetzt den vorherigen)
|
||
|
||
> **Voraussetzung:** Private E-Mail-Adresse des Mitarbeiters muss im Protokoll hinterlegt sein.
|
||
|
||
#### Prozess-Kopierfunktion
|
||
|
||
Im Tab **⚙️ Prozesse** können alle Aufgaben eines Teams aus einer Abteilung in eine andere kopiert werden:
|
||
|
||
1. Quell-Abteilung in der Sidebar wählen
|
||
2. **📋 Kopieren** im Header der gewünschten Team-Gruppe klicken (IT / HR / BK getrennt)
|
||
3. Ziel-Abteilung in der Sidebar wählen
|
||
4. **📋 X Einfügen** in der Toolbar klicken → alle Aufgaben werden übertragen
|
||
|
||
#### Weitere Funktionen
|
||
- Fortschrittsbalken pro Team und Gesamtfortschritt
|
||
- Protokoll-Erstellung und Archivierung
|
||
- PDF-Export der Protokolle
|
||
- Offboarding mit Hardware-Rückgabe-Protokoll
|
||
|
||
### IT Übersicht (`/it-overview`)
|
||
|
||
Strategische Übersicht der wichtigsten IT-Themen für die monatliche JF IT (Jour Fixe mit der Geschäftsführung).
|
||
|
||
**Zugang:** `admin`, `super_admin` (Bearbeitungsrechte), `support`, `bearbeiter` (Leserechte)
|
||
|
||
#### Kanban-Board
|
||
|
||
Die Seite zeigt alle IT-Themen als Kanban-Board, gruppiert nach **Kategorien** (Spalten):
|
||
|
||
| Kategorie | Icon |
|
||
|---|---|
|
||
| Infrastruktur | 🖥️ |
|
||
| Software | 💾 |
|
||
| IT-Governance & Compliance | 🛡️ |
|
||
| Mitarbeiterschulung | 📚 |
|
||
| Sonstiges | 📋 |
|
||
|
||
#### Themen-Karten
|
||
|
||
Jede Karte zeigt:
|
||
- **Titel** mit Prioritäts-Icon
|
||
- **Status-Badge** (farbig)
|
||
- **Verantwortlicher** und **Zieldatum**
|
||
- **Quick-Status-Button**: mit einem Klick zum nächsten Status weiterschalten
|
||
- Karte anklicken → expandiert Beschreibung und Notizen
|
||
|
||
#### Status & Priorität
|
||
|
||
| Status | Farbe |
|
||
|---|---|
|
||
| Offen | Grau |
|
||
| In Planung | Blau |
|
||
| In Umsetzung | Gelb |
|
||
| Abgeschlossen | Grün |
|
||
|
||
| Priorität | Icon |
|
||
|---|---|
|
||
| Niedrig | ↓ |
|
||
| Normal | → |
|
||
| Hoch | ↑ |
|
||
| Kritisch | ⚡ |
|
||
|
||
#### Thema erstellen / bearbeiten
|
||
|
||
Das Modal bietet:
|
||
- Titel, Kategorie, Status (Chip-Auswahl), Priorität (Chip-Auswahl)
|
||
- Zieldatum, Verantwortlicher (Name oder Team)
|
||
- Beschreibung (Kontext, Hintergrund)
|
||
- Notizen / Stand (aktueller Bearbeitungsstand)
|
||
|
||
#### Statistik-Leiste
|
||
|
||
Oben auf der Seite: Gesamt-Anzahl, In Umsetzung, Abgeschlossen, Kritisch — auf einen Blick.
|
||
|
||
---
|
||
|
||
### Mein Konto (`/mein-konto`)
|
||
|
||
Zugänglich für alle eingeloggten Benutzer über **Hover auf den Benutzernamen** oben rechts in der Navbar → **👤 Mein Konto**.
|
||
|
||
**Inhalt:**
|
||
- **Profil**: Initialen-Avatar, vollständiger Name, Benutzername, E-Mail-Adresse, Rolle
|
||
- **E-Mail-Benachrichtigungen**: Granulare Einstellungen (Staff) oder globaler Toggle (normale Benutzer)
|
||
|
||
---
|
||
|
||
### Benutzerverwaltung (`/users`)
|
||
|
||
Nur für `admin` und `super_admin` zugänglich.
|
||
|
||
#### Benutzer anlegen / bearbeiten
|
||
|
||
- Benutzername, E-Mail, Vor-/Nachname
|
||
- Passwort (bei Neuanlage)
|
||
- **Rollen-Auswahl**: visueller Karten-Picker mit Icon und Farbe pro Rolle — keine Dropdown-Liste
|
||
- Aktiv/Inaktiv-Schalter
|
||
|
||
#### Azure AD Import
|
||
|
||
Benutzer können direkt aus einer Azure AD Gruppe importiert werden:
|
||
1. „Aus Azure importieren" klicken
|
||
2. Gruppe suchen und auswählen
|
||
3. Ziel-Rolle per Karten-Picker wählen
|
||
4. Bereits vorhandene Benutzer (gleiche E-Mail oder Azure ID) werden übersprungen
|
||
|
||
### Wissensdatenbank (`/knowledge-base`)
|
||
|
||
Die Wissensdatenbank speichert dokumentierte Lösungen für häufige IT-Probleme und dient gleichzeitig als Kontext für die KI-Integration.
|
||
|
||
**Zugriff:** Lesen für alle eingeloggten User · Erstellen/Bearbeiten/Löschen nur für `admin` und `super_admin`
|
||
|
||
#### Artikelstruktur
|
||
|
||
| Feld | Beschreibung |
|
||
|---|---|
|
||
| **Problem** | Kurze Beschreibung des Problems (Titel) |
|
||
| **Lösung** | Detaillierte Lösung mit Markdown-Unterstützung (Tabellen, Listen, Bold etc.) |
|
||
| **Kategorie** | Software · Hardware · Netzwerk · SelectLine · Allgemein · Sonstiges |
|
||
| **Tags** | Kommagetrennte Schlagwörter zur besseren Auffindbarkeit |
|
||
| **Bilder** | Bis zu mehrere Bilder pro Artikel (PNG, JPG, GIF, WebP, max. 5 MB) |
|
||
| **Quelle** | Manuell erstellt oder automatisch aus Ticket generiert (`auto_generated`) |
|
||
|
||
#### Import-Funktionen
|
||
|
||
Artikel können manuell erstellt oder per KI-Import automatisch generiert werden:
|
||
|
||
| Import-Modus | Beschreibung |
|
||
|---|---|
|
||
| **Text einfügen** | Beliebigen Text einfügen → KI generiert daraus einen oder mehrere Artikel |
|
||
| **Datei hochladen** | PDF, DOCX, EML, TXT (max. 5 MB) → Inhalt wird extrahiert und analysiert |
|
||
| **URL importieren** | Einzelne Webseite → HTML wird bereinigt, KI erstellt Artikel |
|
||
| **Website crawlen** | BFS-Crawler folgt Links auf gleicher Domain (2–100 Seiten konfigurierbar) |
|
||
|
||
Der Crawler verarbeitet Texte in 40.000-Zeichen-Chunks und kann so auch große Dokumentationen vollständig importieren. Die KI erstellt pro Chunk mehrere thematisch getrennte Artikel.
|
||
|
||
#### Aus Tickets generieren
|
||
|
||
Geschlossene Tickets können direkt als Wissensdatenbank-Artikel gespeichert werden. Die KI analysiert Ticketinhalt und alle öffentlichen Kommentare und entscheidet selbst, ob der Fall dokumentationswürdig ist (`worth_adding`). Generierte Artikel sind als `auto_generated` markiert und enthalten einen Link zum Ursprungsticket.
|
||
|
||
#### Tab: Geschlossene Tickets
|
||
|
||
Der Tab **Geschlossene Tickets** zeigt alle per E-Mail oder aus externen Systemen importierten, abgeschlossenen IT-Tickets. Diese sind in der Tickets-Ansicht mit Status `geschlossen` und Quelle `email` gespeichert.
|
||
|
||
**Venabo-Import:** Geschlossene IT-Tickets aus dem Venabo-Helpdesk-System (Abteilung IT, Abt.-ID 28) wurden per Einmal-Import übertragen. Jedes Ticket enthält:
|
||
- Venabo-Ticket-ID als Referenz
|
||
- Bearbeiter, Erstelldatum, Abschlussdatum
|
||
- Direktlink zum Original-Ticket in Venabo
|
||
- Automatische Kategorie-Zuordnung (Software / Hardware / Allgemein) basierend auf dem Ticket-Typ
|
||
|
||
Monitoring-Alerts (Netgo/Synology/Probe Health Check) werden beim Import automatisch herausgefiltert.
|
||
|
||
#### KI-Integration
|
||
|
||
Die Wissensdatenbank ist tief in die KI eingebunden:
|
||
|
||
- **Ticket-Analyse:** Neue Tickets werden automatisch klassifiziert (Kategorie, Priorität, Lösungsvorschlag) auf Basis der KB-Einträge
|
||
- **Chat-Kontext:** Der KI-Chat lädt die letzten 30 KB-Artikel als Hintergrundwissen
|
||
- **Lösungsvorschläge:** Im Ticket-Detail schlägt die KI Antworten basierend auf ähnlichen KB-Einträgen vor
|
||
|
||
#### API-Endpunkte
|
||
|
||
| Methode | Endpoint | Beschreibung |
|
||
|---|---|---|
|
||
| `GET` | `/api/ai/knowledge-base` | Alle Artikel abrufen |
|
||
| `POST` | `/api/ai/knowledge-base` | Artikel manuell erstellen |
|
||
| `PUT` | `/api/ai/knowledge-base/:id` | Artikel bearbeiten |
|
||
| `DELETE` | `/api/ai/knowledge-base/:id` | Artikel löschen |
|
||
| `POST` | `/api/ai/knowledge-base/import-text` | Text oder Datei importieren |
|
||
| `POST` | `/api/ai/knowledge-base/import-url` | URL importieren |
|
||
| `POST` | `/api/ai/knowledge-base/import-crawl` | Website crawlen (Timeout: 5 Min) |
|
||
| `POST` | `/api/ai/knowledge-base/:id/images` | Bild zu Artikel hochladen |
|
||
| `DELETE` | `/api/ai/knowledge-base/:id/images/:filename` | Bild löschen |
|
||
|
||
### Defect-Report (`/defect`)
|
||
|
||
Öffentlich zugängliche Seite (kein Login erforderlich):
|
||
- Für externe Meldungen (z.B. von Kunden)
|
||
- Generiert intern ein Ticket
|
||
|
||
### Health-Seite (`/health`)
|
||
|
||
Öffentlich zugängliche Status-Seite ohne Login:
|
||
- API-Status
|
||
- Datenbank-Status
|
||
- Authentifizierungs-Status
|
||
- Antwortzeit
|
||
|
||
---
|
||
|
||
## 14. IT Nexus Scanner App (Android)
|
||
|
||
Die **IT Nexus Scanner App** ist eine native Android-App (Flutter) als Ergänzung zur Web-Oberfläche. Sie ermöglicht das mobile Verwalten und Erfassen von Assets direkt vor Ort — ohne PC.
|
||
|
||
---
|
||
|
||
### 14.1 Installation
|
||
|
||
**Voraussetzungen:**
|
||
- Android-Gerät (Android 8.0+)
|
||
- USB-Debugging aktiviert (bei erstmaliger Installation via ADB)
|
||
- WLAN-Verbindung zum IT-Nexus-Server
|
||
|
||
**APK-Datei:**
|
||
Die aktuelle APK wird vom IT-Administrator bereitgestellt und per ADB oder direkt installiert:
|
||
```
|
||
adb install -r app-debug.apk
|
||
```
|
||
|
||
> Tipp: „USB-Installieren" muss in den Entwickleroptionen aktiviert sein.
|
||
|
||
---
|
||
|
||
### 14.2 Erster Start & Login
|
||
|
||
Nach dem Start erscheint der **Login-Screen**:
|
||
|
||
1. **Benutzername** und **Passwort** eingeben (gleiche Zugangsdaten wie im Web)
|
||
2. Alternativ: **„Mit Microsoft anmelden"** (Azure AD / Single Sign-On)
|
||
3. Beim ersten Start muss die **Server-URL** einmalig eingestellt werden:
|
||
- Oben rechts auf das **⚙️ Einstellungen-Symbol** tippen
|
||
- Server-URL eintragen: `https://it-nexus.cereda-systems.de/api`
|
||
- Speichern → zurück zum Login
|
||
|
||
> Die Server-URL wird lokal gespeichert und muss nur einmal eingetragen werden.
|
||
|
||
---
|
||
|
||
### 14.3 Navigation
|
||
|
||
Die App hat eine **Bottom-Navigation** mit 4 Bereichen:
|
||
|
||
| Tab | Symbol | Beschreibung |
|
||
|---|---|---|
|
||
| **Dashboard** | 🏠 | Übersicht: Asset- und Ticket-Statistiken |
|
||
| **Scanner** | 📷 | Barcode/QR-Code scannen → Asset direkt aufrufen |
|
||
| **Tickets** | 🎫 | Offene Tickets anzeigen und erstellen |
|
||
| **Einstellungen** | ⚙️ | Server-URL, Abmelden |
|
||
|
||
Zentral in der Navigation befindet sich der **+ FAB-Button** (Teal) → öffnet den Screen zum **neuen Asset erfassen**.
|
||
|
||
---
|
||
|
||
### 14.4 Asset scannen
|
||
|
||
1. Tab **Scanner** öffnen
|
||
2. Kamera auf den **Barcode oder QR-Code** des Assets richten
|
||
3. Bei Erkennung: App öffnet automatisch die **Asset-Detail-Ansicht**
|
||
|
||
**Was im Asset-Detail möglich ist:**
|
||
|
||
| Aktion | Beschreibung |
|
||
|---|---|
|
||
| **Einbuchen** | Status auf „Verfügbar" setzen |
|
||
| **Zuweisen** | Asset einem Benutzer zuweisen |
|
||
| **Archivieren** | Status auf „Inaktiv" setzen |
|
||
| **Bearbeiten** | Name, Modell, TeamViewer-ID etc. ändern |
|
||
| **Verlauf** | Scan- und Aktionshistorie anzeigen |
|
||
| **Label drucken** | QR-Label für das Asset generieren |
|
||
|
||
---
|
||
|
||
### 14.5 Neues Asset erfassen
|
||
|
||
Über den **+ Button** in der Navigation:
|
||
|
||
1. **Name** eingeben (Pflichtfeld, z.B. `TBO-NB-10`)
|
||
2. **Seriennummer** — entweder manuell eingeben oder über den **📷 Scan-Button** per Kamera einscannen
|
||
3. **Modell** optional eintragen
|
||
4. **Typ** wählen:
|
||
- IT-Rollen: Notebook, Monitor, Headset, Other, Maschine, Werkzeug, Sonstiges
|
||
- Produktion: Maschine, Werkzeug, Sonstiges
|
||
5. **Bereich** wählen (IT, Produktion, Techniker, ...)
|
||
6. **Status** setzen (Verfügbar, Zugewiesen, Inaktiv, Beschädigt)
|
||
7. Optional: TeamViewer-ID, Beschreibung
|
||
8. **„Asset anlegen"** tippen → Asset wird direkt in IT Nexus gespeichert
|
||
|
||
> Die Inventarnummer (`ANL-XXXX`) wird automatisch vergeben.
|
||
|
||
---
|
||
|
||
### 14.6 Tickets
|
||
|
||
Im Tab **Tickets**:
|
||
- Liste aller offenen Tickets anzeigen
|
||
- Ticket-Details aufrufen
|
||
- Neues Ticket erstellen (z.B. direkt nach Asset-Scan ein Problem melden)
|
||
|
||
---
|
||
|
||
### 14.7 Rollenbasierte Ansicht
|
||
|
||
Die App passt sich automatisch der **Benutzerrolle** an:
|
||
|
||
| Rolle | Sichtbare Typen | Sichtbare Bereiche |
|
||
|---|---|---|
|
||
| `super_admin`, `admin`, `bearbeiter` | Alle Typen | Alle Bereiche |
|
||
| `produktion` | Maschine, Werkzeug, Sonstiges | Produktion, Techniker |
|
||
| `support` | Alle Typen (nur lesen) | Alle Bereiche |
|
||
|
||
---
|
||
|
||
### 14.8 Technische Details
|
||
|
||
| Eigenschaft | Wert |
|
||
|---|---|
|
||
| **Framework** | Flutter 3.x (Dart) |
|
||
| **Plattform** | Android 8.0+ (API 26+) |
|
||
| **Scanner-Bibliothek** | `mobile_scanner` v6 |
|
||
| **Authentifizierung** | JWT + Microsoft OAuth (Azure AD) |
|
||
| **API-Verbindung** | REST API zu IT Nexus Backend (`/api/...`) |
|
||
| **Datenspeicherung** | Keine lokale DB — alle Daten live vom Server |
|
||
| **Offline-Modus** | Nicht verfügbar (WLAN erforderlich) |
|
||
|
||
---
|
||
|
||
## 15. Rollen-Berechtigungsmatrix
|
||
|
||
| Funktion | benutzer | techniker | bearbeiter | support | hr_personal | buchhaltung | admin | super_admin |
|
||
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||
| User-Portal sehen | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||
| Eigene Tickets erstellen | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||
| Alle Tickets sehen | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
|
||
| Tickets bearbeiten/schließen | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
|
||
| Tickets löschen | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Interne Notizen sehen | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
|
||
| KI-Assistent Chat | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
|
||
| Dashboard sehen | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
|
||
| Assets (IT) verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Assets (Produktion/Techniker) anlegen | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Prüfprotokoll erfassen | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| FIDO-Keys verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Benutzer verwalten | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Onboarding anlegen/löschen | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Onboarding-Checkliste (HR) | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ |
|
||
| Onboarding-Checkliste (IT) | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
|
||
| Onboarding-Checkliste (BK) | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
|
||
| Einstellungen (Kategorien) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| System-Seite | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Anlagevermögen ansehen | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
|
||
| Lizenzen verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Wartung verwalten | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| ISO-Zertifizierung | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Risikoanalyse | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Entra ID Rechte | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Agent Monitoring sehen | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Patch Management | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Ankündigungen verwalten | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
|
||
---
|
||
|
||
## 16. ISO 27001 Zertifizierungsplanung
|
||
|
||
Die ISO-Seite (`/iso`) dient zur strukturierten Verfolgung aller Aufgaben auf dem Weg zur ISO 27001 Zertifizierung.
|
||
|
||
**Nur für `admin` und `super_admin` zugänglich.**
|
||
|
||
### Kategorien
|
||
|
||
| Kategorie | Beschreibung |
|
||
|---|---|
|
||
| **Risikomanagement** | Asset-Inventarisierung, Risikoanalyse, Maßnahmenplan |
|
||
| **TOM (Technische & Organisatorische Maßnahmen)** | Zugriffskonzept, Patchmanagement, Backup, Monitoring |
|
||
| **Incident Management** | Incident-Response-Plan, Meldeprozesse, Übungen |
|
||
| **Business Continuity** | Kritische Prozesse, Wiederanlaufplan |
|
||
| **Dokumentation** | Sicherheitsrichtlinie, Nachweisführung |
|
||
| **Awareness & Schulung** | Mitarbeiterschulungen, Onboarding-Integration |
|
||
|
||
### Status-System
|
||
|
||
Jede Aufgabe hat einen von drei Status:
|
||
|
||
| Status | Beschreibung |
|
||
|---|---|
|
||
| **Offen** | Noch nicht begonnen |
|
||
| **In Bearbeitung** | Teilweise umgesetzt oder laufend |
|
||
| **Abgeschlossen** | Vollständig umgesetzt und nachgewiesen |
|
||
|
||
### Funktionen
|
||
|
||
- **Fortschrittsbalken** pro Kategorie (Anteil Abgeschlossen)
|
||
- **Gesamtfortschritt** oben auf der Seite
|
||
- **Status direkt ändern** per Klick auf den Status-Button
|
||
- **Notizen und Verantwortliche** pro Aufgabe hinterlegen
|
||
- **Neue Aufgaben** hinzufügen (admin)
|
||
- **Aufgaben bearbeiten/löschen** (admin)
|
||
|
||
### Aktueller Stand (März 2026)
|
||
|
||
| Aufgabe | Status |
|
||
|---|---|
|
||
| IT-Assets erfassen | ✅ Abgeschlossen |
|
||
| Zugriffskonzept erstellen | ✅ Abgeschlossen |
|
||
| Risikoanalyse durchführen | 🔄 In Bearbeitung |
|
||
| Maßnahmenplan ableiten | 🔄 In Bearbeitung |
|
||
| Monitoring einführen | ✅ Abgeschlossen |
|
||
| Incident-Response-Plan erstellen | 🔄 In Bearbeitung |
|
||
| Nachweisführung etablieren | 🔄 In Bearbeitung |
|
||
| Onboarding-Prozess erweitern | 🔄 In Bearbeitung |
|
||
| Alle übrigen Aufgaben | ⬜ Offen |
|
||
|
||
---
|
||
|
||
## 17. Risikoanalyse
|
||
|
||
Die Risikoanalyse-Seite (`/risk`) ermöglicht die strukturierte Erfassung, Bewertung und Verfolgung von IT-Risiken.
|
||
|
||
**Nur für `admin` und `super_admin` zugänglich.**
|
||
|
||
### Risikobewertung
|
||
|
||
Jedes Risiko wird anhand einer **5×5 Risikomatrix** bewertet:
|
||
|
||
- **Wahrscheinlichkeit** (1–5): Wie wahrscheinlich ist das Eintreten?
|
||
- **Auswirkung** (1–5): Wie schwerwiegend wäre der Schaden?
|
||
- **Score** = Wahrscheinlichkeit × Auswirkung (1–25)
|
||
|
||
| Score | Stufe | Farbe |
|
||
|---|---|---|
|
||
| 20–25 | Kritisch | 🔴 Rot |
|
||
| 12–19 | Hoch | 🟠 Orange |
|
||
| 6–11 | Mittel | 🟡 Gelb |
|
||
| 1–5 | Niedrig | 🟢 Grün |
|
||
|
||
### Status
|
||
|
||
| Status | Bedeutung |
|
||
|---|---|
|
||
| **Offen** | Risiko erkannt, keine Maßnahme |
|
||
| **In Bearbeitung** | Maßnahmen werden umgesetzt |
|
||
| **Akzeptiert** | Risiko bewusst akzeptiert |
|
||
| **Behoben** | Risiko erfolgreich mitigiert |
|
||
|
||
### M365 Auto-Sync
|
||
|
||
Über den Button **„M365 Sync"** werden automatisch Risiken aus Microsoft 365 erfasst:
|
||
|
||
| Quelle | Beschreibung | Benötigte Azure-Berechtigung |
|
||
|---|---|---|
|
||
| **Secure Score** | Microsoft Secure Score als Sicherheitsrisiko | `SecurityEvents.Read.All` |
|
||
| **Defender Alerts** | Aktive Sicherheitswarnungen aus Microsoft Defender | `SecurityAlert.Read.All` |
|
||
| **Intune Non-Compliant** | Geräte die Compliance-Richtlinien verletzen | `DeviceManagementManagedDevices.Read.All` |
|
||
| **MFA-Status** | Benutzer ohne Multi-Faktor-Authentifizierung | `AuditLog.Read.All` |
|
||
| **Risky Users** | Risikobenutzer aus Identity Protection (P2) | `IdentityRiskEvent.Read.All` |
|
||
|
||
### Detail-Ansichten
|
||
|
||
Automatisch erfasste Risiken haben erweiterte Detail-Ansichten:
|
||
- **MFA-Risiko**: Tabelle aller Benutzer ohne MFA mit E-Mail
|
||
- **Intune-Risiko**: Gerätekarten mit Name, Benutzer, OS, Seriennummer
|
||
- **Defender-Alert**: Schweregrad, Status, betroffene Entitäten, Link ins Defender-Portal
|
||
|
||
### Manuelle Risiken
|
||
|
||
Admins können jederzeit manuelle Risiken hinzufügen und pflegen (Kategorie, Wahrscheinlichkeit, Auswirkung, Verantwortlicher, Maßnahmen, Fälligkeit).
|
||
|
||
---
|
||
|
||
## 18. Entra ID Rechteverwaltung
|
||
|
||
Die Entra-Seite (`/entra`) bietet eine Übersicht und Verwaltung von Benutzerrechten direkt aus Microsoft Entra ID (Azure Active Directory).
|
||
|
||
**Nur für `admin` und `super_admin` zugänglich.**
|
||
|
||
### Voraussetzungen (Azure App Registration)
|
||
|
||
Folgende API-Permissions müssen in der Azure App Registration konfiguriert sein (Application-Permissions, mit Admin Consent):
|
||
|
||
| Permission | Zweck |
|
||
|---|---|
|
||
| `User.Read.All` | Benutzer-Liste laden |
|
||
| `AuditLog.Read.All` | MFA-Status aller Benutzer |
|
||
| `Group.Read.All` | Gruppen-Liste laden |
|
||
| `GroupMember.Read.All` | Gruppen-Mitgliedschaften pro Benutzer |
|
||
| `RoleManagement.Read.Directory` | Admin-Rollen anzeigen |
|
||
| `GroupMember.ReadWrite.All` | *(Optional)* Gruppen-Mitglieder hinzufügen/entfernen |
|
||
|
||
### Tab: Benutzer
|
||
|
||
- Alle Entra-Benutzer mit Name, E-Mail, Stelle, Abteilung
|
||
- Status-Badge: **Aktiv** / **Deaktiviert**
|
||
- MFA-Badge: **Kein MFA** (gelb) wenn nicht registriert
|
||
- Suchfilter nach Name, E-Mail, Abteilung
|
||
- Filter nach MFA-Status
|
||
- **Detail-Panel** (rechts aufklappbar):
|
||
- Alle Gruppen des Benutzers
|
||
- Gruppe hinzufügen / entfernen (benötigt `GroupMember.ReadWrite.All`)
|
||
- MFA-Methoden anzeigen
|
||
- Link zum Entra-Portal
|
||
|
||
### Tab: Gruppen
|
||
|
||
- Alle Sicherheitsgruppen und M365-Gruppen
|
||
- Mitglieder per Klick lazy-laden
|
||
- Gruppentyp (Security / M365)
|
||
|
||
### Tab: Admin-Rollen
|
||
|
||
- Alle aktivierten Directory-Rollen
|
||
- Belegte Rollen mit Mitgliederliste oben
|
||
- Risikostufe pro Rolle (Kritisch: Global Admin / Privileged Role Admin, Hoch: Security Admin / Intune Admin, etc.)
|
||
|
||
### Statistik-Kacheln
|
||
|
||
- Benutzer gesamt
|
||
- Anzahl Gruppen
|
||
- Anzahl Admin-Rollenzuweisungen
|
||
- Benutzer ohne MFA
|
||
- MFA-Abdeckung in Prozent
|
||
|
||
---
|
||
|
||
## 19. Agent Monitoring
|
||
|
||
Das Agent Monitoring (`/monitoring`) ermöglicht die Echtzeit-Überwachung aller verwalteten Windows-Geräte über den IT Nexus Windows Agent.
|
||
|
||
**Nur für `super_admin` und `admin` zugänglich.**
|
||
|
||
### Architektur
|
||
|
||
| Komponente | Beschreibung |
|
||
|---|---|
|
||
| **Agent** | C# .NET 8 Windows Service (`IT-Nexus-Agent.exe`) – Version 2.0.0 |
|
||
| **Service** | Läuft unsichtbar als Windows Service „IT Nexus Agent" (SYSTEM-Konto) |
|
||
| **Check-in** | Alle 1 Minute via `POST /api/monitoring/checkin` |
|
||
| **Backend** | Kein JWT – nur `X-Agent-Key` Header |
|
||
| **Datenbank** | Tabelle `monitoring_agents` in SQLite |
|
||
| **Frontend** | `/monitoring` – Live-Übersicht mit Card- und Tabellenansicht |
|
||
|
||
### Gesammelte Metriken
|
||
|
||
| Metrik | Beschreibung |
|
||
|---|---|
|
||
| Hostname, IP, MAC | Geräteidentifikation |
|
||
| OS Name + Version | Windows-Version (inkl. Windows 11-Erkennung via Build-Nummer) |
|
||
| CPU-Modell, Kerne, Auslastung % | Prozessor-Info |
|
||
| RAM gesamt / belegt (GB) | Arbeitsspeicher |
|
||
| Disk C: gesamt / frei (GB) | Festplattenplatz |
|
||
| Letzter Benutzer | Zuletzt angemeldeter Nutzer |
|
||
| Uptime (Stunden) | Zeit seit letztem Neustart |
|
||
| Domain | Active Directory / WORKGROUP |
|
||
| Installierte Software | Apps aus Registry |
|
||
| Windows Updates ausstehend | Anzahl fehlender Updates (inkl. Treiber) |
|
||
| **BitLocker Status** | Verschlüsselungsstatus des Laufwerks C: (encrypted / off / unknown) |
|
||
| **Defender Status** | Aktiv/Inaktiv + Signaturalter in Tagen |
|
||
| **Hardware-Seriennummer** | BIOS-Seriennummer für Asset-Management |
|
||
| TPM, Secure Boot | Sicherheits-Hardware-Status |
|
||
| Agent Version | Installierte Agent-Version |
|
||
|
||
### Warnungen
|
||
|
||
| Schwellwert | Typ |
|
||
|---|---|
|
||
| CPU > 90% oder Disk < 5 GB frei | 🔴 Kritisch |
|
||
| CPU > 80%, Disk < 15 GB, RAM > 90%, Updates > 10 | 🟡 Warnung |
|
||
| BitLocker deaktiviert | 🟡 Warnung |
|
||
| Defender inaktiv oder Signaturen > 7 Tage alt | 🟡 Warnung |
|
||
| Kein Checkin seit 10 Minuten | Offline |
|
||
|
||
### Tab: Probleme
|
||
|
||
Der Tab **Probleme** listet alle Agents mit aktivem Warn- oder Kritisch-Status. Agents, die seit mehr als **7 Tagen** keinen Checkin gemeldet haben, werden in einem ausklappbaren Bereich **„Langfristig offline"** separat angezeigt und zählen nicht zum Badge des Tabs. So bleiben kurzfristige Ausfälle sofort sichtbar, ohne dass dauerhaft abgemeldete Geräte stören.
|
||
|
||
### API
|
||
|
||
| Methode | Endpoint | Auth | Beschreibung |
|
||
|---|---|---|---|
|
||
| `POST` | `/api/monitoring/checkin` | `X-Agent-Key` Header | Agent meldet sich an |
|
||
| `GET` | `/api/monitoring` | JWT + Admin | Alle Agents abrufen |
|
||
| `GET` | `/api/monitoring/statistics` | JWT + Admin | Statistiken |
|
||
| `GET` | `/api/monitoring/:id` | JWT + Admin | Einzelner Agent |
|
||
| `DELETE` | `/api/monitoring/:id` | JWT + Admin | Agent löschen |
|
||
|
||
**Agent API Key:** In `docker-compose.yml` unter `AGENT_API_KEY`
|
||
|
||
### Installation & Verteilung
|
||
|
||
Der Agent wird als Inno Setup Installer (`.exe`) und Intune-Paket (`.intunewin`) bereitgestellt und über Microsoft Intune auf alle Geräte ausgerollt.
|
||
|
||
**Intune-Konfiguration (v2.0.0):**
|
||
- Installationsbefehl: `IT-Nexus-Agent-Setup-2.0.0.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART`
|
||
- Deinstallationsbefehl: `"C:\Program Files\IT Nexus Agent\IT-Nexus-Agent.exe" --uninstall`
|
||
- Installationsverhalten: **System**
|
||
- Erkennungsregel: **PowerShell-Skript** (`agent-cs/detect-it-nexus-agent.ps1`) – prüft ob `C:\Program Files\IT Nexus Agent\IT-Nexus-Agent.exe` existiert, Exit 0 = erkannt, Exit 1 = nicht installiert
|
||
- 32-Bit PowerShell: **Nein** | Skriptsignatur: **Nein**
|
||
- ⚠️ Registry-basierte Erkennung schlägt mit Fehler **0x87D30006** fehl – immer PowerShell-Skript verwenden!
|
||
|
||
**Rollout-Strategie (Staged Rollout):**
|
||
|
||
| Gruppe | Zielversion | Status |
|
||
|---|---|---|
|
||
| Test | v2.0.0 | ✅ Abgeschlossen |
|
||
| Pilot | v2.0.0 | ✅ Abgeschlossen |
|
||
| Produktion | v2.0.0 | 🔄 Automatischer Rollout via Intune (alle Gruppen freigegeben, Stand Mai 2026) |
|
||
|
||
### Installer-Dateien
|
||
|
||
| Datei | Zweck |
|
||
|---|---|
|
||
| `installer/IT-Nexus-Agent-Setup-2.0.0.exe` | Manuelle Installation |
|
||
| `installer/IT-Nexus-Agent-Setup-2.0.0.intunewin` | Microsoft Intune Deployment |
|
||
|
||
Der Agent installiert sich als Windows Service und läuft vollständig unsichtbar im Hintergrund – kein Tray-Icon, kein Dashboard.
|
||
|
||
### Geräte-Detailseite
|
||
|
||
Über `/monitoring/device/:id` (Klick auf ein Gerät in der Monitoring-Übersicht) gelangt man zur Detailseite eines einzelnen Agents. Dieselbe Seite ist auch über `/assets/device/:hostname` aus der Asset-Verwaltung erreichbar.
|
||
|
||
**Angezeigte Informationen:**
|
||
|
||
| Bereich | Inhalt |
|
||
|---|---|
|
||
| **Live-Metriken** | CPU %, RAM %, Disk frei, Uptime |
|
||
| **System** | OS, IP, MAC, Domain, Letzter Nutzer |
|
||
| **Sicherheit** | BitLocker-Status, Defender aktiv, Signaturalter, TPM, Secure Boot |
|
||
| **Hardware** | Seriennummer, CPU-Modell, Kerne |
|
||
| **Software** | Installierte Software (durchsuchbar) |
|
||
| **Windows Updates** | Anzahl ausstehender Updates |
|
||
| **Agent-Info** | Version, letzter Check-in |
|
||
|
||
**Verfügbare Aktionen (Admin):**
|
||
|
||
| Aktion | Beschreibung |
|
||
|---|---|
|
||
| **Check Updates** | Agent prüft sofort ausstehende Updates |
|
||
| **Install Updates** | Agent installiert alle verfügbaren Updates (inkl. Treiber) |
|
||
| **Reboot** | Gerät wird neu gestartet |
|
||
| **Upgrade Win11** | Windows 11 In-Place Upgrade anstoßen |
|
||
| **Update Agent** | Agent aktualisiert sich selbst auf neueste Version |
|
||
|
||
Alle Aktionen werden als Patch-Command gespeichert und beim nächsten Check-in (max. 1 Minute) vom Agent abgerufen und ausgeführt.
|
||
|
||
---
|
||
|
||
## 20. Externe Monitoring-Alerts
|
||
|
||
IT Nexus empfängt automatisch strukturierte Monitoring-E-Mails von **Netgo** und **Arctic Wolf** und stellt diese im Monitoring-Bereich als externe Alerts dar. Beide Quellen werden über Graph API (primär) und IMAP (Fallback) überwacht.
|
||
|
||
### Überwachte Postfächer
|
||
|
||
| Postfach | Zweck |
|
||
|---|---|
|
||
| `it-tool@cereda-systems.de` | Haupt-Postfach – Tickets + Monitoring-Alerts |
|
||
| `helpdesk@cereda-systems.de` | Zweites Postfach – **nur** Monitoring-Alerts (keine Tickets) |
|
||
|
||
Das zweite Postfach wird über die Umgebungsvariable `MONITORING_MAILBOX` konfiguriert und alle 30 Sekunden gepollt. Nicht erkannte E-Mails (kein Netgo, kein Arctic Wolf) werden dort ignoriert und nicht als Ticket erstellt.
|
||
|
||
### Quellen & Erkennung
|
||
|
||
| Quelle | Erkennungs-Domain | Parser-Datei |
|
||
|---|---|---|
|
||
| **Netgo** | `@netgo.de`, `@mg.netgo.de` | `netgoParser.js` |
|
||
| **Arctic Wolf** | `@arcticwolf.com`, `@notifications.arcticwolf.com` | `arcticWolfParser.js` |
|
||
|
||
### Funktionsweise
|
||
|
||
| Schritt | Beschreibung |
|
||
|---|---|
|
||
| **E-Mail-Eingang** | Monitoring-Email trifft im konfigurierten Postfach ein |
|
||
| **Erkennung** | Backend prüft Absender-Domain automatisch |
|
||
| **Parsing** | Alle relevanten Felder werden strukturiert extrahiert |
|
||
| **Speicherung** | Alert wird in Tabelle `external_alerts` gespeichert (kein Ticket erstellt) |
|
||
| **Anzeige** | Alerts erscheinen im Tab „Ext. Alerts" auf der Monitoring-Seite |
|
||
|
||
### Frontend (Monitoring-Seite → Tab „Ext. Alerts")
|
||
|
||
- Alerts werden nach Schweregrad (CRIT/WARN/OK) mit farbiger Markierung angezeigt
|
||
- **Quittierte ausblenden**: Standardmäßig aktiv – gequittierte Alerts werden versteckt; Button zeigt Anzahl und lässt sich umschalten
|
||
- **Ticket erstellen**: Erstellt ein IT Nexus-Ticket aus dem Alert
|
||
- **Quittieren**: Markiert den Alert als quittiert
|
||
- **Löschen**: Entfernt den Alert aus der Datenbank
|
||
- Badge im Tab zeigt Anzahl nicht-quittierter Alerts (rot bei > 0)
|
||
- Automatische Aktualisierung alle 60 Sekunden
|
||
|
||
### Arctic Wolf – Detailkarte
|
||
|
||
Arctic Wolf Alerts werden in einer erweiterten Karte dargestellt:
|
||
|
||
| Bereich | Inhalt |
|
||
|---|---|
|
||
| **Kopfzeile** | Severity-Badge (`LOW`/`MEDIUM`/`HIGH`/`CRITICAL`), Incident-Name, Gerät + IP, Zeitstempel |
|
||
| **Details-Grid** | Event-Typ, Application, User, Process (immer sichtbar) |
|
||
| **„Mehr Details"** | Aufklappbar: Was ist passiert? · Warum relevant? · Wie erkannt? · Nächste Schritte · Empfehlungen |
|
||
|
||
### Severity-Mapping
|
||
|
||
| Quelle | Severity | Ticket-Priorität | Farbe |
|
||
|---|---|---|---|
|
||
| Netgo | CRIT | kritisch | Rot |
|
||
| Netgo | WARN | hoch | Gelb |
|
||
| Netgo | OK | niedrig | Grün |
|
||
| Arctic Wolf | HIGH / CRITICAL | kritisch | Rot |
|
||
| Arctic Wolf | LOW / MEDIUM | hoch | Gelb |
|
||
|
||
### API-Endpunkte
|
||
|
||
| Methode | Pfad | Beschreibung |
|
||
|---|---|---|
|
||
| `GET` | `/api/external-alerts` | Alle Alerts abrufen (optional `?acknowledged=true/false`) |
|
||
| `POST` | `/api/external-alerts/:id/acknowledge` | Alert quittieren |
|
||
| `POST` | `/api/external-alerts/:id/create-ticket` | Ticket aus Alert erstellen |
|
||
| `DELETE` | `/api/external-alerts/:id` | Alert löschen |
|
||
|
||
Alle Endpunkte erfordern JWT + Admin-Rolle.
|
||
|
||
### Datenbankschema
|
||
|
||
Tabelle `external_alerts`:
|
||
|
||
| Spalte | Typ | Beschreibung |
|
||
|---|---|---|
|
||
| `id` | INTEGER PK | Auto-Increment |
|
||
| `source` | TEXT | Quelle: `netgo` oder `arcticwolf` |
|
||
| `device` | TEXT | Gerätename |
|
||
| `service` | TEXT | Überwachter Service / Event-Typ |
|
||
| `state_transition` | TEXT | Statusübergang (z. B. `OK -> CRIT`) |
|
||
| `severity` | TEXT | CRIT / WARN / OK / UNKNOWN |
|
||
| `message` | TEXT | Kurzbeschreibung |
|
||
| `customer` | TEXT | Kundenname |
|
||
| `monitored_by` | TEXT | Überwachungsinstanz |
|
||
| `state_time` | TEXT | Zeitpunkt des Ereignisses |
|
||
| `raw_body` | TEXT | Bei Arctic Wolf: JSON mit allen strukturierten Feldern |
|
||
| `acknowledged` | INTEGER | 0 = offen, 1 = quittiert |
|
||
| `ticket_id` | INTEGER | Verknüpfte Ticket-ID (falls erstellt) |
|
||
| `email_message_id` | TEXT UNIQUE | Message-ID der E-Mail (Duplikat-Schutz) |
|
||
|
||
---
|
||
|
||
## 21. Patch Management
|
||
|
||
Das Patch-Management-Modul (`/patch`) ermöglicht die zentrale Verwaltung von Windows Updates auf allen verwalteten Geräten – mit Staged Rollout, Gruppen, Policies und direkten Commands.
|
||
|
||
**Nur für `super_admin` und `admin` zugänglich.**
|
||
|
||
### Staged Rollout Gruppen
|
||
|
||
Updates werden stufenweise ausgerollt, um Risiken zu minimieren:
|
||
|
||
| Gruppe | Zweck | Typische Mitglieder |
|
||
|---|---|---|
|
||
| **Test** | Erste Testgeräte – sofortiger Rollout | IT-eigene Geräte |
|
||
| **Pilot** | Frühe Anwender – nach erfolgreichem Test | ausgewählte Mitarbeiter |
|
||
| **Produktion** | Alle übrigen Geräte | gesamter Betrieb |
|
||
|
||
Jede Gruppe kann eine eigene Zielversion erhalten. Agents, die keiner Gruppe zugeordnet sind, erhalten die globale Fallback-Version aus der Umgebungsvariable `AGENT_VERSION`.
|
||
|
||
### Tab: Gruppen
|
||
|
||
- Übersicht aller Rollout-Gruppen mit Zielversion und Geräteanzahl
|
||
- Geräte per Drag & Drop oder Dropdown einer Gruppe zuweisen
|
||
- Zielversion pro Gruppe setzen
|
||
|
||
### Tab: Policies
|
||
|
||
Update-Richtlinien definieren, wann und wie Updates installiert werden:
|
||
|
||
| Feld | Beschreibung |
|
||
|---|---|
|
||
| **Installationsfenster** | Uhrzeit und Wochentage für automatische Updates |
|
||
| **Erzwingen nach X Tagen** | Updates werden nach Ablauf der Frist zwangsweise installiert |
|
||
| **Reboot erlaubt** | Ob nach Updates automatisch neu gestartet werden darf |
|
||
| **Zielgeräte** | Gruppe oder einzelne Geräte |
|
||
|
||
### Tab: Befehle (Commands)
|
||
|
||
Direkte Einzel-Befehle an einen Agent senden – werden beim nächsten Check-in ausgeführt:
|
||
|
||
| Befehl | Beschreibung |
|
||
|---|---|
|
||
| `check_updates` | Ausstehende Updates prüfen und im Backend speichern |
|
||
| `install_updates` | Alle verfügbaren Updates sofort installieren (inkl. Treiber) |
|
||
| `reboot` | Gerät neu starten |
|
||
| `upgrade_win11` | Windows 11 In-Place Upgrade anstoßen |
|
||
| `update_agent` | Agent auf neueste Version aktualisieren |
|
||
|
||
Der Status jedes Commands (`pending` → `running` → `success`/`failed`) wird live angezeigt. Long-running Commands (z.B. Windows 11 Upgrade) bleiben im Status `running` bis der Agent das Ergebnis meldet.
|
||
|
||
### API-Endpunkte
|
||
|
||
| Methode | Pfad | Auth | Beschreibung |
|
||
|---|---|---|---|
|
||
| `GET` | `/api/patch/commands` | JWT + Admin | Alle Commands abrufen |
|
||
| `POST` | `/api/patch/commands/trigger` | JWT + Admin | Einzelnen Command senden |
|
||
| `POST` | `/api/patch/commands/trigger-group` | JWT + Admin | Command an ganze Gruppe senden |
|
||
| `POST` | `/api/patch/commands/result` | `X-Agent-Key` | Agent meldet Ergebnis |
|
||
| `GET` | `/api/patch/groups` | JWT + Admin | Rollout-Gruppen abrufen |
|
||
| `POST` | `/api/patch/groups` | JWT + Admin | Gruppe erstellen |
|
||
| `GET` | `/api/patch/policies` | JWT + Admin | Policies abrufen |
|
||
|
||
---
|
||
|
||
## 22. Ankündigungen
|
||
|
||
Das Ankündigungs-Modul (`/announcements`) ermöglicht das Senden von Desktop-Benachrichtigungen direkt auf verwaltete Windows-Geräte.
|
||
|
||
**Nur für `super_admin` und `admin` zugänglich.**
|
||
|
||
### Funktionsweise
|
||
|
||
1. Admin erstellt eine Ankündigung im Web-Interface (Titel, Nachricht, Typ, Zielgeräte)
|
||
2. Agent pollt alle **15 Sekunden** `POST /api/monitoring/announcements-poll`
|
||
3. Neue Ankündigung wird erkannt → Agent zeigt WPF-Dialog auf dem Desktop des eingeloggten Nutzers
|
||
4. Nutzer klickt „Gelesen und bestätigt" → Agent sendet ACK an Backend
|
||
5. Ankündigung gilt als zugestellt
|
||
|
||
### Typen & Darstellung
|
||
|
||
| Typ | Farbe | Einsatz |
|
||
|---|---|---|
|
||
| **Info** | Blau | Allgemeine Hinweise |
|
||
| **Warnung** | Orange | Wichtige Hinweise, bevorstehende Wartungen |
|
||
| **Kritisch** | Rot | Notfälle, sofortiger Handlungsbedarf |
|
||
|
||
Der WPF-Dialog erscheint im Vordergrund mit farbigem Header, Titel, Nachricht und einem Bestätigungs-Button. Kein Konsolenfenster – vollständig native Windows-Darstellung.
|
||
|
||
### Zielgruppen
|
||
|
||
| Option | Beschreibung |
|
||
|---|---|
|
||
| **Alle Geräte** | Ankündigung wird an alle registrierten Agents gesendet |
|
||
| **Bestimmte Geräte** | Auswahl einzelner Hostnames |
|
||
| **Rollout-Gruppe** | Alle Geräte einer Patch-Gruppe (Test / Pilot / Produktion) |
|
||
|
||
### Status
|
||
|
||
| Status | Bedeutung |
|
||
|---|---|
|
||
| **Ausstehend** | Noch nicht vom Gerät abgerufen |
|
||
| **Zugestellt** | Agent hat die Ankündigung angezeigt |
|
||
| **Bestätigt (ACK)** | Nutzer hat den Dialog bestätigt |
|
||
|
||
### Web-ACK (ohne Agent)
|
||
|
||
Für Geräte ohne Agent oder für Administratoren kann eine Ankündigung auch direkt im Browser über den Button **„Als gelesen markieren"** bestätigt werden.
|
||
|
||
### API-Endpunkte
|
||
|
||
| Methode | Pfad | Auth | Beschreibung |
|
||
|---|---|---|---|
|
||
| `GET` | `/api/announcements` | JWT + Admin | Alle Ankündigungen |
|
||
| `POST` | `/api/announcements` | JWT + Admin | Neue Ankündigung erstellen |
|
||
| `DELETE` | `/api/announcements/:id` | JWT + Admin | Ankündigung löschen |
|
||
| `POST` | `/api/monitoring/announcements-poll` | `X-Agent-Key` | Agent pollt neue Ankündigungen |
|
||
| `POST` | `/api/announcements/:id/ack-agent` | `X-Agent-Key` | Agent sendet Bestätigung |
|
||
| `POST` | `/api/announcements/:id/ack` | JWT | Web-Bestätigung durch Admin |
|
||
|
||
---
|
||
|
||
## Anhang: Technische Informationen
|
||
|
||
### Infrastruktur
|
||
|
||
- **Server:** LXC Container (Proxmox), IP 192.168.0.194
|
||
- **Domain:** `https://it-nexus.cereda-systems.de`
|
||
- **Stack:** React (Frontend) · Node.js/Express (Backend) · SQLite (Datenbank) · nginx (Webserver)
|
||
- **Container:** Docker Compose (`fido-backend` Port 5000, `fido-frontend` Port 8443)
|
||
|
||
### Datensicherung
|
||
|
||
Die SQLite-Datenbank liegt unter:
|
||
`/var/lib/docker/volumes/it-nexus_fido-data/_data/database.sqlite`
|
||
|
||
### Support & Kontakt
|
||
|
||
Bei Problemen mit dem System: Ticket über das System selbst erstellen oder
|
||
direkt an den Systemadministrator wenden.
|
||
|
||
---
|
||
|
||
*Dokumentation erstellt für Cereda Systems GmbH – vertraulich*
|