Categories

Versions

Execution alerts

Execution alerts offer the special ability to get notified with more detailed output when a process execution fails or a job cannot be scheduled. They are an addition to the normal server log output. Currently

  • server log and
  • mail notifications

are supported as execution alert type. The default execution alert is set to 'no operation' which basically doesn't handle those errors above in a special way. You will still see the normal server log output and the error log reported by any job.

Enable error reporting by job/schedule

By default the execution alert will not be triggered. You've to submit jobs or create schedules by calling the REST API manually with the additional attribue reportError: true. As a further step you've to set up the error reporter as below.

Error reporter configuration

To configure a specific execution alert type please set REPORTING_ERROR_TYPE as environment variable. Depending on the error reporting type you have chosen, you may have to add additional properties which are described below.

Type: Server Log

  1. Add the REPORTING_ERROR_TYPE = logging property.
  2. You're good to go and the execution alert is set up. They should be reported to the usual server log.

The output might look like the following:

Execution of job '835a387a-74c9-4617-a36f-954c97d7e53a' has failed with error type 'USER_ERROR'. Title: <title>. Message: <message>. Stacktrace: <stacktrace>

Type: Mail Notifications

  1. Add REPORTING_ERROR_TYPE = mail
  2. Add REPORTING_ERROR_MAIL_TO = receiverAddress@domain.tld to define the mail address which will receive alert mails
  3. Add a mail configuration for sending the mails. Here, you have two options:

    • If you've configured a mail server in the RapidMiner Server installer, you just need to add the corresponding JNDI name and you're good to go.

         SPRING_MAIL_JNDI_NAME = java:/Mail
      
    • If you haven't configured a mail server in the installer or if you like to use another mail server, you need to add the appropriate SPRING_MAIL.* environment variables. A detailed list which properties are available can be found on spring.io. You may also need to define JavaMail properties which will be listed under SPRING_MAIL_PROPERTIES.*.

      A simple setup might look like the following which also uses JavaMail properties.

         SPRING_MAIL_HOST = myHost
         SPRING_MAIL_PORT = 587
         SPRING_MAIL_USERNAME = myUser
         SPRING_MAIL_PASSWORD = myPassword
         SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH = true
         SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE = true
         SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED = true
      
  4. (Optional) If you like to automatically redirect or tag incoming alert mails, you can set the variable REPORTING_ERROR_MAIL_SUBJECT_PREFIX to a custom prefix and handle all mails containing this subject prefix in your mailbox.
  5. (Optional) If you like to display a specific sender address and/or a name, you can set the following properties:
    • REPORTING_ERROR_MAIL_FROM_ADDRESS = senderAddress@domain.tld which must be a valid sender address of your user which you've already defined via SPRING_MAIL_USERNAME or SPRING_MAIL_JNDI_NAME
    • REPORTING_ERROR_MAIL_FROM_NAME = My Sender which must be a valid name
  6. You're good to go and the execution alert is set up. Notifications should be sent via mail.

An example mail might look like the following:

[RapidMiner Server Execution Error Report] Insufficient capability

Execution of job '545778e9-8bf1-49cb-8197-0d41dc015ef9' has failed with error type 'USER_ERROR'.

Title: Insufficient capability

Message: The operator SVM does not have sufficient capabilities for the given data set: polynominal label not supported

Stacktrace:           Process[1] (Process)
           subprocess 'Main Process'
             +- Retrieve Iris[1] (Retrieve)
       ==>   +- SVM[1] (Support Vector Machine)