package custom
- Alphabetic
- Public
- Protected
Type Members
- trait CustomAlert extends AnyRef
- trait CustomAlertConfig extends AnyRef
- case class CustomAlerts(customElasticsearchAlerts: Seq[CustomElasticsearchAlert], customGraphiteMetricAlerts: Seq[CustomGraphiteMetricAlert], customCloudWatchMetricAlerts: Seq[CustomCloudWatchMetricAlert]) extends Product with Serializable
- case class CustomAlertsTopLevel(alerts: CustomAlerts) extends Product with Serializable
- case class CustomCloudWatchMetricAlert(alertName: String, cloudwatchSource: CloudWatchSource, dashboardPanelId: Option[Int], dashboardUri: Option[String], dimensions: Map[String, String], integrations: Seq[String], metricName: String, namespace: String, operator: EvaluationOperator, reducerFunction: ReducerFunction, runbookUrl: Option[String], severity: CustomAlertSeverity.AlertSeverity, summary: String, teamName: String, thresholds: EnvironmentThresholds, statistic: Option[Statistic] = Some(Statistic.MAXIMUM), queryTimeRangeMinutes: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES) extends CustomAlert with Product with Serializable
CloudWatch metrics based alert.
CloudWatch metrics based alert.
- alertName
Name that the alert will be created with
- cloudwatchSource
Which CloudWatch Grafana datasource to use
- dashboardPanelId
Specific panel to deep link to that is specific to this alert
- dashboardUri
Grafana uri to link to. This should just be the uri path and not include the domain
- dimensions
Which CloudWatch dimensions to filter the metric on
- integrations
Which PagerDuty integrations to direct this alert to
- metricName
Which CloudWatch metric to filter the alert on
- namespace
Which CloudWatch service namespace to filter the alert on
- operator
Whether to evaluate the metric as greater than or less than
- reducerFunction
Function to use to transform multiple data points returned from query into a single value, to be compared against the specified threshold. Valid values include: COUNT, LAST, MAX, MEAN, MIN, SUM. Note: Using the LAST reducer could result in not all data points being considered during alert evaluation, depending on the frequency at which the alert runs. Example: An alert with a LAST reducer, that runs every 2 minutes, based on a metric that is written on a per minute basis, will only consider ~50% of the data points, potentially missing a legitimate breach of an alert threshold.
- runbookUrl
Runbook for when this alert fires
- severity
The severity of this alert. E.g. Warning or Critical
- summary
The description to populate in PagerDuty when the alert fires
- teamName
All alerts are prefixed with the team name
- thresholds
Trigger point for each environment
- statistic
Used in the query. Valid values include Average, Maximum, Minimum, Sum, SampleCount, IQM
- queryTimeRangeMinutes
The sample period to check data for. If you set it to FIVE_MINUTES, the alert check will evaluate data starting from 6 minutes ago until one minute ago (so that only fully shipped metrics are evaluated).
- case class CustomElasticsearchAlert(alertName: String, checkIntervalMinutes: Option[CheckIntervalMinutes] = None, kibanaDashboardUri: Option[String], integrations: Seq[String], luceneQuery: String, operator: EvaluationOperator, reducerFunction: ReducerFunction, runbookUrl: Option[String], severity: CustomAlertSeverity.AlertSeverity, summary: String, teamName: String, thresholds: EnvironmentThresholds, queryTimeRangeMinutes: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES) extends CustomAlert with Product with Serializable
CloudWatch metrics based alert.
CloudWatch metrics based alert.
- alertName
Name that the alert will be created with
- checkIntervalMinutes
Number of minutes between each check. See CheckIntervalMinutes for supported values
- kibanaDashboardUri
Kibana uri to link to. This should just be the uri path and not include the domain
- integrations
Which PagerDuty integrations to direct this alert to n
- luceneQuery
Query to make to Elasticsearch
- operator
Whether to evaluate the metric as greater than or less than
- reducerFunction
Function to use to transform multiple data points returned from query into a single value, to be compared against the specified threshold. Valid values include: COUNT, LAST, MAX, MEAN, MIN, SUM. Note: Using the LAST reducer could result in not all data points being considered during alert evaluation, depending on the frequency at which the alert runs. Example: An alert with a LAST reducer, that runs every 2 minutes, based on a metric that is written on a per minute basis, will only consider ~50% of the data points, potentially missing a legitimate breach of an alert threshold.
- runbookUrl
Runbook for when this alert fires
- severity
The severity of this alert. E.g. Warning or Critical
- summary
The description to populate in PagerDuty when the alert fires
- teamName
All alerts are prefixed with the team name
- thresholds
Trigger point for each environment
- queryTimeRangeMinutes
The sample period to check data for. If you set it to FIVE_MINUTES, the alert check will evaluate data starting from 6 minutes ago until one minute ago (so that only fully shipped metrics are evaluated).
- case class CustomGraphiteMetricAlert(alertName: String, checkIntervalMinutes: Option[CheckIntervalMinutes] = None, pendingPeriodMinutes: Option[Int] = None, dashboardUri: Option[String], dashboardPanelId: Option[Int], integrations: Seq[String], operator: EvaluationOperator, query: String, teamName: String, reducerFunction: ReducerFunction, runbookUrl: Option[String], severity: CustomAlertSeverity.AlertSeverity, summary: String, thresholds: EnvironmentThresholds, queryTimeRangeMinutes: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES) extends CustomAlert with Product with Serializable
Graphite metric based alert.
Graphite metric based alert.
- alertName
Name that the alert will be created with
- checkIntervalMinutes
Number of minutes between each check. See CheckIntervalMinutes for supported values
- pendingPeriodMinutes
Amount of time in minutes that a threshold needs to be breached before the alert fires
- dashboardUri
Grafana uri to link to. This should just be the uri path and not include the domain
- dashboardPanelId
Specific panel to deep link to that is specific to this alert
- integrations
Which PagerDuty integrations to direct this alert to
- operator
Whether to evaluate the metric as greater than or less than
- query
Graphite query you're running
- teamName
All alerts are prefixed with the team name
- reducerFunction
Function to use to transform multiple data points returned from query into a single value, to be compared against the specified threshold. Valid values include: COUNT, LAST, MAX, MEAN, MIN, SUM. Note: Using the LAST reducer could result in not all data points being considered during alert evaluation, depending on the frequency at which the alert runs. Example: An alert with a LAST reducer, that runs every 2 minutes, based on a metric that is written on a per minute basis, will only consider ~50% of the data points, potentially missing a legitimate breach of an alert threshold.
- runbookUrl
Runbook for when this alert fires
- severity
The severity of this alert. E.g. Warning or Critical
- summary
The description to populate in PagerDuty when the alert fires
- thresholds
Trigger point for each environment
- queryTimeRangeMinutes
The sample period to check data for. If you set it to FIVE_MINUTES, the alert check will evaluate data starting from 6 minutes ago until one minute ago (so that only fully shipped metrics are evaluated).
- case class EnvironmentThresholds(development: Option[Int] = None, externaltest: Option[Int] = None, integration: Option[Int] = None, management: Option[Int] = None, production: Option[Int] = None, qa: Option[Int] = None, staging: Option[Int] = None) extends Product with Serializable
Define thresholds for any environments you want this custom alert to be active in.
Define thresholds for any environments you want this custom alert to be active in.
- development
The threshold for the development environment.
- externaltest
The threshold for the external test environment.
- integration
The threshold for the integration environment.
- management
The threshold for the management environment.
- production
The threshold for the production environment.
- qa
The threshold for the quality assurance environment.
- staging
The threshold for the staging environment.
- case class EnvironmentsEnabled(development: Boolean = false, externaltest: Boolean = false, integration: Boolean = false, management: Boolean = false, production: Boolean = false, qa: Boolean = false, staging: Boolean = false) extends Product with Serializable
Define which environments this alert should be active in
Define which environments this alert should be active in
- development
Set to true if alert should be active in the Development environment.
- externaltest
Set to true if alert should be active in the External Test environment.
- integration
Set to true if alert should be active in the Integration environment.
- management
Set to true if alert should be active in the Management environment.
- production
Set to true if alert should be active in the Production environment.
- qa
Set to true if alert should be active in the QA environment.
- staging
Set to true if alert should be active in the Staging environment.
Value Members
- object CheckIntervalMinutes
- object CloudWatchSource
- object CustomAlertConfigYamlBuilder
- object CustomAlertSeverity
- object EnvironmentThresholds extends Serializable
Set common threshold for all environments
- object EvaluationOperator
- object ReducerFunction
- object Statistic
- object TimeRangeAsMinutes