c

uk.gov.hmrc.alertconfig.builder.custom

CustomCloudWatchMetricAlert

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), evaluationPeriodStartMinutesAgo: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES, evaluationPeriodEndMinutesAgo: TimeRangeAsMinutes = TimeRangeAsMinutes.ONE_MINUTE) extends CustomAlert with Product with Serializable

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

evaluationPeriodStartMinutesAgo

The start of the evaluation period. If you set to FIFTEEN_MINUTES, the alert check will evaluate data starting fifteen minutes ago up until evaluationPeriodEndMinutesAgo

evaluationPeriodEndMinutesAgo

The end of the evaluation period. If you set it to ONE MINUTE, the alert check will evaluate data starting from evaluationPeriodStartMinutesAgo until one minute ago. Less than one minute ago is not advised because these metrics may not yet be fully shipped.

Linear Supertypes
Serializable, Product, Equals, CustomAlert, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CustomCloudWatchMetricAlert
  2. Serializable
  3. Product
  4. Equals
  5. CustomAlert
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new 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), evaluationPeriodStartMinutesAgo: TimeRangeAsMinutes = TimeRangeAsMinutes.FIFTEEN_MINUTES, evaluationPeriodEndMinutesAgo: TimeRangeAsMinutes = TimeRangeAsMinutes.ONE_MINUTE)

    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

    evaluationPeriodStartMinutesAgo

    The start of the evaluation period. If you set to FIFTEEN_MINUTES, the alert check will evaluate data starting fifteen minutes ago up until evaluationPeriodEndMinutesAgo

    evaluationPeriodEndMinutesAgo

    The end of the evaluation period. If you set it to ONE MINUTE, the alert check will evaluate data starting from evaluationPeriodStartMinutesAgo until one minute ago. Less than one minute ago is not advised because these metrics may not yet be fully shipped.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val alertName: String
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  7. val cloudwatchSource: CloudWatchSource
  8. val dashboardPanelId: Option[Int]
  9. val dashboardUri: Option[String]
  10. val dimensions: Map[String, String]
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. val evaluationPeriodEndMinutesAgo: TimeRangeAsMinutes
  13. val evaluationPeriodStartMinutesAgo: TimeRangeAsMinutes
  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  15. val integrations: Seq[String]
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. val metricName: String
  18. val namespace: String
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  22. val operator: EvaluationOperator
  23. def productElementNames: Iterator[String]
    Definition Classes
    Product
  24. val reducerFunction: ReducerFunction
  25. val runbookUrl: Option[String]
  26. val severity: CustomAlertSeverity.AlertSeverity
  27. val statistic: Option[Statistic]
  28. val summary: String
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. val teamName: String
  31. val thresholds: EnvironmentThresholds
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  34. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from CustomAlert

Inherited from AnyRef

Inherited from Any

Ungrouped