Skip to content

Organisationseinstellungen

Die Organisationseinstellungen ermöglichen Admins die Konfiguration von Infrastruktur-Optionen. Navigieren Sie zu Organisation > Einstellungen in der Seitenleiste.

Eigene SMTP-Server (E-Mail)

Konfigurieren Sie eigene SMTP-Server für ausgehende E-Mail-Benachrichtigungen.

Organisations-SMTP-Einstellungen

Pulse versendet Benachrichtigungs-E-Mails automatisch über den integrierten E-Mail-Dienst. Fügen Sie einen eigenen SMTP-Server hinzu, um E-Mails von Ihrer eigenen Domain zu senden. Sind mehrere eigene SMTP-Server konfiguriert, probiert Pulse sie in der angezeigten Reihenfolge und verwendet den ersten, der erfolgreich antwortet.

Klicken Sie auf Server hinzufügen, um einen neuen SMTP-Server zu konfigurieren:

FeldBeschreibung
HostSMTP-Server-Hostname
PortSMTP-Server-Port (z.B. 587 für TLS)
BenutzernameAuthentifizierungs-Benutzername
PasswortAuthentifizierungs-Passwort
AbsenderadresseE-Mail-Adresse, die als Absender verwendet wird
AbsendernameAnzeigename, der als Absender verwendet wird
TLS verwendenTLS-Verschlüsselung für die Verbindung aktivieren

TIP

Um die Einstellungen zu validieren, können Sie test E-Mails absetzen.

INFO

SMTP-Server werden nur für Benachrichtigungs-E-Mails verwendet. Benutzer-E-Mails wie Registrierungen sind nicht betroffen.

Lizenzen

Lizenzen haben eine eigene Seite. Unter Lizenzen können Sie einen Lizenzschlüssel hinzufügen, Ihre Plan-Limits und Nutzung einsehen und mehr über das Lizenzstatus-Banner erfahren.

Lizenznutzung

Das Nutzungspanel zeigt, wie der aktuelle Verbrauch Ihrer Organisation mit den Limits Ihrer aktiven Lizenz verglichen wird – gemessen über die gesamte Lizenzlaufzeit.

Lizenznutzungs-Panel

Das Panel ist in zwei Gruppen unterteilt:

Plan-Limits — Dimensionen mit einem Kontingent, dargestellt als Fortschrittsbalken:

DimensionBeschreibung
Endpunkt-MonitoreAktive Endpunkt-Monitore im Verhältnis zum Plan-Limit
Knoten-MonitoreAktive Knoten-Monitore im Verhältnis zum Plan-Limit
BereitschaftspläneAktive Bereitschaftspläne im Verhältnis zum Plan-Limit
E-MailsWährend der Lizenzlaufzeit versendete E-Mails
SMSWährend der Lizenzlaufzeit versendete SMS-Nachrichten
SprachanrufeWährend der Lizenzlaufzeit getätigte Sprachanrufe

Die Balkenfarbe gibt Auskunft über den Kapazitätsstatus:

  • Grau — innerhalb der Limits (unter 80 %)
  • Gelb / Limit fast erreicht — Kontingent wird bald ausgeschöpft (80 – 99 %)
  • Gelb / Limit erreicht — Nutzung liegt genau am Kontingent (100 %)
  • Rot / +N darüber — Kontingent überschritten

Dimensionen, die nicht im Plan enthalten sind, werden mit dem Badge „nicht in Ihrem Plan" gekennzeichnet. Wenn trotzdem Nutzung anfällt, wechselt der Badge auf Rot.

Erfasste Nutzung — Dimensionen ohne Kontingent-Limit, als reine Zähler für die Lizenzlaufzeit:

DimensionBeschreibung
BenachrichtigungenVersendete In-App-Benachrichtigungen
Push-BenachrichtigungenVersendete mobile Push-Benachrichtigungen
WebhooksDurchgeführte Webhook-Zustellungen

Funktionen — lizenzierte Fähigkeiten, angezeigt als aktiviert (✓) oder nicht enthalten (—):

