Email Triggering Output and Integration

George Alpizar
George Alpizar
  • Updated

Overview

This output type sends notifications and alerts to a specified email address. 


Review Parameters

Review the following parameters that you can configure in the Edge Delta App:

YAML Description
name

Enter a descriptive name for the output or integration.

For outputs, this name will be used to map this destination to a workflow.

This parameter is required. 

Review the following example: 

name: email
integration_name

This parameter only appears when you create an individual output.

This parameter refers to the organization-level integration created in the Integrations page. If you enter this name, then the rest of the fields will be automatically populated.

If you need to add multiple instances of the same integration into the config, then you can add a custom name to each instance via the name field. In this situation, the name should be used to refer to the specific instance of the destination in the workflows.

This parameter is optional. 

Review the following example: 

integration_name: ed-alert-email
type

Enter webhook.

This parameter is required. 

Review the following example: 

type: webhook
suppression_window

Enter a golang duration string that represents the suppression window. Once the agent detects an issue and notifies the endpoint, the agent will suppress any new issues for this time period. The default setting is 20m.

This parameter is optional. 

Review the following example: 

suppression_window: 30m
suppression_mode

Enter a suppression mode, which can be local or global.

The default mode is local, which indicates that an individual agent suppresses an issue if the agent has already made a local notification for a similar issue in the last suppression window.

Global mode indicates that an individual agent checks with the Edge Delta backend to see if there were similar alerts from other sibling agents (agents that share the same tag in the configuration).

This parameter is optional. 

Review the following example: 

suppression_mode: local
custom_headers

This parameter is used to customize the notification content.

If you do not want to use default fields in a notification, then create custom headers and fields.

To learn more, see Review Notify Content Parameters.

This parameter is optional. 

Review the following example: 

custom_headers:
  X-ED-Config-Id: "{{.ConfigID}}"
payload

Use this parameter and sub-parameters to configure the email notification content in the email. 

Specifically, this parameter uses key-value pairs, where values can be strings, numbers, or lists. 

  • String values support templating. 

The payload is converted into JSON, and then sent in the body of the request. 

Review the following example: 

payload:
        RequestID: "{{.ConfigID}}-{{.Epoch}}"
        ConfigID: "{{.ConfigID}}"
        Recipients: ["taylan@edgedelta.com"]
        Subject: "Anomaly Detected - EDAC [{{.EDAC}}]"
        Body: |
          <html><body>
            <h1>Edgedelta found anomaly!</h1>
            <div>EDAC: {{.EDAC}}</div>
            <div>Tag: {{.Tag}}</div>
            <div>Host: {{.Host}}</div>
            <div>Source: {{.Source}}</div>
            <div>MetricName: {{.MetricName}}</div>
          </body></html>

Review Sample Configuration

The following sample configuration displays an output without the name of the organization-level integration:

    - name: email
      type: webhook
      endpoint: "https://api.edgedelta.com/v1/orgs/-/triggers/emails"
      suppression_window: 30m
      suppression_mode: local
      custom_headers:
        X-ED-Config-Id: "{{.ConfigID}}"
      payload:
        RequestID: "{{.ConfigID}}-{{.Epoch}}"
        ConfigID: "{{.ConfigID}}"
        Recipients: ["taylan@edgedelta.com"]
        Subject: "Anomaly Detected - EDAC [{{.EDAC}}]"
        Body: |
          <html><body>
            <h1>Edgedelta found anomaly!</h1>
            <div>EDAC: {{.EDAC}}</div>
            <div>Tag: {{.Tag}}</div>
            <div>Host: {{.Host}}</div>
            <div>Source: {{.Source}}</div>
            <div>MetricName: {{.MetricName}}</div>
          </body></html>

 

Share this document