AutoActions (EMR)
AutoActions monitor EMR apps and clusters. You can set the AutoAction policy to generate alerts for EMR apps and clusters. For example, you can use an AutoAction to:
Apps: Notify you about a situation that requires manual intervention, such as resource contention or stuck jobs.
Clusters: Monitor EMR clusters based on cost, duration, and idle checks and send alerts.
Consider a scenario where the DevOps user creates a budget for each cluster. The Unravel server processes AutoActions by:
Collecting various metrics from the cluster
Aggregating the metrics according to user-defined triggers (rule) and scope
Detecting violations
Executing the defined actions for each rule violation
DevOps can quickly take action to control costs by terminating the cluster if necessary. Using Unravel to detect and send alerts allows for real-time monitoring and cost management.
Creating AutoActions
On the Unravel UI, click the AutoActions tab.
On the AutoActions page, in the upper-right corner, click .
On the New AutoAction window, select any of the following templates:
Tip
Templates are policies that you define to trigger an alert.
On the New AutoAction page, specify the following details:
Item
Description
Policy Name
Specify a policy name that reflects the purpose of the AutoAction policy.
Description
(Optional)
Describe the policy.
Active
Select the checkbox to activate the policy after you create a new AutoAction. It is not mandatory to activate a policy during creation.
Trigger Conditions
Specify the conditions when an alert should be triggered. The trigger condition types are Users, Queues, Clusters, and Apps. You must define at least one trigger condition type.
Each trigger condition type has a set of conditions, such as Metric, Operator, Value, and State.
Note
Select either AND, OR, or SAME operator for complex trigger conditions.
For information on the SAME logical operator, see the Same logical operator.
Metric
Select one of the cluster metrics. Refer to Supported cluster metrics.
Operator: Use the operator (>=) or (<=) to define the threshold level of the selected metrics compared to the value.
Value: Specify the threshold value in numeric. The default value is 0 is considered if you leave the Value field empty.
State: Select the state from the drop-down list.
Refine Scope
Click the down arrow and select a scope to trigger the AutoAction policy. Use the scope to limit when an AutoAction trigger is detected. By selecting a scope, you can refine AutoActions based on criteria that must be true to trigger an AutoAction.
You can refine the scope based on the following fields:
Note
Based on the selected platform, the fields displayed for the Refine Scope are changed.
Actions
Click the down arrow and select the action to be taken when the conditions defined in the AutoAction policy are met, and an AutoAction is triggered. You can choose from any or all of the following actions:
Email
Enter the email ID of at least one recipient. Then, click Add Email to add more recipients.
Select the Include Owner checkbox to include the app's owner as a recipient of the email. The owner ID of an app can be a username (for example, John) or an email address (for example, john@acme.com).
Note
If the owner ID of an app is a username, then you must configure the base DNS for sending an email to the owner.
You can configure the base DNS using the com.unraveldata.report.user.email.domain property. For configuring email alerts and specifying email properties, see Email alerts.
HTTP Post
Enter at least one URL. For example, http://localhost:8000/?notify=xyz@unraveldata.com&amp;notify_owners=false
Ensure to open the corresponding port.
You can add more URLs by clicking Add URL.
Post to Slack
Unravel provides integration with SlackApp, which lets you post information to one more Slack channel and user. Specify the following:
Webhook URL: The incoming webhook URL configured in Slack for the channel or user. You can post to multiple webhooks.
Token: The OAuth access token for the SlackApp.
See Slack's Incoming Webhooks for more information.
Click Create.
An AutoAction is successfully created and listed on the AutoActions page.
Viewing AutoAction and its details
From the AutoActions page, you can add a new AutoAction and view a list of existing AutoActions.
The AutoActions are listed in the following categories:
All: Lists all AutoActions (active and inactive).
Active: Lists all active AutoActions with a green bar adjacent to each AutoAction.
Inactive: List all inactive AutoActions with a grey bar adjacent to each AutoAction.
You can filter AutoActions based on Created Date. Select a date range to view the list of AutoActions. You can either specify a custom range or choose one of the date range options (Today, 7 days, 14 days, 1 month, 3 months, 6 months, 1 year)
The AutoActions page shows a table with the following columns:
Name: Lists the available AutoActions. Select the AutoAction name to view more details.
Created by: User who created an AutoAction
Last edited by: User who last modified the AutoAction
Created date: Latest timestamp and timezone when the AutoAction was created. The column is sorted by the latest created date and time.
Policy actions: Displays the name of the action to send an alert when the condition of the AutoAction policy is met. The actions are Email, HTTP Post, or Slack.
Actions: Click the corresponding Activate or Deactivate link to activate or deactivate an AutoAction.
You can perform the following tasks from the AutoActions page:
Icons | Action |
---|---|
Create a new AutoAction. See Creating AutoActions. | |
Search for a specific AutoAction using its name | |
Download a list of AutoActions as a CSV file | |
Click the toolbar next to each AutoAction name and perform the following actions:
|
Click the name link of the AutoAction to view the history of runs and the details of the applications that violated the policy.