FunktionBeschreibung
MCP (Model Context Protocol)Ob MCP-Tokenerstellung und API-Zugriff für Ihre Organisation aktiviert sind
CVE-ÜberwachungOb CVE-Monitore erstellt werden können und Scans durchführen
KI-CanvasOb der KI-Canvas-Untersuchungsbereich aktiviert ist

Ist keine aktive Lizenz mit der Organisation verknüpft, zeigt das Panel stattdessen einen Hinweis an. Wenden Sie sich an Ihren Administrator, um einen Lizenzschlüssel hinzuzufügen.

Webhooks

Webhooks ermöglichen es Pulse, bei bestimmten Ereignissen Echtzeit-Benachrichtigungen per HTTP(S) oder TCP an externe Systeme zu senden.

Navigieren Sie zu Organisation > Einstellungen > Webhooks, um Webhooks zu verwalten.

Webhook-Einstellungen

Klicken Sie auf Webhook hinzufügen, um einen neuen Webhook zu erstellen:

FeldBeschreibung
AnzeigenameEine Bezeichnung zur Identifikation dieses Webhooks
Endpunkt-URLZiel-URL – unterstützt die Schemata https://, http:// oder tcp://
AktivAktivieren oder deaktivieren Sie die Zustellung
EreignistypenWählen Sie aus, welche Ereignisse diesen Webhook auslösen

WARNING

Pulse zeigt eine Warnung „Unverschlüsselter Transport" an, wenn Sie eine tcp://- oder http://-URL eingeben. Reines TCP und reines HTTP verschlüsseln Payloads während der Übertragung nicht – verwenden Sie diese Schemata nur für Altsysteme, die kein HTTPS unterstützen.

INFO

TCP-Payloads werden mit Leerzeichen aufgefüllt, sodass die Gesamtlänge der Nachricht (JSON + Padding + Zeilenumbruch) immer ein Vielfaches von 64 Bytes beträgt. Dies unterstützt festgroße Stream-Puffer auf SPS-Steuerungen, die in 64-Byte-Blöcken lesen.

So funktioniert die Zustellung

Jedes Ereignis löst pro passendem Webhook eine Zustellung aus. Zustellungen an denselben Endpunkt werden der Reihe nach und einzeln verarbeitet, sodass ein langsamer Endpunkt niemals dafür sorgt, dass Ereignisse außerhalb der Reihenfolge ankommen.

Schlägt eine Zustellung fehl — Verbindungsfehler, HTTP-Antwort ohne 2xx-Status oder Timeout — wiederholt Pulse sie bis zu insgesamt 3 Versuchen mit exponentiellem Backoff zwischen den Versuchen. Nach dem dritten gescheiterten Versuch wird das Ereignis für diesen Endpunkt verworfen. Für darüber hinausgehende Ausfallsicherheit richten Sie den Webhook auf eine eigene Warteschlange oder einen Reverse-Proxy.

HTTP(S)-Transport

HTTP(S)-Endpunkte erhalten ein POST mit den folgenden Headern:

HeaderWert
Content-Typeapplication/json
User-AgentPulse-Webhook/1.0
X-Pulse-Signaturesha256=<hex> — nur vorhanden, wenn Signierung aktiv

Der Anfragetext ist die JSON-Ereignis-Payload — unverändert, ohne abschließenden Zeilenumbruch.

TCP-Transport

TCP-Endpunkte erhalten jeden Frame in der Reihenfolge JSON-Payload → ASCII-Leerzeichen-Auffüllung (0x20) → ein einzelner Zeilenumbruch (\n) — die Leerzeichen stehen also zwischen der Payload und dem abschließenden Zeilenumbruch, der stets das letzte Byte ist. Die Auffüllung ist so bemessen, dass die Gesamtlänge des Frames (Payload + Leerzeichen + Zeilenumbruch) ein Vielfaches von 64 Bytes beträgt. Pulse öffnet pro Zustellung eine frische TCP-Verbindung, sendet den aufgefüllten Frame, schließt anschließend die Schreibseite des Sockets und beendet die Verbindung.

NOTE

