Notification-Konnektor
Übersicht
Abschnitt betitelt „Übersicht“Der Notification-Konnektor stellt Payloads als Nachrichten an externe Kanäle zu. Der Nachrichtenkörper ist entweder die als JSON gemarshallte Payload oder ein aus einem Go-text/template gerenderter String.
Konnektor-Typ: MeddleNotification
Unterstützte Kanäle: slack, teams, email, microsoft365, webhook
Konfigurationsparameter
Abschnitt betitelt „Konfigurationsparameter“- channel (erforderlich): Einer von
slack,teams,email,microsoft365,webhook - template: Optionaler Go-
text/template-String. Payload-Felder sind als{{ .field }}zugänglich. Wenn leer, wird die Payload als JSON codiert. - webhookUrl: Ziel-URL (vom
webhook-Kanal verwendet) - slackConfig: Slack-spezifische Optionen
- teamsConfig: Teams-spezifische Optionen
- emailConfig: SMTP-E-Mail-Optionen
- microsoft365Config: Microsoft Graph API-Optionen
{ "type": "MeddleNotification", "config": { "channel": "slack", "template": "Temperatur-Alarm: {{ .temperature }}°C an Sensor {{ .sensor_id }}", "slackConfig": { "botToken": "xoxb-...", "channel": "#alerts" } }}slackConfig-Felder:
- botToken (erforderlich): Slack-Bot-User-OAuth-Token
- channel (erforderlich): Kanal-ID oder -Name (z.B.
#alerts)
Microsoft Teams
Abschnitt betitelt „Microsoft Teams“{ "type": "MeddleNotification", "config": { "channel": "teams", "template": "Maschine {{ .machine_id }} gestoppt. Status: {{ .status }}", "teamsConfig": { "webhookUrl": "https://outlook.office.com/webhook/..." } }}teamsConfig-Felder:
- webhookUrl (erforderlich): Eingehende Webhook-URL, die in Teams konfiguriert ist
E-Mail (SMTP)
Abschnitt betitelt „E-Mail (SMTP)“{ "type": "MeddleNotification", "config": { "channel": "email", "template": "Alarm von Sensor {{ .sensor_id }}: {{ .message }}", "emailConfig": { "smtpHost": "smtp.example.com", "smtpPort": 587, "from": "alerts@example.com", "to": ["ops@example.com", "manager@example.com"], "username": "alerts@example.com", "password": "app-specific-password" } }}emailConfig-Felder:
- smtpHost (erforderlich), smtpPort (erforderlich)
- from (erforderlich, muss eine gültige E-Mail sein)
- to (erforderlich, min 1 Empfänger)
- username, password: Optionale SMTP-Authentifizierung
Microsoft 365 (Graph API)
Abschnitt betitelt „Microsoft 365 (Graph API)“Sendet E-Mails über Microsoft Graph unter Verwendung von OAuth2-Client-Credentials. Erfordert eine Azure AD-App-Registrierung mit der Mail.Send-Anwendungsberechtigung (Admin-zugestimmt).
{ "type": "MeddleNotification", "config": { "channel": "microsoft365", "template": "Produktion auf Linie {{ .line_id }} angehalten", "microsoft365Config": { "tenantId": "00000000-0000-0000-0000-000000000000", "clientId": "11111111-1111-1111-1111-111111111111", "authMethod": "secret", "clientSecret": "your-client-secret", "fromAddress": "alerts@yourtenant.onmicrosoft.com", "to": ["ops@yourtenant.onmicrosoft.com"], "subject": "Production Alert", "saveToSentItems": true } }}microsoft365Config-Felder:
- tenantId (erforderlich), clientId (erforderlich)
- authMethod:
secret(Standard) odercertificate - clientSecret: Erforderlich, wenn
authMethodsecretist - certificate: Erforderlich, wenn
authMethodcertificateist. Geben Sie entwedercertificateFile+privateKeyFile(PEM) oderpfxFile(+ optionalpfxPassword) an. - fromAddress (erforderlich, muss eine gültige E-Mail sein, die einem lizenzierten Postfach entspricht)
- to (erforderlich, min 1 Empfänger)
- subject: E-Mail-Betreff (Standard
Meddle Notification) - saveToSentItems: Bei
truewird die Nachricht im Ordner “Gesendete Elemente” des Postfachs gespeichert
Webhook
Abschnitt betitelt „Webhook“{ "type": "MeddleNotification", "config": { "channel": "webhook", "webhookUrl": "https://hooks.example.com/incoming", "template": "{{ .machine_id }}: {{ .status }}" }}Sendet einen JSON-Body { "message": "...", "data": { ...payload... } } an webhookUrl.
Templates
Abschnitt betitelt „Templates“Templates verwenden die Go-text/template-Syntax. Häufige Muster:
Temperatur: {{ .temperature }}°C{{ if gt .pressure 100.0 }}Druck HOCH{{ end }}Sensor {{ .sensor_id }} meldete {{ .status }} um {{ .timestamp }}Wenn kein Template konfiguriert ist, wird die vollständige Payload als JSON codiert als Nachricht verwendet.
Anwendungsfälle
Abschnitt betitelt „Anwendungsfälle“- Bediener-Benachrichtigungen bei Schwellenwertüberschreitungen
- Vorfall-Routing zu On-Call-Kanälen über Slack oder Teams
- Audit-Logging über Webhook an ein SIEM oder einen HTTP-Endpunkt
- Unternehmens-E-Mail-Alarme mit Microsoft 365-OAuth (kein SMTP-Passwort erforderlich)
Best Practices
Abschnitt betitelt „Best Practices“- Verwenden Sie Templates, um Nachrichten kurz, menschenlesbar und umsetzbar zu halten
- Platzieren Sie Trigger oder Rate Limiter vorgelagert, um zu vermeiden, dass Kanäle überflutet werden
- Bevorzugen Sie für Microsoft 365 die Zertifikat-Auth in der Produktion; rotieren Sie Secrets regelmäßig
- Verwenden Sie einen Webhook-Kanal beim Senden an interne Systeme, die keine spezifische Provider-Integration benötigen
Verwandte Konnektoren
Abschnitt betitelt „Verwandte Konnektoren“- Alert - Zustandsbehaftete Alarmierung mit Dauer und Cooldown
- Trigger - Benachrichtigungen an einer Bedingung blockieren
- Rate Limiter - Benachrichtigungsfrequenz begrenzen