Skip to content

Variables

Quentin Manfroi edited this page Apr 14, 2021 · 20 revisions

🔗 Contents

Every variables have different properties:

  • required: not to be confused with the terraform notion which make any variable without default value required. Here it means required to declare in the detectors templating. These variables could be dormant (empty value) but are declared as terraform variable in the module and this variable is used in the terraform resources.
  • scopes: a variable must have, at least, one scope. In case of multiple scopes are supported so there exist different variable for each scope which could override the scope of its "higher version" variable. It could be global, per detector (prefix name with [id]_) or per rule per detector (prefix name with [id]_ and suffix it with _[severity].
  • type which refer to terraform type constraints
  • description: a short summary of what it does

environment

description: Infrastructure environment

type: string

required: true

scopes: global

notifications

description: Default notification recipients list per severity

type: object({ critical=list(string) major=list(string) minor=list(string) warning=list(string) info=list(string) })

required: true

scopes: global, detector

prefixes

description: Prefixes list to prepend between brackets on every monitors names before environment

type: list

required: true

scopes: global

filter_custom_includes

description:"List of tags to include when custom filtering is used"

type: list

required: true

scopes: global

filter_custom_excludes

description:"List of tags to exclude when custom filtering is used"

type: list

required: true

scopes: global

disabled

description:"Disable all detectors in this module"

type: bool

required: true

scopes: global, detector, rule

aggregation_function

description: Aggregation function and group by for [id] detector (i.e. .mean(by=['host']))

type: string

required: true

scopes: detector

transformation_function

description: Transformation function for [id] detector (i.e. .mean(over='5m'))"

type: string

required: true

scopes: detector

threshold

description: [severity] threshold for [id] detector"

type: number

required: false

scopes: rule

lasting_duration_seconds DEPRECATED

description: Use lasting_duration instead which allow define time unit and is per rule scope only

type: number

required: false

scopes: detector

lasting_duration

description: Minimum duration that conditions must be true before raising alert

type: string

required: false

scopes: rule

at_least_percentage

description: Percentage of lasting that conditions must be true before raising alert (>= 0.0 and <= 1.0)

type: number

required: false

scopes: rule (DEPRECATED: detector)

runbook_url

description: URL like SignalFx dashboard or wiki page which can help to troubleshoot the incident cause

type: string

required: false

scopes: global, detector

tip

description: Suggested first course of action or any note useful for incident handling

type: string

required: false

scopes: detector

authorized_writer_teams

description: List of teams IDs authorized to edit the detector. All admins are able to edit and must not be added to this. Be careful, if a list is defined so a long lived org token will not work anymore to apply. It will require a short lived user token from an authorized user (or an admin).

type: list(string)

required: false

scopes: global

teams

description: List of teams IDs to associate the detector to. Be careful, you can also want to add this team as notification recipient also

type: list(string)

required: false

scopes: global

Clone this wiki locally