Es handelt sich um reines TCP, nicht um WebSockets. Es gibt keinen HTTP-Upgrade-Handshake, keine Opcode-Frames und keine persistente Sitzung — jedes Ereignis ist eine eigene kurzlebige Verbindung. Die 64-Byte-Auffüllung existiert, damit SPS und ähnliche Steuerungen in festen Blockgrößen lesen können. Der nachgestellte Zeilenumbruch und die Leerzeichen sind gemäß der JSON-Spezifikation (RFC 8259, wonach JSON-text = ws value ws gilt und ws das Leerzeichen 0x20 sowie den Zeilenumbruch 0x0A umfasst) unbedeutender Leerraum, sodass jeder spezifikationskonforme JSON-Parser den aufgefüllten Frame unverändert akzeptiert — ein Abschneiden ist nicht erforderlich. Ist Ihr Parser strenger als die Spezifikation, lesen Sie bis zum Ende des Streams und schneiden Sie den nachgestellten Leerraum vor dem Parsen ab.

Signaturen prüfen

Wenn Sie für einen Webhook ein oder mehrere Signaturgeheimnisse konfigurieren, enthält jede HTTP(S)-Zustellung einen X-Pulse-Signature-Header mit einem HMAC-SHA256 des Anfragetexts.

Der Header-Wert ist eine durch Kommas getrennte Liste aus sha256=<hex>-Einträgen — einer pro Geheimnis, in der Reihenfolge, in der die Geheimnisse beim Webhook hinterlegt sind. Mehrere Einträge ermöglichen es Ihnen, Geheimnisse zu rotieren, ohne Zustellungen zu verlieren: neues Geheimnis hinzufügen, neuen Verifizierer ausrollen (der beide Geheimnisse akzeptiert), dann das alte Geheimnis entfernen.

Eine Zustellung verifizieren:

  1. Lesen Sie den rohen Anfragetext als Bytes — parsen und re-serialisieren Sie das JSON nicht. Schon unbedeutende Whitespace-Unterschiede verändern den Hash.
  2. Berechnen Sie HMAC-SHA256(geheimnis, body) und formatieren Sie das Ergebnis als kleingeschriebene Hexadezimalzeichenkette.
  3. Vergleichen Sie Ihren berechneten Wert sha256=<hex> mit mindestens einem der Einträge in X-Pulse-Signature. Verwenden Sie einen zeitkonstanten Vergleich, um Timing-Lecks zu vermeiden.
  4. Stimmt mindestens ein Eintrag überein, ist die Zustellung authentisch. Stimmt keiner überein, lehnen Sie die Anfrage ab.

Node.js-Beispiel:

js
import crypto from "node:crypto";

// `body` muss der rohe Anfragetext als Bytes sein, kein geparstes Objekt.
function verifyPulseWebhook(body, header, secrets) {
  const expected = secrets.map((secret) => {
    const hex = crypto.createHmac("sha256", secret).update(body).digest("hex");
    return `sha256=${hex}`;
  });

  const received = header.split(",").map((s) => s.trim());

  return received.some((r) =>
    expected.some(
      (e) =>
        e.length === r.length &&
        crypto.timingSafeEqual(Buffer.from(e), Buffer.from(r)),
    ),
  );
}

Python-Beispiel:

python
import hmac
import hashlib

def verify_pulse_webhook(body: bytes, header: str, secrets: list[str]) -> bool:
    expected = [
        f"sha256={hmac.new(s.encode(), body, hashlib.sha256).hexdigest()}"
        for s in secrets
    ]
    received = [s.strip() for s in header.split(",")]
    return any(hmac.compare_digest(e, r) for e in expected for r in received)

WARNING

Verwenden Sie stets einen zeitkonstanten Vergleich (crypto.timingSafeEqual, hmac.compare_digest oder Äquivalent). Ein normaler String-Vergleich mit == kann die erwartete Signatur Byte für Byte über Timing-Unterschiede preisgeben.

Ereignistypen

Jeder Ereignistyp wird durch seinen event.type-Schlüssel in der Webhook-Payload identifiziert:

event.typeBeschreibung
incident.createdVorfall erstellt
incident.acknowledgedVorfall bestätigt
incident.resolvedVorfall behoben
oncall.rotationBereitschaftswechsel oder Betriebszeiten geändert
notification.email_scheduledE-Mail-Benachrichtigung eingeplant
notification.sms_scheduledSMS-Benachrichtigung eingeplant
notification.push_scheduledPush-Benachrichtigung eingeplant
notification.call_scheduledAnruf eingeplant

