Skip to content
This repository has been archived by the owner on Jan 28, 2025. It is now read-only.

Latest commit

 

History

History
236 lines (183 loc) · 13 KB

argus_instance.md

File metadata and controls

236 lines (183 loc) · 13 KB
page_title subcategory description
stackit_argus_instance Resource - stackit
Argus instance resource schema. Must have a region specified in the provider configuration. !> The stackit_argus_instance resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_instance instead, which offers the exact same functionality. Example move Example to move the deprecated stackit_argus_instance resource to the newstackit_observability_instance resource: 1. Add a new stackit_observability_instance resource with the same values like your previous stackit_argus_instance resource. 1. Add a moved block which reference the stackit_argus_instance and stackit_observability_instance resource. 1. Remove your old stackit_argus_instance resource and run $ terraform apply. ```terraform resource "stackitargusinstance" "example" { projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-instance" planname = "Monitoring-Medium-EU01" acl = ["1.1.1.1/32", "2.2.2.2/32"] metricsretentiondays = 7 metricsretentiondays5mdownsampling = 30 metricsretentiondays1hdownsampling = 365 } moved { from = stackitargusinstance.example to = stackitobservabilityinstance.example } resource "stackitobservabilityinstance" "example" { projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" name = "example-instance" planname = "Monitoring-Medium-EU01" acl = ["1.1.1.1/32", "2.2.2.2/32"] metricsretentiondays = 7 metricsretentiondays5mdownsampling = 30 metricsretentiondays1hdownsampling = 365 } ```

stackit_argus_instance (Resource)

Argus instance resource schema. Must have a region specified in the provider configuration.

!> The stackit_argus_instance resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_instance instead, which offers the exact same functionality.

Example move

Example to move the deprecated stackit_argus_instance resource to the newstackit_observability_instance resource:

  1. Add a new stackit_observability_instance resource with the same values like your previous stackit_argus_instance resource.
  2. Add a moved block which reference the stackit_argus_instance and stackit_observability_instance resource.
  3. Remove your old stackit_argus_instance resource and run $ terraform apply.
resource "stackit_argus_instance" "example" {
  project_id                             = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  name                                   = "example-instance"
  plan_name                              = "Monitoring-Medium-EU01"
  acl                                    = ["1.1.1.1/32", "2.2.2.2/32"]
  metrics_retention_days                 = 7
  metrics_retention_days_5m_downsampling = 30
  metrics_retention_days_1h_downsampling = 365
}

moved {
	from = stackit_argus_instance.example
	to = stackit_observability_instance.example
}

resource "stackit_observability_instance" "example" {
  project_id                             = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  name                                   = "example-instance"
  plan_name                              = "Monitoring-Medium-EU01"
  acl                                    = ["1.1.1.1/32", "2.2.2.2/32"]
  metrics_retention_days                 = 7
  metrics_retention_days_5m_downsampling = 30
  metrics_retention_days_1h_downsampling = 365
}

Example Usage

resource "stackit_argus_instance" "example" {
  project_id                             = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  name                                   = "example-instance"
  plan_name                              = "Monitoring-Medium-EU01"
  acl                                    = ["1.1.1.1/32", "2.2.2.2/32"]
  metrics_retention_days                 = 7
  metrics_retention_days_5m_downsampling = 30
  metrics_retention_days_1h_downsampling = 365
}

Schema

Required

  • name (String) The name of the Argus instance.
  • plan_name (String) Specifies the Argus plan. E.g. Monitoring-Medium-EU01.
  • project_id (String) STACKIT project ID to which the instance is associated.

Optional

  • acl (Set of String) The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.
  • alert_config (Attributes) Alert configuration for the instance. (see below for nested schema)
  • metrics_retention_days (Number) Specifies for how many days the raw metrics are kept.
  • metrics_retention_days_1h_downsampling (Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to 0 (disabled).
  • metrics_retention_days_5m_downsampling (Number) Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to 0 (disabled).
  • parameters (Map of String) Additional parameters.

Read-Only

  • alerting_url (String) Specifies Alerting URL.
  • dashboard_url (String) Specifies Argus instance dashboard URL.
  • grafana_initial_admin_password (String, Sensitive) Specifies an initial Grafana admin password.
  • grafana_initial_admin_user (String) Specifies an initial Grafana admin username.
  • grafana_public_read_access (Boolean) If true, anyone can access Grafana dashboards without logging in.
  • grafana_url (String) Specifies Grafana URL.
  • id (String) Terraform's internal resource ID. It is structured as "project_id,instance_id".
  • instance_id (String) The Argus instance ID.
  • is_updatable (Boolean) Specifies if the instance can be updated.
  • jaeger_traces_url (String)
  • jaeger_ui_url (String)
  • logs_push_url (String) Specifies URL for pushing logs.
  • logs_url (String) Specifies Logs URL.
  • metrics_push_url (String) Specifies URL for pushing metrics.
  • metrics_url (String) Specifies metrics URL.
  • otlp_traces_url (String)
  • plan_id (String) The Argus plan ID.
  • targets_url (String) Specifies Targets URL.
  • zipkin_spans_url (String)

Nested Schema for alert_config

Required:

Optional:

Nested Schema for alert_config.receivers

Required:

  • name (String) Name of the receiver.

Optional:

Nested Schema for alert_config.receivers.email_configs

Optional:

  • auth_identity (String) SMTP authentication information. Must be a valid email address
  • auth_password (String) SMTP authentication password.
  • auth_username (String) SMTP authentication username.
  • from (String) The sender email address. Must be a valid email address
  • smart_host (String) The SMTP host through which emails are sent.
  • to (String) The email address to send notifications to. Must be a valid email address

Nested Schema for alert_config.receivers.opsgenie_configs

Optional:

  • api_key (String) The API key for OpsGenie.
  • api_url (String) The host to send OpsGenie API requests to. Must be a valid URL
  • tags (String) Comma separated list of tags attached to the notifications.

Nested Schema for alert_config.receivers.webhooks_configs

Optional:

  • ms_teams (Boolean) Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.
  • url (String) The endpoint to send HTTP POST requests to. Must be a valid URL

Nested Schema for alert_config.route

Required:

  • receiver (String) The name of the receiver to route the alerts to.

Optional:

  • group_by (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
  • group_interval (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
  • group_wait (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
  • match (Map of String) A set of equality matchers an alert has to fulfill to match the node.
  • match_regex (Map of String) A set of regex-matchers an alert has to fulfill to match the node.
  • repeat_interval (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
  • routes (Attributes List) List of child routes. (see below for nested schema)

Nested Schema for alert_config.route.routes

Required:

  • receiver (String) The name of the receiver to route the alerts to.

Optional:

  • group_by (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
  • group_interval (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
  • group_wait (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
  • match (Map of String) A set of equality matchers an alert has to fulfill to match the node.
  • match_regex (Map of String) A set of regex-matchers an alert has to fulfill to match the node.
  • repeat_interval (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).

Nested Schema for alert_config.global

Optional:

  • opsgenie_api_key (String, Sensitive) The API key for OpsGenie.
  • opsgenie_api_url (String) The host to send OpsGenie API requests to. Must be a valid URL
  • resolve_timeout (String) The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt.
  • smtp_auth_identity (String) SMTP authentication information. Must be a valid email address
  • smtp_auth_password (String, Sensitive) SMTP Auth using LOGIN and PLAIN.
  • smtp_auth_username (String) SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server.
  • smtp_from (String) The default SMTP From header field. Must be a valid email address
  • smtp_smart_host (String) The default SMTP smarthost used for sending emails, including port number in format host:port (eg. smtp.example.com:587). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).