1.4.3.5. Pipeline pausieren bei mehr als x Reports pro Minute

Eine plötzliche Spitze bei den Fehlern könnte beispielsweise nur ein temporärer Netzwerkaussetzer sein. In diesem Fall wird die Pipeline bei mehr als x Reports pro Minute pausiert. Sollten die Fehler bestehen bleiben, wird die Pipeline pausiert bis eine User-Aktion stattfindet. Es wird dann eine E-Mail gesendet an xyz@company.de).

Ein paar Details:

  • Die Funktion kann für den Service und das lokale Dashboard getrennt aktiviert werden.

    (Active bzw. ActiveInLocalDashboard)

  • Die maximale Anzahl an fehlgeschlagenen Report-Items pro Minute, welche die Pause triggern, kann per Konfig-Schlüssel bestimmt werden.

    (MaxErrorsPerMinute)

  • Die Dauer der Pause(n) wird in Minuten gesetzt. Es sind mehrere Pausen möglich (z.B. PauseTime0=1, PauseTime1=2, ...)

  • Schlüssel 'UserResumeAsFinalPause' als Option => Pipeline wird bis zu einer Nutzeraktion pausiert.

  • Eine Pipeline, die manuell wieder fortgesetzt wurde, wird nicht mehr automatisch pausiert.

  • E-Mail-Benachrichtigung ist möglich (nur in Service, nicht lokal). E-Mail-Benachrichtigung nur für Pipelines, die bis zum Nutzer-Eingriff pausiert sind.

    Beispiel:

    Info-Mail

    Info-Mail

  • Dashboard zeigt "Automatisch pausiert": Die Meldung enthält einen Tooltip mit Details.

    Meldung: Job automatisch fortgesetzt

    Meldung: Job automatisch fortgesetzt

    Meldung: Job nicht automatisch fortgesetzt

    Meldung: Job nicht automatisch fortgesetzt

Konfiguration:

Wenn die E-Mail-Benachrichtigung aktiviert werden soll, dann muss der Mail-Server unter $CADENAS_SETUP/reportstask.cfg konfiguriert werden.

[ReportsMailServer]
#:HELP;Hostname of mailserver. E.g.: hostname, hostname:port, smtp://<username>
 :<password>@<hostname>:<port>?key1=val&key2=val, ssmtp://<username>
 :<password>@<hostname>:<port>?key1=val&key2=val
Host=
#:HELP;UserName used for authentication to the mailserver (if any)
UserName=
#:HELP;Password used for authentication to the mailserver (if any)
Password=
#:HELP;Set to true if the password is encrypted (use cnstools.helpfu to encrypt password).
 Default = false
PasswordEncrypted=

=> Diese Einstellungen werden auch für die "ReportsTask Mail" Konfiguration verwendet. So muss der Mail-Server nur einmal konfiguriert werden.

Nehmen Sie die spezifischen Einstellungen unter $CADENAS_SETUP/partwarehouse/pipeline.cfg vor.

[ReportWatcher]
#:Help;Activates the ReportWatcher (allows to pause pipelines if there are a lot of errors 
 in a short period of time) (default is false)
Active=
#:Help;Activates the ReportWatcher also in the LocalDashboard environment (default is false)
ActiveInLocalDashboard=
#:Help;Threshold for max errors per minute. If exceeded the pipeline is paused (default is 60)
MaxErrorsPerMinute=
#:Help;List of timeouts (in minutes). First value is used the first time a pipeline is paused, 
 the second one is used the second time the same pipeline is used, etc.
PauseTime0=
#PauseTime1=
#:Help;If true, then the pipeline needs to be resumed manual (After last PauseTime was used). 
 Only in service, not in LocalDashboard (default is false)
UserResumeAsFinalPause=
#:Help;Should an email be send when a pipeline was paused and user resume is required. Also
 see ReportWatcherMail block (default is false). If true then Mailer has to be configured.
SendMail=

Mehrfache Auszeiten: Eine Pipeline kann mehrfach pausiert werden (bis zu 5 Mal):

Z.B.: PauseTime0=1 und PauseTime1=2: In diesem Fall wird die Pipeline beim ersten Mal eine Minute und beim zweiten Mal 2 Minuten pausiert.

UserResumeAsFinalPause: Wenn "true", wird die Pipeline nicht automatisch fortgesetzt, sondern der Nutzer muss die Pipeline nach der letzten Pause manuell wieder fortsetzen.

Mailer spezifische Optionen für den ReportWatcher (auch in $CADENAS_SETUP/partwarehouse/pipeline.cfg) ... muss nur konfiguriert werden, wenn E-Mails gesendet werden sollen.

[ReportWatcherMailer]
#:HELP;The mail address which should be shown as sender of the mail
Sender=
#:HELP;Comma separated list of mail addresses which should be set as mail receivers
Receivers=
#:HELP;Sender Envelope of the mail
SenderEnvelope=
#:HELP;Define 'ReplyTo' mail address (optional)
ReplyTo=
#:HELP;Comma separated list of mail addresses which should be used as CC (optional)
CcList=
#:HELP;Comma separated list of mail addresses which should be used as BCC (optional)
BccList=
#:HELP;Subject of the outgoing mail
Subject=