Webhook-Payload-Struktur

Jede Webhook-Zustellung ist ein JSON-Objekt. Pulse fügt das Feld event_type auf oberster Ebene zusammen mit den ereignisspezifischen Feldern ein:

json
{
  "event_type": "incident.created",
  ...ereignisspezifische Felder
}

Incident-Event-Payloads

Die Ereignisse incident.created, incident.acknowledged und incident.resolved verwenden die gleiche Payload-Struktur:

FeldTypBeschreibung
event_typestringEines von incident.created, incident.acknowledged, incident.resolved
incident_idintegerID des Vorfalls
titlestringTitel des Vorfalls
statusstringVorfallstatus — "created", "acknowledged" oder "resolved"

Benachrichtigungs-Event-Payloads

Die Ereignisse notification.email_scheduled, notification.sms_scheduled, notification.push_scheduled und notification.call_scheduled verwenden die gleiche Payload-Struktur:

FeldTypBeschreibung
event_typestringEines von notification.email_scheduled, notification.sms_scheduled, notification.push_scheduled, notification.call_scheduled
incident_idintegerID des Vorfalls, der die Benachrichtigung ausgelöst hat
channelstringBenachrichtigungskanal — "email", "sms", "push" oder "call"
recipientsarrayListe der Benachrichtigungsempfänger

Jeder Eintrag in recipients enthält:

FeldTypBeschreibung
display_namestringAnzeigename des Empfängers
emailstring|nullE-Mail-Adresse, falls vorhanden
phone_numberstring|nullTelefonnummer, falls vorhanden

oncall.rotation-Payload

Das Ereignis oncall.rotation wird ausgelöst, wenn sich die aktiven Bereitschaftspersonen ändern oder sich der Betriebszeiten- oder Override-Status eines Zeitplans ändert:

FeldTypBeschreibung
event_typestringImmer "oncall.rotation"
schedule_idintegerID des Bereitschaftsplans
schedule_namestringName des Bereitschaftsplans
previous_respondersarrayBereitschaftspersonen vor der Änderung
current_respondersarrayBereitschaftspersonen nach der Änderung
in_operating_hoursbooleanOb der Zeitplan aktuell innerhalb der Betriebszeiten liegt
is_overridebooleanOb aktuell eine Ausnahme (Override) aktiv ist

Jeder Eintrag in previous_responders und current_responders enthält:

FeldTypBeschreibung
idintegerLogin-ID
namestringAnzeigename oder E-Mail-Adresse
emailstringE-Mail-Adresse
phonestring|nullMobilnummer, falls hinterlegt

MCP-Tokens

MCP-Zugriffstoken ermöglichen es externen Werkzeugen, sich über das Model Context Protocol mit Ihrer Organisation zu authentifizieren. Verwenden Sie sie, um KI-Assistenten oder Automatisierungswerkzeuge anzubinden, die MCP unterstützen.

INFO

Der MCP-Zugriff erfordert eine aktive Lizenz, die MCP einschließt. Ist MCP in Ihrer Lizenz nicht enthalten, zeigt die Registerkarte einen Hinweis an und die Tokenerstellung ist deaktiviert. Wenden Sie sich an Ihren Administrator, um Ihre Lizenz zu erweitern.

Navigieren Sie zu Organisation > Einstellungen > MCP-Tokens, um Tokens zu verwalten.

MCP-Tokens-Einstellungen

Klicken Sie auf Neues Token, um ein Token zu erstellen:

