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 property in the execution.properties in the RapidMiner Server home folder. 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 appropiate spring.mail.* properties. 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 property reporting.error.mail.subjectPrefix 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)