FeldBeschreibung
NameEine aussagekräftige Bezeichnung, damit Sie das Token später identifizieren können (z.B. „CI/CD-Pipeline")

Nach der Erstellung zeigt Pulse das Token einmalig an. Kopieren Sie es sofort — es kann nicht erneut abgerufen werden. Bewahren Sie es sicher auf (z.B. in einem Secrets-Manager oder als Umgebungsvariable).

Tokens verwenden

Übergeben Sie das Token im Authorization-Header als Bearer-Token, wenn Sie sich mit dem MCP-Endpunkt verbinden:

Authorization: Bearer pulse_mcp_...

Der MCP-Endpunkt ist unter /mcp auf Ihrer Pulse-Instanz verfügbar.

Claude Code

bash
export PULSE_MCP_TOKEN="pulse_mcp_..."

claude mcp add pulse "https://ihre-pulse-instanz/mcp" \
  -t http -s user \
  -H "Authorization: Bearer ${PULSE_MCP_TOKEN}"

Generischer MCP-Client

json
{
  "mcpServers": {
    "pulse": {
      "type": "http",
      "url": "https://ihre-pulse-instanz/mcp",
      "headers": {
        "Authorization": "Bearer ${PULSE_MCP_TOKEN}"
      }
    }
  }
}

Tokens verwalten

Jede Token-Zeile zeigt den Namen, das Erstellungsdatum und den Zeitpunkt der letzten Verwendung. Um ein Token zu widerrufen, klicken Sie auf das Löschen-Symbol und bestätigen Sie. Der Widerruf erfolgt sofort — alle Integrationen, die dieses Token verwenden, funktionieren danach nicht mehr.

WARNING

Behandeln Sie MCP-Tokens wie Passwörter. Jede Person mit einem Token kann über die MCP-API auf die Daten Ihrer Organisation zugreifen. Widerrufen Sie Tokens, die Sie nicht mehr benötigen.

Verfügbare MCP-Werkzeuge

Der Pulse-MCP-Server stellt verbundenen Clients die folgenden Werkzeuge bereit. Die Parameter sind selbstbeschreibend — Ihr KI-Assistent erkennt sie automatisch über das MCP-Schema.

  • list_monitors — Monitore der Organisation auflisten und filtern.
  • query_data — Zeitreihendaten mit Aggregationen abfragen, dargestellt als ASCII-Graph oder Tabelle.

OPC-UA-Zertifikat

Navigieren Sie zu Organisation > Einstellungen > OPC-UA-Zertifikat, um das Anwendungsinstanzzertifikat zu verwalten — die gemeinsame X.509-Identität, mit der sich Pulse beim Aufbau sicherer OPC-UA-Kanäle (Modus Sign oder Sign & Encrypt) ausweist. Eine konzeptionelle Übersicht und den vollständigen Rotationsablauf finden Sie unter OPC UA — Anwendungsinstanzzertifikat.

Die Registerkarte zeigt den Antragsteller des aktiven Zertifikats, die Gültigkeitsdaten und den SHA-1-Fingerabdruck.

Aktionen

AktionVerfügbar wennBeschreibung
PEM herunterladenAktives Zertifikat vorhandenZertifikatsdatei herunterladen, um sie auf Ihren OPC-UA-Servern zu installieren
Fingerabdruck kopierenAktives Zertifikat vorhandenSHA-1-Fingerabdruck kopieren, um ihn in der Zertifikatsverwaltung Ihres Servers zu überprüfen
Zertifikat generierenKein aktives Zertifikat vorhandenZertifikat vorab bereitstellen (Pulse stellt es auch automatisch bei der ersten sicheren Verbindung bereit)
Zertifikat rotierenAktives Zertifikat vorhanden, keine Rotation in GangErsatzzertifikat erstellen, um die Überlappungsrotation zu starten
Rotation abschließenAusstehende Zertifikat vorhandenAusstehendes Zertifikat als aktiv übernehmen — erst nach Vertrauen auf jedem Server
Ersatz verwerfenAusstehendes Zertifikat vorhandenLaufende Rotation abbrechen und das ausstehende Zertifikat entfernen
Zertifikat widerrufenAktives Zertifikat vorhandenNur im Notfall: aktives Zertifikat sofort durch eine neue Identität ersetzen

WARNING

Zertifikat widerrufen verursacht einen sofortigen Ausfall der gesamten sicheren OPC-UA-Überwachung — jeder Server weist Pulse zurück, bis Sie das neue Zertifikat dort als vertrauenswürdig eingetragen haben. Verwenden Sie für einen geplanten, unterbrechungsfreien Austausch stattdessen die Rotation.

Verwandte Seiten